Knowledge Base - grisuno/ReadMenator GitHub Wiki
Generated offline by readmenator. 155 files, 3029 symbols, 1332 imports. Supports C, C++, Python, Go, Rust, JS/TS, Java, C#, Shell, PHP, Dart, GDScript, Nim, ASM, Ruby, Swift, Kotlin, Scala, Lua, Elixir. No LLMs. No tokens. Pure static analysis. See more here
Start here: Statistics Dashboard for scope, God Nodes for blast radius, Architecture Reference for per-file API. Agents: prefer readmenator-agent/INDEX.md + SYMBOLS.md.
Wiki: prefer readmenator-wiki/index.md for progressive disclosure: one synthesis page per community, connections.json with EXTRACTED vs INFERRED confidence, queries.md log, REPORT.md audit.
Confidence: EXTRACTED = parsed from source, INFERRED = heuristic bridge, AMBIGUOUS = reported, never hidden. See readmenator-wiki/REPORT.md.
Total Files Parsed: 155 | Total Symbols Extracted: 3029 | Total Imports: 1332 | Resolved Imports: 611
- Statistics Dashboard
- Architectural Layers
- Architecture Overview
- Execution Flows
- Ranked Context
- God Nodes
- Community Analysis
- Surprising Connections
- Suggested Questions
- Force-Graph Explorer
- Corpus Analytics
- Taint Propagation Map
- Hotspot Analysis
- Change Impact Analysis
- Architecture Violations
- Suggested Linting Rules
- Concept Graph
- Orphans
- Query Recipes
- Structural Knowledge Map
- UML Class Diagram
- Code Property Graph
- Architecture Reference
| Metric | Value |
|---|---|
| Total Files | 155 |
| Total Symbols | 3029 |
| Total Imports | 1332 |
| Call Edges | 22620 |
| Inheritance Edges | 191 |
| Languages | 3 |
| Avg Symbols/File | 19.5 |
| Avg Imports/File | 8.6 |
| Resolved Imports | 611 |
| File | Imports | Symbols | Language |
|---|---|---|---|
_pipeline.py |
45 | 53 | py |
_app.py |
37 | 87 | py |
test_diagrams.py |
34 | 73 | py |
_video.py |
31 | 90 | py |
test_agent_friendliness.py |
27 | 59 | py |
test_agent_output.py |
27 | 45 | py |
test_interactive_graph.py |
26 | 60 | py |
test_parsers_property.py |
26 | 27 | py |
__init__.py |
23 | 2 | py |
test_project_config.py |
22 | 33 | py |
Auto-detected from path patterns, naming conventions, and imported frameworks.
| Layer | Files |
|---|---|
| utility | 84 |
| testing | 55 |
| presentation | 6 |
| infrastructure | 5 |
| business_logic | 3 |
| data_access | 2 |
-
deploy.sh(sh, 1 symbols) -
readmenator.py(py, 0 symbols) -
__init__.py(py, 0 symbols) -
__main__.py(py, 3 symbols) -
_agent_output.py(py, 33 symbols) -
_analytics.py(py, 9 symbols) -
_analyzer.py(py, 23 symbols) -
_apidocs.py(py, 52 symbols) -
_app.py(py, 87 symbols) -
_bundlegraph.py(py, 8 symbols) -
_category.py(py, 26 symbols) -
_concepts.py(py, 8 symbols) -
_cpg.py(py, 6 symbols) -
_cursorrules_generator.py(py, 8 symbols) -
_dead_code.py(py, 5 symbols) - ... and 69 more
-
_agent_injector.py(py, 14 symbols) -
_cache.py(py, 14 symbols) -
_config.py(py, 1 symbols) -
_project_config.py(py, 18 symbols) -
_readme_injector.py(py, 9 symbols)
-
_apidocs_page.py(py, 2 symbols) -
_apidocs_render.py(py, 45 symbols) -
_bundlegraph_page.py(py, 0 symbols) -
_components.py(py, 25 symbols) -
_forcegraph_page.py(py, 0 symbols) -
_viewer_ui.py(py, 7 symbols)
-
_dataflow.py(py, 21 symbols) -
_query.py(py, 17 symbols)
-
_layer_rules.py(py, 4 symbols) -
_models.py(py, 23 symbols) -
_rule_gen.py(py, 9 symbols)
-
__init__.py(py, 0 symbols) -
test_agent_friendliness.py(py, 59 symbols) -
test_agent_injector.py(py, 38 symbols) -
test_agent_output.py(py, 45 symbols) -
test_analyzer.py(py, 14 symbols) -
test_apidocs.py(py, 48 symbols) -
test_bundlegraph.py(py, 27 symbols) -
test_cache.py(py, 22 symbols) -
test_components.py(py, 36 symbols) -
test_concepts.py(py, 8 symbols) -
test_config.py(py, 6 symbols) -
test_cpg.py(py, 11 symbols) -
test_cursorrules.py(py, 12 symbols) -
test_dataflow.py(py, 47 symbols) -
test_dead_code.py(py, 15 symbols) - ... and 40 more
8 components stacked in 7 dependency tiers (weighted Eades-Lin-Smyth ordering: arrows point from dependent to dependency, top to bottom). Labels are import counts, thick arrows the top quartile; 13 transitively implied edges are omitted. Dashed red arrows are upward dependencies: the smallest set of imports that closes every cycle and breaks the layering. Cyan components hold entry points. Interactive version: readmenator-apidocs/index.html#/flows.
Upward dependencies to fix first: readmenator: _diagrams -> readmenator: _video (6 imports); readmenator: _flowcharts -> readmenator: _video (6 imports); readmenator: _video -> readmenator: _graphrag (5 imports); readmenator/parsers -> readmenator: _video (5 imports); readmenator: _video -> readmenator: _agent_output (4 imports); readmenator: _video -> readmenator: _pipeline (3 imports); readmenator: _diagrams -> readmenator: _agent_output (3 imports); readmenator: _graphrag -> readmenator: _pipeline (2 imports); readmenator/parsers -> readmenator: _graphrag (1 imports); readmenator: _diagrams -> readmenator: _graphrag (1 imports)
flowchart TB
classDef cycle fill:#1f1530,stroke:#f472b6,color:#fce7f3,stroke-width:2px;
classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
subgraph lane_0["Tier 1 - entry / orchestration"]
direction LR
n_c4["readmenator: _pipeline<br/>13 files, 213 symbols<br/>Core / utility"]:::cycle
n_d__root_["(root)<br/>2 files, 38 symbols<br/>Core / utility"]:::default
end
subgraph lane_1["Tier 2"]
direction LR
n_c3["readmenator: _graphrag<br/>11 files, 179 symbols<br/>Core / utility"]:::cycle
end
subgraph lane_2["Tier 3"]
direction LR
n_c2["readmenator: _agent_output<br/>11 files, 217 symbols<br/>Core / utility"]:::cycle
end
subgraph lane_3["Tier 4"]
direction LR
n_c0["readmenator: _video<br/>16 files, 339 symbols<br/>Core / utility"]:::entry
end
subgraph lane_4["Tier 5"]
direction LR
n_c6["readmenator: _flowcharts<br/>9 files, 235 symbols<br/>Core / utility"]:::cycle
end
subgraph lane_5["Tier 6"]
direction LR
n_c5["readmenator: _diagrams<br/>10 files, 192 symbols<br/>Core / utility"]:::cycle
end
subgraph lane_6["Tier 7 - foundation"]
direction LR
n_c1["readmenator/parsers<br/>27 files, 108 symbols<br/>Core / utility"]:::cycle
end
n_c0 ==>|"6"| n_c6
n_c2 ==>|"9"| n_c0
n_c3 -->|"5"| n_c2
n_c4 ==>|"8"| n_c3
n_c5 -->|"3"| n_c1
n_c6 -->|"4"| n_c5
n_c2 <-.-|"4 upward"| n_c0
n_c3 <-.-|"5 upward"| n_c0
n_c4 <-.-|"3 upward"| n_c0
n_c0 <-.-|"5 upward"| n_c1
n_c3 <-.-|"1 upward"| n_c1
n_c4 <-.-|"2 upward"| n_c3
n_c0 <-.-|"6 upward"| n_c5
n_c2 <-.-|"3 upward"| n_c5
n_c3 <-.-|"1 upward"| n_c5
n_c0 <-.-|"6 upward"| n_c6
linkStyle 6,7,8,9,10,11,12,13,14,15 stroke:#f87171,stroke-width:2px;
n_c4 ~~~ n_c3
n_c3 ~~~ n_c2
n_c2 ~~~ n_c0
n_c0 ~~~ n_c6
n_c6 ~~~ n_c5
n_c5 ~~~ n_c1
Entry points are scored from __main__ guards, main functions, entry-style names and files, and call-graph sources. Each flow walks resolved calls in call-site order (depth <= 4, <= 40 steps); numbers give the call order, dashed arrows revisit an already expanded callee, red arrows are recursion. Interactive version with zoom and per-node docs: readmenator-apidocs/index.html#/flows.
readmenator/__main__.py:152, score 9: entry-style name main; defined in entry file __main__.py; called from the __main__ guard.
Control flow:
flowchart TB
classDef decision fill:#1e1b4b,stroke:#a78bfa,color:#ede9fe;
classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
classDef muted fill:#111827,stroke:#475569,color:#94a3b8;
n_s1(["start __main__.main"]):::entry
n_s2{"'--test' in sys.argv?"}:::decision
n_s3(["return after _run_tests()"]):::entry
n_s4{{"for (flag, lang) in uml_lang_flags.items()"}}:::decision
n_s5{"flag in sys.argv?"}:::decision
n_s6["break"]:::default
n_s7{"uml_codegen_flag?"}:::decision
n_s8(["return after build_parser(), readmenatorApplication(), ge..."]):::entry
n_s9{"len(sys.argv) #gt; 2 and sys.argv[1] != '--rebuild' and (not..."}:::decision
n_s10["readmenatorApplication()"]:::default
n_s11{"command == 'query'?<br/>and len(sys.argv) #gt;= 4"}:::decision
n_s12(["return after query()"]):::entry
n_s13{"command == 'explain'?<br/>and len(sys.argv) #gt;= 4"}:::decision
n_s14(["return after explain()"]):::entry
n_s15{"command == 'path'?<br/>and len(sys.argv) #gt;= 5"}:::decision
n_s16(["return after find_path()"]):::entry
n_s17{"command in 'summary' / 'sum' / 'info'?"}:::decision
n_s18(["return after summary()"]):::entry
n_s19{"command == 'update'?"}:::decision
n_s20(["return after update()"]):::entry
n_s21{"command == 'export'?"}:::decision
n_s22(["return after export()"]):::entry
n_s23{"command == 'graphml'?"}:::decision
n_s24(["return after export_graphml()"]):::entry
n_s25{"command == 'cypher'?"}:::decision
n_s26(["return after export_cypher()"]):::entry
n_s27{"command == 'obsidian'?"}:::decision
n_s28(["return after export_obsidian()"]):::entry
n_s29{"command == 'wiki'?"}:::decision
n_s30(["return after export_wiki()<br/>Generate the navigable agent wiki for the tar..."]):::entry
n_s31{"command == 'lint-wiki'?"}:::decision
n_s32(["return after lint_wiki()<br/>Check wiki health and log reported issues."]):::entry
n_s33{"command == 'watch'?"}:::decision
n_s34(["return after watch()"]):::entry
n_s35{"command == 'layers'?"}:::decision
n_s36(["return after detect_layers()"]):::entry
n_s37{"command == 'analyze'?"}:::decision
n_s38["analyze()"]:::default
n_s39{{"for q in result.suggested_questions"}}:::decision
n_s40(["return"]):::entry
n_s41{"command == 'audit'?"}:::decision
n_s42(["return after audit()"]):::entry
n_s43{"command == 'audit-deep'?"}:::decision
n_s44(["return after audit_deep()"]):::entry
n_s45{"command == 'export-sarif'?"}:::decision
n_s46(["return after export_sarif()"]):::entry
n_s47{"command == 'export-rules'?"}:::decision
n_s48(["return after export_rules()"]):::entry
n_s49{"command == 'uml'?"}:::decision
n_s50["_scan(), render_mermaid_class_diagram()"]:::default
n_s51{"uml_diagram?"}:::decision
n_s52(["return"]):::entry
n_s53{"command == 'serve'?"}:::decision
n_s54(["return"]):::entry
n_s55{"command == 'lint'?"}:::decision
n_s56(["return after lint()"]):::entry
n_s57{"command == 'strip-dead-code'?"}:::decision
n_s58["strip_dead_code()"]:::default
n_s59{{"for r in reports"}}:::decision
n_s60(["return"]):::entry
n_s61{"command == 'generate-rules'?"}:::decision
n_s62(["return after generate_cursorrules()"]):::entry
n_s63{"command == 'refactor-monolith'?"}:::decision
n_s64["refactor_monolith()"]:::default
n_s65{{"for plan in plans"}}:::decision
n_s66{{"for action in plan.actions"}}:::decision
n_s67(["return"]):::entry
n_s68{"command == 'diagrams'?"}:::decision
n_s69["export_diagrams()<br/>Export all five interactive system maps plus..."]:::default
n_s70{{"for (kind, path) in sorted(written.items())"}}:::decision
n_s71(["return"]):::entry
n_s72{"command == 'diagram'?<br/>and len(sys.argv) #gt;= 4"}:::decision
n_s73(["return after export_diagram()<br/>Export a single interactive system map as sta..."]):::entry
n_s74{"command == 'pages'?"}:::decision
n_s75["export_pages()<br/>Publish all system maps plus a gallery index..."]:::default
n_s76{{"for (kind, path) in sorted(written.items())"}}:::decision
n_s77(["return"]):::entry
n_s78{"command == 'video'?"}:::decision
n_s79["export_video()<br/>Render the cinematic overview video for the t..."]:::default
n_s80{"out?"}:::decision
n_s81(["return"]):::entry
n_s82{"command == 'fresh'?"}:::decision
n_s83["check_freshness()<br/>Compare the MANIFEST source fingerprint again..."]:::default
n_s84{"command == 'gh-wiki'?"}:::decision
n_s85["publish_github_wiki()<br/>Mirror the generated wiki, agent docs, and kn..."]:::default
n_s86{"not result.pushed and (not result.output_dir)?"}:::decision
n_s87(["return"]):::entry
n_s88{"command == 'explorer'?"}:::decision
n_s89(["return after serve_explorer()<br/>Serve the local explorer UI until interrupted."]):::entry
n_s90{"command == 'forcegraph'?"}:::decision
n_s91(["return after export_forcegraph()<br/>Export the force-graph explorer HTML document."]):::entry
n_s92{"command == 'bundles'?"}:::decision
n_s93(["return after export_bundlegraph()<br/>Export the edge bundle explorer HTML document..."]):::entry
n_s94{"command == 'flows'?"}:::decision
n_s95(["return after export_flows()<br/>Write the standalone interactive architecture..."]):::entry
n_s96{"command == 'config'?"}:::decision
n_s97(["return after ensure_project_config(), load_project_config...<br/>Create #96;#96;readmenator.toml#96;#96; from the template..."]):::entry
n_s98{"command == 'apidocs'?"}:::decision
n_s99["export_apidocs()<br/>Generate the API reference tree (Markdown, ap..."]:::default
n_s100{{"for rel in sorted(written)"}}:::decision
n_s101(["return"]):::entry
n_s102{"command == 'doc-coverage'?"}:::decision
n_s103["build_api_reference()<br/>Scan *target_dir* and build its API reference..."]:::default
n_s104{"'--fail-under' in sys.argv?"}:::decision
n_s105[/"try"/]:::default
n_s106{{"for warning in reference.warnings"}}:::decision
n_s107{"command == 'components'?"}:::decision
n_s108["export_components()<br/>Export component diagrams (analysis.json + gr..."]:::default
n_s109{{"for (kind, path) in sorted(written.items())"}}:::decision
n_s110(["return"]):::entry
n_s111{"command == 'analytics'?"}:::decision
n_s112(["return after analytics()<br/>Compute the corpus analytics payload."]):::entry
n_s113{"command == 'near'?<br/>and len(sys.argv) #gt;= 4"}:::decision
n_s114(["return after near()<br/>Find semantically similar files for a query f..."]):::entry
n_s115{"command == 'scan-text'?"}:::decision
n_s116["scan_texts()<br/>Build scan-text blobs for every file in the p..."]:::default
n_s117{{"for file_id in sorted(texts)"}}:::decision
n_s118(["return"]):::entry
n_s119{"command == 'validate-rules'?"}:::decision
n_s120(["return after validate_yaralite()<br/>Validate the project YARA-lite rules file."]):::entry
n_s121{"command == 'graphrag'?"}:::decision
n_s122(["return after build_graphrag()<br/>Scan, analyse, and write the GraphRAG index f..."]):::entry
n_s123{"command == 'ask'?<br/>and len(sys.argv) #gt;= 4"}:::decision
n_s124{"'--budget' in sys.argv?"}:::decision
n_s125{"position + 1 #lt; len(sys.argv) and sys.argv[position + 1].i..."}:::decision
n_s126(["return after graphrag_search()<br/>Answer a question with GraphRAG retrieval ove..."]):::entry
n_s127{"command == 'memory'?"}:::decision
n_s128(["return after memory()<br/>Return MEMORY.md, generating it first when mi..."]):::entry
n_s129{"command == 'remember'?<br/>and len(sys.argv) #gt;= 4"}:::decision
n_s130{"'--kind' in sys.argv?"}:::decision
n_s131{"position + 1 #lt; len(sys.argv)?"}:::decision
n_s132[/"try"/]:::default
n_s133["remember()<br/>Append a note to the preserved MEMORY.md sess..."]:::default
n_s134(["return"]):::entry
n_s135{"command == 'skills'?"}:::decision
n_s136{"'--target' in sys.argv?"}:::decision
n_s137{"position + 1 #lt; len(sys.argv)?"}:::decision
n_s138["install_skills()<br/>Install the packaged agent skills into the pr..."]:::default
n_s139{{"for path in written"}}:::decision
n_s140(["return after available()"]):::entry
n_s141{"command == 'provenance'?"}:::decision
n_s142{{"for item in app.audit_provenance(target)"}}:::decision
n_s143(["return"]):::entry
n_s144{"command == '--rebuild'?"}:::decision
n_s145{"'--no-video' in argset?"}:::decision
n_s146["readmenatorApplication(), Config()<br/>Single source of truth for all readmenator se..."]:::default
n_s147(["return after rebuild()"]):::entry
n_s148{"command.startswith('--')?"}:::decision
n_s149["error()"]:::default
n_s150{"has_export_flags?"}:::decision
n_s151["build_parser(), readmenatorApplication()"]:::default
n_s152{"args.export_all or (args.json and args.html and args.svg)?"}:::decision
n_s153["export()"]:::default
n_s154{"args.json?"}:::decision
n_s155["export_json()"]:::default
n_s156{"args.html?"}:::decision
n_s157["export_html()"]:::default
n_s158{"args.svg?"}:::decision
n_s159["export_svg()"]:::default
n_s160{"args.graphml?"}:::decision
n_s161(["end"]):::entry
n_s162["truncated at FLOW_CFG_MAX_NODES=160"]:::muted
n_s1 --> n_s2
n_s2 -->|"yes"| n_s3
n_s2 -->|"no"| n_s4
n_s4 -->|"each"| n_s5
n_s5 -->|"yes"| n_s6
n_s5 -.->|"no"| n_s4
n_s4 -->|"done"| n_s7
n_s7 -->|"yes"| n_s8
n_s7 -->|"no"| n_s9
n_s9 -->|"yes"| n_s10
n_s10 --> n_s11
n_s11 -->|"yes"| n_s12
n_s11 -->|"no"| n_s13
n_s13 -->|"yes"| n_s14
n_s13 -->|"no"| n_s15
n_s15 -->|"yes"| n_s16
n_s15 -->|"no"| n_s17
n_s17 -->|"yes"| n_s18
n_s17 -->|"no"| n_s19
n_s19 -->|"yes"| n_s20
n_s19 -->|"no"| n_s21
n_s21 -->|"yes"| n_s22
n_s21 -->|"no"| n_s23
n_s23 -->|"yes"| n_s24
n_s23 -->|"no"| n_s25
n_s25 -->|"yes"| n_s26
n_s25 -->|"no"| n_s27
n_s27 -->|"yes"| n_s28
n_s27 -->|"no"| n_s29
n_s29 -->|"yes"| n_s30
n_s29 -->|"no"| n_s31
n_s31 -->|"yes"| n_s32
n_s31 -->|"no"| n_s33
n_s33 -->|"yes"| n_s34
n_s33 -->|"no"| n_s35
n_s35 -->|"yes"| n_s36
n_s35 -->|"no"| n_s37
n_s37 -->|"yes"| n_s38
n_s38 --> n_s39
n_s39 -.->|"each"| n_s39
n_s39 -->|"done"| n_s40
n_s37 -->|"no"| n_s41
n_s41 -->|"yes"| n_s42
n_s41 -->|"no"| n_s43
n_s43 -->|"yes"| n_s44
n_s43 -->|"no"| n_s45
n_s45 -->|"yes"| n_s46
n_s45 -->|"no"| n_s47
n_s47 -->|"yes"| n_s48
n_s47 -->|"no"| n_s49
n_s49 -->|"yes"| n_s50
n_s50 --> n_s51
n_s51 -->|"yes"| n_s52
n_s51 -->|"no"| n_s52
n_s49 -->|"no"| n_s53
n_s53 -->|"yes"| n_s54
n_s53 -->|"no"| n_s55
n_s55 -->|"yes"| n_s56
n_s55 -->|"no"| n_s57
n_s57 -->|"yes"| n_s58
n_s58 --> n_s59
n_s59 -.->|"each"| n_s59
n_s59 -->|"done"| n_s60
n_s57 -->|"no"| n_s61
n_s61 -->|"yes"| n_s62
n_s61 -->|"no"| n_s63
n_s63 -->|"yes"| n_s64
n_s64 --> n_s65
n_s65 -->|"each"| n_s66
n_s66 -.->|"each"| n_s66
n_s66 -.->|"done"| n_s65
n_s65 -->|"done"| n_s67
n_s63 -->|"no"| n_s68
n_s68 -->|"yes"| n_s69
n_s69 --> n_s70
n_s70 -.->|"each"| n_s70
n_s70 -->|"done"| n_s71
n_s68 -->|"no"| n_s72
n_s72 -->|"yes"| n_s73
n_s72 -->|"no"| n_s74
n_s74 -->|"yes"| n_s75
n_s75 --> n_s76
n_s76 -.->|"each"| n_s76
n_s76 -->|"done"| n_s77
n_s74 -->|"no"| n_s78
n_s78 -->|"yes"| n_s79
n_s79 --> n_s80
n_s80 -->|"yes"| n_s81
n_s80 -->|"no"| n_s81
n_s78 -->|"no"| n_s82
n_s82 -->|"yes"| n_s83
n_s82 -->|"no"| n_s84
n_s84 -->|"yes"| n_s85
n_s85 --> n_s86
n_s86 -->|"yes"| n_s87
n_s86 -->|"no"| n_s87
n_s84 -->|"no"| n_s88
n_s88 -->|"yes"| n_s89
n_s88 -->|"no"| n_s90
n_s90 -->|"yes"| n_s91
n_s90 -->|"no"| n_s92
n_s92 -->|"yes"| n_s93
n_s92 -->|"no"| n_s94
n_s94 -->|"yes"| n_s95
n_s94 -->|"no"| n_s96
n_s96 -->|"yes"| n_s97
n_s96 -->|"no"| n_s98
n_s98 -->|"yes"| n_s99
n_s99 --> n_s100
n_s100 -.->|"each"| n_s100
n_s100 -->|"done"| n_s101
n_s98 -->|"no"| n_s102
n_s102 -->|"yes"| n_s103
n_s103 --> n_s104
n_s104 -->|"yes"| n_s105
n_s105 --> n_s106
n_s105 -->|"except (IndexError, ValueError)"| n_s106
n_s104 -->|"no"| n_s106
n_s106 -.->|"each"| n_s106
n_s102 -->|"no"| n_s107
n_s107 -->|"yes"| n_s108
n_s108 --> n_s109
n_s109 -.->|"each"| n_s109
n_s109 -->|"done"| n_s110
n_s107 -->|"no"| n_s111
n_s111 -->|"yes"| n_s112
n_s111 -->|"no"| n_s113
n_s113 -->|"yes"| n_s114
n_s113 -->|"no"| n_s115
n_s115 -->|"yes"| n_s116
n_s116 --> n_s117
n_s117 -.->|"each"| n_s117
n_s117 -->|"done"| n_s118
n_s115 -->|"no"| n_s119
n_s119 -->|"yes"| n_s120
n_s119 -->|"no"| n_s121
n_s121 -->|"yes"| n_s122
n_s121 -->|"no"| n_s123
n_s123 -->|"yes"| n_s124
n_s124 -->|"yes"| n_s125
n_s125 -->|"yes"| n_s126
n_s125 -->|"no"| n_s126
n_s124 -->|"no"| n_s126
n_s123 -->|"no"| n_s127
n_s127 -->|"yes"| n_s128
n_s127 -->|"no"| n_s129
n_s129 -->|"yes"| n_s130
n_s130 -->|"yes"| n_s131
n_s131 -->|"yes"| n_s132
n_s131 -->|"no"| n_s132
n_s130 -->|"no"| n_s132
n_s132 --> n_s133
n_s133 --> n_s134
n_s132 -->|"except ValueError"| n_s134
n_s129 -->|"no"| n_s135
n_s135 -->|"yes"| n_s136
n_s136 -->|"yes"| n_s137
n_s137 -->|"yes"| n_s138
n_s137 -->|"no"| n_s138
n_s136 -->|"no"| n_s138
n_s138 --> n_s139
n_s139 -.->|"each"| n_s139
n_s139 -->|"done"| n_s140
n_s135 -->|"no"| n_s141
n_s141 -->|"yes"| n_s142
n_s142 -.->|"each"| n_s142
n_s142 -->|"done"| n_s143
n_s141 -->|"no"| n_s144
n_s144 -->|"yes"| n_s145
n_s145 -->|"yes"| n_s146
n_s146 --> n_s147
n_s145 -->|"no"| n_s147
n_s144 -->|"no"| n_s148
n_s148 -->|"no"| n_s149
n_s83 --> n_s150
n_s106 -->|"done"| n_s150
n_s148 -->|"yes"| n_s150
n_s149 --> n_s150
n_s9 -->|"no"| n_s150
n_s150 -->|"yes"| n_s151
n_s151 --> n_s152
n_s152 -->|"yes"| n_s153
n_s152 -->|"no"| n_s154
n_s154 -->|"yes"| n_s155
n_s155 --> n_s156
n_s154 -->|"no"| n_s156
n_s156 -->|"yes"| n_s157
n_s157 --> n_s158
n_s156 -->|"no"| n_s158
n_s158 -->|"yes"| n_s159
n_s159 --> n_s160
n_s158 -->|"no"| n_s160
n_s153 --> n_s161
n_s160 -->|"yes"| n_s161
n_s160 -->|"no"| n_s161
n_s150 -->|"no"| n_s161
n_s1 -.-> n_s162
linkStyle 5,39,61,69,70,75,82,109,118,122,131,161,165 stroke:#f87171,stroke-width:2px;
Call tree:
flowchart LR
classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
classDef external fill:#1a1530,stroke:#a78bfa,color:#ede9fe;
n_readmenator___main___py__main["__main__.main<br/>__main__.py:152"]:::entry
n_readmenator___main___py___run_tests["__main__._run_tests<br/>__main__.py:137"]:::default
n_readmenator___main___py__build_parser["__main__.build_parser<br/>__main__.py:18"]:::default
n_readmenator__app_py__readmenatorApplication["_app.readmenatorApplication<br/>_app.py:54"]:::external
n_readmenator__app_py__generate_uml_code["_app.readmenatorApplication.generate_uml_code<br/>_app.py:440"]:::external
n_readmenator__app_py___scan["_app.readmenatorApplication._scan<br/>_app.py:64"]:::external
n_readmenator__app_py___resolve_imports["_app.readmenatorApplication._resolve_imports<br/>_app.py:82"]:::external
n_readmenator__resolver_py__ImportResolver["_resolver.ImportResolver<br/>Resolves raw import strings to project file p...<br/>_resolver.py:18"]:::external
n_readmenator__resolver_py__resolve["_resolver.ImportResolver.resolve<br/>Resolve an import string to a concrete projec...<br/>_resolver.py:110"]:::external
n_readmenator__models_py__Edge["_models.Edge<br/>A directed relationship between two nodes in...<br/>_models.py:58"]:::external
n_readmenator__app_py__query["_app.readmenatorApplication.query<br/>_app.py:641"]:::external
n_readmenator__query_py__QueryEngine["_query.QueryEngine<br/>In-memory query engine over the scanned knowl...<br/>_query.py:25"]:::external
n_readmenator__query_py__query["_query.QueryEngine.query<br/>Free-text search over symbols and file paths.<br/>_query.py:355"]:::external
n_readmenator__app_py__explain["_app.readmenatorApplication.explain<br/>_app.py:646"]:::external
n_readmenator__query_py__explain["_query.QueryEngine.explain<br/>Return a detailed multi-line explanation of *...<br/>_query.py:238"]:::external
n_readmenator__query_py__find_symbol["_query.QueryEngine.find_symbol<br/>Look up *name* by exact match, then by substr...<br/>_query.py:220"]:::external
n_readmenator__query_py___find_incoming_imports["_query.QueryEngine._find_incoming_imports<br/>List all node IDs that import *target*.<br/>_query.py:277"]:::external
n_readmenator__app_py__find_path["_app.readmenatorApplication.find_path<br/>_app.py:658"]:::external
n_readmenator__query_py__find_path["_query.QueryEngine.find_path<br/>Find the shortest import path from *symbol_a*...<br/>_query.py:285"]:::external
n_readmenator__query_py___make_bidirectional["_query.QueryEngine._make_bidirectional<br/>Convert a directed graph to a bidirectional one.<br/>_query.py:315"]:::external
n_readmenator__query_py___bfs_shortest_path["_query.QueryEngine._bfs_shortest_path<br/>Run BFS to find the shortest path from *start...<br/>_query.py:331"]:::external
n_readmenator__app_py__summary["_app.readmenatorApplication.summary<br/>_app.py:671"]:::external
n_readmenator__query_py__summary["_query.QueryEngine.summary<br/>Return a concise overview of the loaded knowl...<br/>_query.py:411"]:::external
n_readmenator__app_py__update["_app.readmenatorApplication.update<br/>_app.py:507"]:::external
n_readmenator__app_py___apply_project_config["_app.readmenatorApplication._apply_project_config<br/>Ensure readmenator.toml exists and adopt it a...<br/>_app.py:101"]:::external
n_readmenator__project_config_py__ensure_project_config["_project_config.ensure_project_config<br/>Create #96;#96;readmenator.toml#96;#96; from the template...<br/>_project_config.py:300"]:::external
n_readmenator__config_py__Config["_config.Config<br/>Single source of truth for all readmenator se...<br/>_config.py:15"]:::external
n_readmenator__project_config_py__config_path["_project_config.config_path<br/>Return the readmenator.toml path for a projec...<br/>_project_config.py:286"]:::external
n_readmenator__project_config_py__template_text["_project_config.template_text<br/>Render the example #96;#96;readmenator.toml#96;#96; conte...<br/>_project_config.py:159"]:::external
n_readmenator__project_config_py__load_project_config["_project_config.load_project_config<br/>Load #96;#96;readmenator.toml#96;#96; over a base Config...<br/>_project_config.py:544"]:::external
n_readmenator__project_config_py__parse_toml["_project_config.parse_toml<br/>Parse TOML text with the stdlib when availabl...<br/>_project_config.py:450"]:::external
n_readmenator___main___py__main -->|"1"| n_readmenator___main___py___run_tests
n_readmenator___main___py__main -->|"2"| n_readmenator___main___py__build_parser
n_readmenator___main___py__main -->|"3"| n_readmenator__app_py__readmenatorApplication
n_readmenator___main___py__main -->|"4"| n_readmenator__app_py__generate_uml_code
n_readmenator__app_py__generate_uml_code -->|"1"| n_readmenator__app_py___scan
n_readmenator__app_py___scan -->|"1"| n_readmenator__app_py___resolve_imports
n_readmenator__app_py___resolve_imports -->|"1"| n_readmenator__resolver_py__ImportResolver
n_readmenator__app_py___resolve_imports -->|"2"| n_readmenator__resolver_py__resolve
n_readmenator__app_py___resolve_imports -->|"3"| n_readmenator__models_py__Edge
n_readmenator___main___py__main -->|"5"| n_readmenator__app_py__query
n_readmenator__app_py__query -.-> n_readmenator__app_py___scan
n_readmenator__app_py__query -->|"1"| n_readmenator__query_py__QueryEngine
n_readmenator__app_py__query -->|"2"| n_readmenator__query_py__query
n_readmenator___main___py__main -->|"6"| n_readmenator__app_py__explain
n_readmenator__app_py__explain -.-> n_readmenator__app_py___scan
n_readmenator__app_py__explain -.-> n_readmenator__query_py__QueryEngine
n_readmenator__app_py__explain -->|"1"| n_readmenator__query_py__explain
n_readmenator__query_py__explain -->|"1"| n_readmenator__query_py__find_symbol
n_readmenator__query_py__explain -->|"2"| n_readmenator__query_py___find_incoming_imports
n_readmenator___main___py__main -->|"7"| n_readmenator__app_py__find_path
n_readmenator__app_py__find_path -.-> n_readmenator__app_py___scan
n_readmenator__app_py__find_path -.-> n_readmenator__query_py__QueryEngine
n_readmenator__app_py__find_path -->|"1"| n_readmenator__query_py__find_path
n_readmenator__query_py__find_path -.-> n_readmenator__query_py__find_symbol
n_readmenator__query_py__find_path -->|"1"| n_readmenator__query_py___make_bidirectional
n_readmenator__query_py__find_path -->|"2"| n_readmenator__query_py___bfs_shortest_path
n_readmenator___main___py__main -->|"8"| n_readmenator__app_py__summary
n_readmenator__app_py__summary -.-> n_readmenator__app_py___scan
n_readmenator__app_py__summary -.-> n_readmenator__query_py__QueryEngine
n_readmenator__app_py__summary -->|"1"| n_readmenator__query_py__summary
n_readmenator___main___py__main -->|"9"| n_readmenator__app_py__update
n_readmenator__app_py__update -->|"1"| n_readmenator__app_py___apply_project_config
n_readmenator__app_py___apply_project_config -->|"1"| n_readmenator__project_config_py__ensure_project_config
n_readmenator__project_config_py__ensure_project_config -->|"1"| n_readmenator__config_py__Config
n_readmenator__project_config_py__ensure_project_config -->|"2"| n_readmenator__project_config_py__config_path
n_readmenator__project_config_py__ensure_project_config -->|"3"| n_readmenator__project_config_py__template_text
n_readmenator__app_py___apply_project_config -->|"2"| n_readmenator__project_config_py__load_project_config
n_readmenator__project_config_py__load_project_config -->|"1"| n_readmenator__config_py__Config
n_readmenator__project_config_py__load_project_config -->|"2"| n_readmenator__project_config_py__config_path
n_readmenator__project_config_py__load_project_config -->|"3"| n_readmenator__project_config_py__parse_toml
Cross-file sequence:
sequenceDiagram
autonumber
participant p_readmenator___main___py as __main__.py
participant p_readmenator__app_py as _app.py
participant p_readmenator__resolver_py as _resolver.py
participant p_readmenator__models_py as _models.py
participant p_readmenator__query_py as _query.py
participant p_readmenator__project_config_py as _project_config.py
participant p_readmenator__config_py as _config.py
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication()
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.generate_uml_code()
p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver()
p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver.resolve()
p_readmenator__app_py->>p_readmenator__models_py: Edge()
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.query()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.query()
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.explain()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.explain()
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.find_path()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.find_path()
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.summary()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.summary()
p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.update()
p_readmenator__app_py->>p_readmenator__project_config_py: ensure_project_config()
p_readmenator__project_config_py->>p_readmenator__config_py: Config()
p_readmenator__app_py->>p_readmenator__project_config_py: load_project_config()
p_readmenator__project_config_py->>p_readmenator__config_py: Config()
readmenator/_mcp_server.py:1090, score 8: if __name__ == "__main__" guard.
Call tree:
flowchart LR
classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
classDef external fill:#1a1530,stroke:#a78bfa,color:#ede9fe;
n_readmenator__mcp_server_py___main_["_mcp_server (__main__)<br/>_mcp_server.py"]:::entry
n_readmenator__mcp_server_py__main["_mcp_server.main<br/>CLI entry point for #96;readmenator serve #lt;path#gt;#96;.<br/>_mcp_server.py:1074"]:::default
n_readmenator__config_py__Config["_config.Config<br/>Single source of truth for all readmenator se...<br/>_config.py:15"]:::external
n_readmenator__app_py__readmenatorApplication["_app.readmenatorApplication<br/>_app.py:54"]:::external
n_readmenator__app_py__run["_app.readmenatorApplication.run<br/>_app.py:150"]:::external
n_readmenator__app_py___apply_project_config["_app.readmenatorApplication._apply_project_config<br/>Ensure readmenator.toml exists and adopt it a...<br/>_app.py:101"]:::external
n_readmenator__project_config_py__ensure_project_config["_project_config.ensure_project_config<br/>Create #96;#96;readmenator.toml#96;#96; from the template...<br/>_project_config.py:300"]:::external
n_readmenator__project_config_py__load_project_config["_project_config.load_project_config<br/>Load #96;#96;readmenator.toml#96;#96; over a base Config...<br/>_project_config.py:544"]:::external
n_readmenator__pipeline_py__AnalyzerFactory["_pipeline.AnalyzerFactory<br/>Lazy factory for all readmenator analyzer and...<br/>_pipeline.py:67"]:::external
n_readmenator__pipeline_py__DeepAnalysisRunner["_pipeline.DeepAnalysisRunner<br/>Orchestrates the extended V2 analysis pipeline.<br/>_pipeline.py:484"]:::external
n_readmenator__app_py___resolve_imports["_app.readmenatorApplication._resolve_imports<br/>_app.py:82"]:::external
n_readmenator__resolver_py__ImportResolver["_resolver.ImportResolver<br/>Resolves raw import strings to project file p...<br/>_resolver.py:18"]:::external
n_readmenator__resolver_py__resolve["_resolver.ImportResolver.resolve<br/>Resolve an import string to a concrete projec...<br/>_resolver.py:110"]:::external
n_readmenator__models_py__Edge["_models.Edge<br/>A directed relationship between two nodes in...<br/>_models.py:58"]:::external
n_readmenator__layers_py__LayerDetector["_layers.LayerDetector<br/>Detects architectural layers in a codebase.<br/>_layers.py:17"]:::external
n_readmenator__layers_py__detect["_layers.LayerDetector.detect<br/>Assign each file node to an architectural layer.<br/>_layers.py:83"]:::external
n_readmenator__layers_py___classify_file["_layers.LayerDetector._classify_file<br/>Classify a single file into an architectural...<br/>_layers.py:138"]:::external
n_readmenator__layers_py__layer_summary["_layers.LayerDetector.layer_summary<br/>Count files per layer.<br/>_layers.py:189"]:::external
n_readmenator__pipeline_py__run["_pipeline.DeepAnalysisRunner.run<br/>_pipeline.py:496"]:::external
n_readmenator__models_py__AnalysisResultV2["_models.AnalysisResultV2<br/>Extended analysis result combining all new an...<br/>_models.py:284"]:::external
n_readmenator__pipeline_py__build_typed_graph["_pipeline.AnalyzerFactory.build_typed_graph<br/>_pipeline.py:449"]:::external
n_readmenator__category_py__build_category_from_edges["_category.build_category_from_edges<br/>Build a Category from lists of Edge objects.<br/>_category.py:236"]:::external
n_readmenator__category_py__TypedGraph["_category.TypedGraph<br/>Weighted directed graph for PageRank computat...<br/>_category.py:181"]:::external
n_readmenator__pipeline_py__make_ranker["_pipeline.AnalyzerFactory.make_ranker<br/>Create a CompositeRanker for the given typed...<br/>_pipeline.py:459"]:::external
n_readmenator__rank_py__RankConfig["_rank.RankConfig<br/>Tuneable parameters for the ranking system.<br/>_rank.py:32"]:::external
n_readmenator__rank_py__CompositeRanker["_rank.CompositeRanker<br/>Combines PPR, authority, test/doc coverage, a...<br/>_rank.py:411"]:::external
n_readmenator__query_py__QueryEngine["_query.QueryEngine<br/>In-memory query engine over the scanned knowl...<br/>_query.py:25"]:::external
n_readmenator__query_py__ranked_query["_query.QueryEngine.ranked_query<br/>Answer *query* with a ranked list of relevant...<br/>_query.py:73"]:::external
n_readmenator__query_py___init_default_ranker["_query.QueryEngine._init_default_ranker<br/>Build a default CompositeRanker from the load...<br/>_query.py:64"]:::external
n_readmenator__rank_py__build_seeds_from_query["_rank.build_seeds_from_query<br/>Build a PPR seed vector from a natural-langua...<br/>_rank.py:274"]:::external
n_readmenator__query_py___estimate_test_coverage["_query.QueryEngine._estimate_test_coverage<br/>Estimate test coverage per file.<br/>_query.py:124"]:::external
n_readmenator__query_py___estimate_doc_coverage["_query.QueryEngine._estimate_doc_coverage<br/>Estimate documentation coverage per file.<br/>_query.py:150"]:::external
n_readmenator__rank_py__rank["_rank.CompositeRanker.rank<br/>Compute composite ranking for a query.<br/>_rank.py:438"]:::external
n_readmenator__cache_py__FileCache["_cache.FileCache<br/>SHA256-based cache for incremental file scann...<br/>_cache.py:20"]:::external
n_readmenator__cache_py__compute_hashes["_cache.FileCache.compute_hashes<br/>_cache.py:64"]:::external
n_readmenator__cache_py__compute_hash["_cache.FileCache.compute_hash<br/>_cache.py:55"]:::external
n_readmenator__cache_py__save["_cache.FileCache.save<br/>_cache.py:49"]:::external
n_readmenator__cache_py__save_analysis["_cache.FileCache.save_analysis<br/>Save an analysis result to the semantic cache.<br/>_cache.py:95"]:::external
n_readmenator__app_py___write_sidecar_outputs["_app.readmenatorApplication._write_sidecar_outputs<br/>_app.py:383"]:::external
n_readmenator__app_py___maybe_write_memory["_app.readmenatorApplication._maybe_write_memory<br/>Regenerate MEMORY.md (preserving the session...<br/>_app.py:1796"]:::external
n_readmenator__mcp_server_py___main_ -->|"1"| n_readmenator__mcp_server_py__main
n_readmenator__mcp_server_py__main -->|"1"| n_readmenator__config_py__Config
n_readmenator__mcp_server_py__main -->|"2"| n_readmenator__app_py__readmenatorApplication
n_readmenator__mcp_server_py__main -->|"3"| n_readmenator__app_py__run
n_readmenator__app_py__run -->|"1"| n_readmenator__app_py___apply_project_config
n_readmenator__app_py___apply_project_config -->|"1"| n_readmenator__project_config_py__ensure_project_config
n_readmenator__app_py___apply_project_config -->|"2"| n_readmenator__project_config_py__load_project_config
n_readmenator__app_py___apply_project_config -->|"3"| n_readmenator__pipeline_py__AnalyzerFactory
n_readmenator__app_py___apply_project_config -->|"4"| n_readmenator__pipeline_py__DeepAnalysisRunner
n_readmenator__app_py__run -->|"2"| n_readmenator__app_py___resolve_imports
n_readmenator__app_py___resolve_imports -->|"1"| n_readmenator__resolver_py__ImportResolver
n_readmenator__app_py___resolve_imports -->|"2"| n_readmenator__resolver_py__resolve
n_readmenator__app_py___resolve_imports -->|"3"| n_readmenator__models_py__Edge
n_readmenator__app_py__run -->|"3"| n_readmenator__layers_py__LayerDetector
n_readmenator__app_py__run -->|"4"| n_readmenator__layers_py__detect
n_readmenator__layers_py__detect -->|"1"| n_readmenator__layers_py___classify_file
n_readmenator__app_py__run -->|"5"| n_readmenator__layers_py__layer_summary
n_readmenator__app_py__run -->|"6"| n_readmenator__pipeline_py__run
n_readmenator__pipeline_py__run -->|"1"| n_readmenator__models_py__AnalysisResultV2
n_readmenator__app_py__run -->|"7"| n_readmenator__pipeline_py__build_typed_graph
n_readmenator__pipeline_py__build_typed_graph -->|"1"| n_readmenator__category_py__build_category_from_edges
n_readmenator__pipeline_py__build_typed_graph -->|"2"| n_readmenator__category_py__TypedGraph
n_readmenator__app_py__run -->|"8"| n_readmenator__pipeline_py__make_ranker
n_readmenator__pipeline_py__make_ranker -->|"1"| n_readmenator__rank_py__RankConfig
n_readmenator__pipeline_py__make_ranker -->|"2"| n_readmenator__rank_py__CompositeRanker
n_readmenator__app_py__run -->|"9"| n_readmenator__query_py__QueryEngine
n_readmenator__app_py__run -->|"10"| n_readmenator__query_py__ranked_query
n_readmenator__query_py__ranked_query -->|"1"| n_readmenator__query_py___init_default_ranker
n_readmenator__query_py__ranked_query -->|"2"| n_readmenator__rank_py__build_seeds_from_query
n_readmenator__query_py__ranked_query -->|"3"| n_readmenator__category_py__build_category_from_edges
n_readmenator__query_py__ranked_query -->|"4"| n_readmenator__query_py___estimate_test_coverage
n_readmenator__query_py__ranked_query -->|"5"| n_readmenator__query_py___estimate_doc_coverage
n_readmenator__query_py__ranked_query -->|"6"| n_readmenator__rank_py__rank
n_readmenator__app_py__run -->|"11"| n_readmenator__cache_py__FileCache
n_readmenator__app_py__run -->|"12"| n_readmenator__cache_py__compute_hashes
n_readmenator__cache_py__compute_hashes -->|"1"| n_readmenator__cache_py__compute_hash
n_readmenator__app_py__run -->|"13"| n_readmenator__cache_py__save
n_readmenator__app_py__run -->|"14"| n_readmenator__cache_py__save_analysis
n_readmenator__app_py__run -->|"15"| n_readmenator__app_py___write_sidecar_outputs
n_readmenator__app_py__run -->|"16"| n_readmenator__app_py___maybe_write_memory
Cross-file sequence:
sequenceDiagram
autonumber
participant p_readmenator__mcp_server_py as _mcp_server.py
participant p_readmenator__config_py as _config.py
participant p_readmenator__app_py as _app.py
participant p_readmenator__project_config_py as _project_config.py
participant p_readmenator__pipeline_py as _pipeline.py
participant p_readmenator__resolver_py as _resolver.py
participant p_readmenator__models_py as _models.py
participant p_readmenator__layers_py as _layers.py
participant p_readmenator__category_py as _category.py
participant p_readmenator__rank_py as _rank.py
participant p_readmenator__query_py as _query.py
participant p_readmenator__cache_py as _cache.py
p_readmenator__mcp_server_py->>p_readmenator__config_py: Config()
p_readmenator__mcp_server_py->>p_readmenator__app_py: readmenatorApplication()
p_readmenator__mcp_server_py->>p_readmenator__app_py: readmenatorApplication.run()
p_readmenator__app_py->>p_readmenator__project_config_py: ensure_project_config()
p_readmenator__app_py->>p_readmenator__project_config_py: load_project_config()
p_readmenator__app_py->>p_readmenator__pipeline_py: AnalyzerFactory()
p_readmenator__app_py->>p_readmenator__pipeline_py: DeepAnalysisRunner()
p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver()
p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver.resolve()
p_readmenator__app_py->>p_readmenator__models_py: Edge()
p_readmenator__app_py->>p_readmenator__layers_py: LayerDetector()
p_readmenator__app_py->>p_readmenator__layers_py: LayerDetector.detect()
p_readmenator__app_py->>p_readmenator__layers_py: LayerDetector.layer_summary()
p_readmenator__app_py->>p_readmenator__pipeline_py: DeepAnalysisRunner.run()
p_readmenator__pipeline_py->>p_readmenator__models_py: AnalysisResultV2()
p_readmenator__app_py->>p_readmenator__pipeline_py: AnalyzerFactory.build_typed_graph()
p_readmenator__pipeline_py->>p_readmenator__category_py: build_category_from_edges()
p_readmenator__pipeline_py->>p_readmenator__category_py: TypedGraph()
p_readmenator__app_py->>p_readmenator__pipeline_py: AnalyzerFactory.make_ranker()
p_readmenator__pipeline_py->>p_readmenator__rank_py: RankConfig()
p_readmenator__pipeline_py->>p_readmenator__rank_py: CompositeRanker()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine()
p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.ranked_query()
p_readmenator__query_py->>p_readmenator__rank_py: build_seeds_from_query()
p_readmenator__query_py->>p_readmenator__category_py: build_category_from_edges()
p_readmenator__query_py->>p_readmenator__rank_py: CompositeRanker.rank()
p_readmenator__app_py->>p_readmenator__cache_py: FileCache()
p_readmenator__app_py->>p_readmenator__cache_py: FileCache.compute_hashes()
p_readmenator__app_py->>p_readmenator__cache_py: FileCache.save()
p_readmenator__app_py->>p_readmenator__cache_py: FileCache.save_analysis()
readmenator_orchestrator.py:516, score 8: if __name__ == "__main__" guard.
Call tree:
flowchart LR
classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
n_readmenator_orchestrator_py___main_["readmenator_orchestrator (__main__)<br/>readmenator_orchestrator.py"]:::entry
n_readmenator_orchestrator_py__main["readmenator_orchestrator.main<br/>readmenator_orchestrator.py:498"]:::default
n_readmenator_orchestrator_py__parse_arguments["readmenator_orchestrator.parse_arguments<br/>readmenator_orchestrator.py:481"]:::default
n_readmenator_orchestrator_py__Config["readmenator_orchestrator.Config<br/>readmenator_orchestrator.py:21"]:::default
n_readmenator_orchestrator_py__Orchestrator["readmenator_orchestrator.Orchestrator<br/>readmenator_orchestrator.py:366"]:::default
n_readmenator_orchestrator_py__run["readmenator_orchestrator.Orchestrator.run<br/>readmenator_orchestrator.py:372"]:::default
n_readmenator_orchestrator_py__list_repos["readmenator_orchestrator.GitHubClient.list_repos<br/>readmenator_orchestrator.py:124"]:::default
n_readmenator_orchestrator_py___safe_env["readmenator_orchestrator._safe_env<br/>readmenator_orchestrator.py:68"]:::default
n_readmenator_orchestrator_py__close_existing_prs["readmenator_orchestrator.GitHubClient.close_existing_prs<br/>readmenator_orchestrator.py:136"]:::default
n_readmenator_orchestrator_py___validate_repo_name["readmenator_orchestrator._validate_repo_name<br/>readmenator_orchestrator.py:56"]:::default
n_readmenator_orchestrator_py___validate_branch_name["readmenator_orchestrator._validate_branch_name<br/>readmenator_orchestrator.py:62"]:::default
n_readmenator_orchestrator_py__delete_remote_branch["readmenator_orchestrator.GitHubClient.delete_remote_branch<br/>readmenator_orchestrator.py:164"]:::default
n_readmenator_orchestrator_py__process["readmenator_orchestrator.RepositoryProcessor.process<br/>readmenator_orchestrator.py:202"]:::default
n_readmenator_orchestrator_py___get_default_branch["readmenator_orchestrator.RepositoryProcessor._get_default...<br/>readmenator_orchestrator.py:231"]:::default
n_readmenator_orchestrator_py___clone_repository["readmenator_orchestrator.RepositoryProcessor._clone_repos...<br/>readmenator_orchestrator.py:247"]:::default
n_readmenator_orchestrator_py___run_readmenator["readmenator_orchestrator.RepositoryProcessor._run_readmen...<br/>readmenator_orchestrator.py:263"]:::default
n_readmenator_orchestrator_py___copy_to_docs_dir["readmenator_orchestrator.RepositoryProcessor._copy_to_doc...<br/>readmenator_orchestrator.py:293"]:::default
n_readmenator_orchestrator_py___commit_and_push["readmenator_orchestrator.RepositoryProcessor._commit_and_...<br/>readmenator_orchestrator.py:313"]:::default
n_readmenator_orchestrator_py___cleanup_temp_dir["readmenator_orchestrator.RepositoryProcessor._cleanup_tem...<br/>readmenator_orchestrator.py:361"]:::default
n_readmenator_orchestrator_py___main_ -->|"1"| n_readmenator_orchestrator_py__main
n_readmenator_orchestrator_py__main -->|"1"| n_readmenator_orchestrator_py__parse_arguments
n_readmenator_orchestrator_py__main -->|"2"| n_readmenator_orchestrator_py__Config
n_readmenator_orchestrator_py__main -->|"3"| n_readmenator_orchestrator_py__Orchestrator
n_readmenator_orchestrator_py__main -->|"4"| n_readmenator_orchestrator_py__run
n_readmenator_orchestrator_py__run -->|"1"| n_readmenator_orchestrator_py__list_repos
n_readmenator_orchestrator_py__list_repos -->|"1"| n_readmenator_orchestrator_py___safe_env
n_readmenator_orchestrator_py__run -->|"2"| n_readmenator_orchestrator_py__close_existing_prs
n_readmenator_orchestrator_py__close_existing_prs -->|"1"| n_readmenator_orchestrator_py___validate_repo_name
n_readmenator_orchestrator_py__close_existing_prs -->|"2"| n_readmenator_orchestrator_py___validate_branch_name
n_readmenator_orchestrator_py__close_existing_prs -->|"3"| n_readmenator_orchestrator_py___safe_env
n_readmenator_orchestrator_py__run -->|"3"| n_readmenator_orchestrator_py__delete_remote_branch
n_readmenator_orchestrator_py__delete_remote_branch -->|"1"| n_readmenator_orchestrator_py___validate_repo_name
n_readmenator_orchestrator_py__delete_remote_branch -->|"2"| n_readmenator_orchestrator_py___validate_branch_name
n_readmenator_orchestrator_py__delete_remote_branch -->|"3"| n_readmenator_orchestrator_py___safe_env
n_readmenator_orchestrator_py__run -->|"4"| n_readmenator_orchestrator_py__process
n_readmenator_orchestrator_py__process -->|"1"| n_readmenator_orchestrator_py___validate_repo_name
n_readmenator_orchestrator_py__process -->|"2"| n_readmenator_orchestrator_py___get_default_branch
n_readmenator_orchestrator_py__process -->|"3"| n_readmenator_orchestrator_py___clone_repository
n_readmenator_orchestrator_py__process -->|"4"| n_readmenator_orchestrator_py___run_readmenator
n_readmenator_orchestrator_py__process -->|"5"| n_readmenator_orchestrator_py___copy_to_docs_dir
n_readmenator_orchestrator_py__process -->|"6"| n_readmenator_orchestrator_py___commit_and_push
n_readmenator_orchestrator_py__process -->|"7"| n_readmenator_orchestrator_py___cleanup_temp_dir
Files ranked by composite score for the current query context. The ranking combines Personalized PageRank (query relevance), global authority, test coverage, documentation coverage, and code freshness. Model: v1.0.
| Rank | File | Composite | PPR | Authority | Test | Doc |
|---|---|---|---|---|---|---|
| 1 | _config.py |
0.2817 | 0.1193 | 0.1399 | 0.00 | 2.00 |
| 2 | deploy.sh |
0.2000 | 0.0000 | 0.0000 | 0.00 | 2.00 |
| 3 | _models.py |
0.1883 | 0.1271 | 0.1339 | 0.00 | 1.04 |
| 4 | _apidocs_page.py |
0.1520 | 0.0026 | 0.0039 | 0.00 | 1.50 |
| 5 | _flowpage.py |
0.1361 | 0.0039 | 0.0049 | 0.00 | 1.33 |
| 6 | _c.py |
0.1340 | 0.0000 | 0.0032 | 0.00 | 1.33 |
| 7 | _category.py |
0.1332 | 0.1270 | 0.1301 | 0.00 | 0.50 |
| 8 | _gitmeta.py |
0.1286 | 0.0056 | 0.0056 | 0.00 | 1.25 |
| 9 | _mermaid.py |
0.1273 | 0.0032 | 0.0043 | 0.00 | 1.25 |
| 10 | _scantext.py |
0.1256 | 0.0000 | 0.0030 | 0.00 | 1.25 |
Query anchors: readmenator/_flowcharts.py, tests/test_ranking.py, tests/test_agent_friendliness.py, readmenator/_linter.py, readmenator/_agent_output.py, tests/test_documentation.py, tests/test_linter.py, tests/test_rule_gen.py (+6 more)
Top result justification paths:
_flowcharts.py -> _apidocs.py -> _config.py
_flowcharts.py -> _apidocs.py -> _symindex.py -> _config.py
Most architecturally central files ranked by combined import/export degree and symbol richness.
| File | Score | Connections | PageRank |
|---|---|---|---|
_models.py |
206.3 | 0.1339 | |
_config.py |
200.1 | 0.1399 | |
_pipeline.py |
93.3 | 0.0000 | |
_app.py |
92.7 | 0.0000 | |
__init__.py |
48.2 | 0.0000 | |
_base.py |
44.6 | 0.0000 | |
_forcegraph.py |
44.3 | 0.0000 | |
test_parsers_property.py |
42.7 | 0.0000 | |
_diagrams.py |
39.7 | 0.0000 | |
test_interactive_graph.py |
34.0 | 0.0000 |
Files grouped by import-based community detection. Cohesion measures how tightly connected each community is internally.
35 files in this community:
-
readmenator.py(py, 0 symbols) -
__main__.py(py, 3 symbols) -
_app.py(py, 87 symbols) -
_config.py(py, 1 symbols) -
_cursorrules_generator.py(py, 8 symbols) -
_dataflow.py(py, 21 symbols) -
_dead_code.py(py, 5 symbols) -
_hotspots.py(py, 7 symbols) -
_layer_rules.py(py, 4 symbols) -
_layers.py(py, 7 symbols) -
_linter.py(py, 8 symbols) -
_mcp_server.py(py, 64 symbols) -
_refactorizer.py(py, 9 symbols) -
_video.py(py, 90 symbols) -
_watcher.py(py, 5 symbols) -
_yaralite.py(py, 20 symbols) -
test_config.py(py, 6 symbols) -
test_cpg.py(py, 11 symbols) -
test_cursorrules.py(py, 12 symbols) -
test_dataflow.py(py, 47 symbols) - ... and 15 more files
35 files in this community:
-
_mermaid.py(py, 4 symbols) -
_models.py(py, 23 symbols) -
_rule_gen.py(py, 9 symbols) -
_sarif.py(py, 5 symbols) -
_scanner.py(py, 14 symbols) -
_taint.py(py, 6 symbols) -
__init__.py(py, 2 symbols) -
_assembly.py(py, 2 symbols) -
_base.py(py, 6 symbols) -
_c.py(py, 3 symbols) -
_csharp.py(py, 2 symbols) -
_dart.py(py, 2 symbols) -
_elixir.py(py, 2 symbols) -
_gdscript.py(py, 2 symbols) -
_go.py(py, 2 symbols) -
_java.py(py, 2 symbols) -
_javascript.py(py, 2 symbols) -
_kotlin.py(py, 2 symbols) -
_lua.py(py, 2 symbols) -
_nim.py(py, 2 symbols) - ... and 15 more files
19 files in this community:
-
_agent_output.py(py, 33 symbols) -
_analyzer.py(py, 23 symbols) -
_cache.py(py, 14 symbols) -
_folder_readme.py(py, 7 symbols) -
_gh_wiki.py(py, 18 symbols) -
_gitmeta.py(py, 4 symbols) -
_memory.py(py, 30 symbols) -
_purpose.py(py, 7 symbols) -
_resolver.py(py, 17 symbols) -
_security.py(py, 32 symbols) -
_wiki.py(py, 32 symbols) -
test_agent_friendliness.py(py, 59 symbols) -
test_analyzer.py(py, 14 symbols) -
test_cache.py(py, 22 symbols) -
test_folder_readme.py(py, 20 symbols) -
test_gh_wiki.py(py, 17 symbols) -
test_resolver.py(py, 22 symbols) -
test_security.py(py, 68 symbols) -
test_wiki.py(py, 30 symbols)
18 files in this community:
-
__init__.py(py, 0 symbols) -
_category.py(py, 26 symbols) -
_components.py(py, 25 symbols) -
_concepts.py(py, 8 symbols) -
_explain.py(py, 3 symbols) -
_graphrag.py(py, 53 symbols) -
_ollama.py(py, 7 symbols) -
_projections.py(py, 15 symbols) -
_query.py(py, 17 symbols) -
_rank.py(py, 18 symbols) -
_skill_installer.py(py, 7 symbols) -
test_components.py(py, 36 symbols) -
test_concepts.py(py, 8 symbols) -
test_graphrag.py(py, 28 symbols) -
test_memory.py(py, 17 symbols) -
test_ollama.py(py, 4 symbols) -
test_query.py(py, 18 symbols) -
test_ranking.py(py, 72 symbols)
17 files in this community:
-
_agent_injector.py(py, 14 symbols) -
_analytics.py(py, 9 symbols) -
_cpg.py(py, 6 symbols) -
_documentation.py(py, 31 symbols) -
_embed.py(py, 11 symbols) -
_exclusions.py(py, 11 symbols) -
_explorer.py(py, 14 symbols) -
_exporter.py(py, 16 symbols) -
_pipeline.py(py, 53 symbols) -
_provenance.py(py, 10 symbols) -
_readme_injector.py(py, 9 symbols) -
_scantext.py(py, 4 symbols) -
_uml.py(py, 25 symbols) -
test_agent_injector.py(py, 38 symbols) -
test_agent_output.py(py, 45 symbols) -
test_interactive_graph.py(py, 60 symbols) -
test_readme_injector.py(py, 28 symbols)
15 files in this community:
-
_bundlegraph.py(py, 8 symbols) -
_bundlegraph_page.py(py, 0 symbols) -
_diagrams.py(py, 97 symbols) -
_forcegraph.py(py, 23 symbols) -
_forcegraph_page.py(py, 0 symbols) -
_graphlayout.py(py, 26 symbols) -
_htmlpack.py(py, 5 symbols) -
_project_config.py(py, 18 symbols) -
_sourceview.py(py, 8 symbols) -
_viewer_ui.py(py, 7 symbols) -
test_bundlegraph.py(py, 27 symbols) -
test_graphlayout.py(py, 33 symbols) -
test_layout_quality.py(py, 16 symbols) -
test_project_config.py(py, 33 symbols) -
test_sourceview.py(py, 23 symbols)
12 files in this community:
-
_apidocs.py(py, 52 symbols) -
_apidocs_page.py(py, 2 symbols) -
_apidocs_render.py(py, 45 symbols) -
_docstrings.py(py, 30 symbols) -
_flowcharts.py(py, 54 symbols) -
_flowlayout.py(py, 11 symbols) -
_flowpage.py(py, 3 symbols) -
_pytypes.py(py, 16 symbols) -
_symindex.py(py, 22 symbols) -
test_apidocs.py(py, 48 symbols) -
test_flowcharts.py(py, 35 symbols) -
test_symindex.py(py, 10 symbols)
Files in different communities connected through 3+ indirect hops.
-
_docstrings.py<->test_graphlayout.py(5 hops, across 3 communities) -
readmenator.py<->test_agent_injector.py(5 hops, across 2 communities) -
readmenator.py<->test_graphlayout.py(5 hops, across 2 communities) -
readmenator.py<->test_readme_injector.py(5 hops, across 3 communities) -
test_agent_injector.py<->test_graphlayout.py(5 hops, across 2 communities)
Auto-generated exploration prompts based on graph structure:
- What does _models.py depend on, and what depends on it? (102 connections)
- What does _config.py depend on, and what depends on it? (100 connections)
- What does _pipeline.py depend on, and what depends on it? (44 connections)
- How are the 35 files in 'readmenator: _video' related to each other?
- Why are _docstrings.py and test_graphlayout.py connected through 5 hops across 3 communities?
Heterogeneous explorer payload (files, communities, layers, externals) rendered with force-graph physics, stable family colors, log2 node sizing, and convex-hull community overlays. Open readmenator-maps/graph-force.html (linked from the maps gallery) or run explorer.
- Nodes: 217 (community: 7, external: 49, file: 155, layer: 6)
- Edges: 1638
Attribution funnel and distributions for the explorer dashboard.
-
Files: 155 | With symbols: 150 | Attributed: 151 | God nodes: 10 | Symbols: 3029
-
Layer
utility: 84 files -
Layer
testing: 55 files -
Layer
presentation: 6 files -
Layer
infrastructure: 5 files -
Layer
business_logic: 3 files -
Layer
data_access: 2 files -
Language
py: 153 files -
Language
js: 1 files -
Language
sh: 1 files
Taint analysis traces how dangerous imports propagate through the codebase via transitive dependencies. Source files import dangerous modules directly; sink files receive the danger indirectly.
Taint Sources: 3 | Taint Sinks: 26 | Propagation Paths: 20
-
_agent_injector.pyimportssubprocess(0 hop to_agent_injector.py) [high] Path: _agent_injector.py -
_diagrams.pyimportssubprocess(0 hop to_diagrams.py) [high] Path: _diagrams.py -
_diagrams.pyimportssubprocess(1 hop to_models.py) [high] Path: _diagrams.py -> _models.py -
_diagrams.pyimportssubprocess(1 hop to_htmlpack.py) [high] Path: _diagrams.py -> _htmlpack.py -
_diagrams.pyimportssubprocess(1 hop to_viewer_ui.py) [high] Path: _diagrams.py -> _viewer_ui.py -
_diagrams.pyimportssubprocess(1 hop to_folder_readme.py) [high] Path: _diagrams.py -> _folder_readme.py -
_diagrams.pyimportssubprocess(1 hop to_config.py) [high] Path: _diagrams.py -> _config.py -
_diagrams.pyimportssubprocess(1 hop to_project_config.py) [high] Path: _diagrams.py -> _project_config.py -
_diagrams.pyimportssubprocess(2 hops to_category.py) [high] Path: _diagrams.py -> _models.py -> _category.py -
_documentation.pyimportssubprocess(0 hop to_documentation.py) [high] Path: _documentation.py -
_documentation.pyimportssubprocess(1 hop to_models.py) [high] Path: _documentation.py -> _models.py -
_documentation.pyimportssubprocess(1 hop to_flowcharts.py) [high] Path: _documentation.py -> _flowcharts.py -
_documentation.pyimportssubprocess(1 hop to_forcegraph.py) [high] Path: _documentation.py -> _forcegraph.py -
_documentation.pyimportssubprocess(1 hop to_cpg.py) [high] Path: _documentation.py -> _cpg.py -
_documentation.pyimportssubprocess(1 hop to_uml.py) [high] Path: _documentation.py -> _uml.py -
_documentation.pyimportssubprocess(1 hop to_mermaid.py) [high] Path: _documentation.py -> _mermaid.py -
_documentation.pyimportssubprocess(1 hop to_analytics.py) [high] Path: _documentation.py -> _analytics.py -
_documentation.pyimportssubprocess(1 hop to_rank.py) [high] Path: _documentation.py -> _rank.py -
_documentation.pyimportssubprocess(1 hop to_config.py) [high] Path: _documentation.py -> _config.py -
_documentation.pyimportssubprocess(2 hops to_category.py) [high] Path: _documentation.py -> _models.py -> _category.py
Files ranked by combined complexity (symbol count) and centrality (connection count). High-scoring files are architecturally critical and may need refactoring attention.
| File | Complexity | Centrality | Combined | Symbols | Connections |
|---|---|---|---|---|---|
_config.py |
0.010 | 0.061 | 0.041 | 1 | 105 |
deploy.sh |
0.010 | 0.000 | 0.004 | 1 | 0 |
_models.py |
0.237 | 0.069 | 0.136 | 23 | 119 |
_apidocs_page.py |
0.021 | 0.010 | 0.015 | 2 | 18 |
_flowpage.py |
0.031 | 0.012 | 0.020 | 3 | 21 |
_c.py |
0.031 | 0.005 | 0.015 | 3 | 8 |
_category.py |
0.268 | 0.007 | 0.112 | 26 | 13 |
_gitmeta.py |
0.041 | 0.005 | 0.019 | 4 | 8 |
_mermaid.py |
0.041 | 0.004 | 0.019 | 4 | 7 |
_scantext.py |
0.041 | 0.005 | 0.019 | 4 | 8 |
force-graph.min.js |
0.361 | 1.000 | 0.744 | 35 | 1732 |
_diagrams.py |
1.000 | 0.025 | 0.415 | 97 | 43 |
_app.py |
0.897 | 0.054 | 0.391 | 87 | 93 |
_video.py |
0.928 | 0.022 | 0.385 | 90 | 39 |
test_parsers.py |
0.897 | 0.004 | 0.361 | 87 | 6 |
Semantic second-brain layer: nouns are concept nodes, verbs are edges. Each noun maps atomically to a file set (EXTRACTED); each verb aggregates structural imports, calls, and inherits into consumes, invokes, extends, depends_on, or bridges (INFERRED).
50 concepts, 100 relations.
| Concept | Files | Mentions |
|---|---|---|
readmenator |
104 | 201 |
returns |
98 | 496 |
file |
91 | 652 |
graph |
73 | 353 |
node |
67 | 267 |
files |
66 | 209 |
when |
65 | 231 |
args |
62 | 372 |
symbols |
61 | 100 |
empty |
60 | 132 |
project |
59 | 296 |
edges |
59 | 292 |
return |
59 | 287 |
imports |
56 | 87 |
nodes |
55 | 222 |
build |
54 | 256 |
contract |
54 | 227 |
config |
54 | 157 |
symbol |
53 | 155 |
every |
53 | 134 |
all |
53 | 91 |
one |
52 | 189 |
set |
52 | 110 |
text |
51 | 241 |
import |
51 | 188 |
content |
51 | 108 |
path |
49 | 198 |
source |
49 | 180 |
map |
47 | 198 |
edge |
47 | 145 |
| Source | Verb | Target | Strength | Evidence |
|---|---|---|---|---|
graph |
depends_on |
readmenator |
1.00 | 10 |
file |
depends_on |
readmenator |
0.99 | 10 |
graph |
depends_on |
file |
0.93 | 10 |
readmenator |
depends_on |
file |
0.93 | 10 |
returns |
depends_on |
readmenator |
0.91 | 10 |
project |
depends_on |
readmenator |
0.87 | 10 |
build |
depends_on |
readmenator |
0.85 | 10 |
project |
depends_on |
file |
0.80 | 10 |
return |
depends_on |
readmenator |
0.80 | 10 |
returns |
depends_on |
file |
0.80 | 10 |
text |
depends_on |
readmenator |
0.80 | 10 |
map |
depends_on |
readmenator |
0.79 | 10 |
build |
depends_on |
file |
0.78 | 10 |
files |
depends_on |
readmenator |
0.78 | 10 |
graph |
depends_on |
every |
0.77 | 10 |
node |
depends_on |
readmenator |
0.77 | 10 |
edge |
depends_on |
readmenator |
0.76 | 10 |
file |
depends_on |
graph |
0.76 | 10 |
readmenator |
depends_on |
every |
0.76 | 10 |
readmenator |
depends_on |
source |
0.75 | 10 |
file |
depends_on |
every |
0.74 | 10 |
readmenator |
depends_on |
graph |
0.74 | 10 |
symbol |
depends_on |
readmenator |
0.73 | 10 |
edges |
depends_on |
readmenator |
0.72 | 10 |
file |
depends_on |
source |
0.72 | 10 |
files |
depends_on |
file |
0.72 | 10 |
graph |
depends_on |
source |
0.72 | 10 |
node |
depends_on |
file |
0.72 | 10 |
source |
depends_on |
readmenator |
0.72 | 10 |
all |
depends_on |
readmenator |
0.71 | 10 |
- Thesis:
allcentralizes 53 files; Antithesis:buildpulls 54 files with 28 shared (Jaccard 0.35); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:contentpulls 51 files with 24 shared (Jaccard 0.30); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:directorypulls 38 files with 22 shared (Jaccard 0.32); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:everypulls 53 files with 27 shared (Jaccard 0.34); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:filepulls 91 files with 43 shared (Jaccard 0.43); Synthesis: should they merge, split by layer, or keepdepends_onexplicit? - Thesis:
allcentralizes 53 files; Antithesis:filespulls 66 files with 34 shared (Jaccard 0.40); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:graphpulls 73 files with 33 shared (Jaccard 0.35); Synthesis: should they merge, split by layer, or keepdepends_onexplicit? - Thesis:
allcentralizes 53 files; Antithesis:listpulls 39 files with 27 shared (Jaccard 0.42); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:mappulls 47 files with 24 shared (Jaccard 0.32); Synthesis: should they merge, split by layer, or keepbridgesexplicit? - Thesis:
allcentralizes 53 files; Antithesis:nodespulls 55 files with 28 shared (Jaccard 0.35); Synthesis: should they merge, split by layer, or keepbridgesexplicit?
Files sorted by how many other files would be affected if they changed. High-impact files should be changed with caution.
| File | Direct Dependents | Transitive Dependents | Total Impact |
|---|---|---|---|
_category.py |
9 | 50 | 104 |
_models.py |
50 | 0 | 101 |
_config.py |
50 | 0 | 100 |
_base.py |
20 | 25 | 45 |
_purpose.py |
7 | 31 | 38 |
_rank.py |
11 | 27 | 38 |
_resolver.py |
7 | 29 | 36 |
_project_config.py |
9 | 25 | 34 |
_htmlpack.py |
8 | 25 | 33 |
_viewer_ui.py |
5 | 28 | 33 |
_graphlayout.py |
5 | 26 | 31 |
_symindex.py |
7 | 24 | 31 |
_forcegraph_page.py |
3 | 26 | 29 |
_sourceview.py |
4 | 25 | 29 |
_flowlayout.py |
6 | 22 | 28 |
Violations of architectural layer rules detected in the import graph. 11 strict violations, 0 warnings.
| Source | Source Layer | Target | Target Layer | Description | Severity |
|---|---|---|---|---|---|
test_apidocs.py |
testing | _apidocs_page.py |
presentation | testing must not import presentation | strict |
test_apidocs.py |
testing | _apidocs_render.py |
presentation | testing must not import presentation | strict |
test_components.py |
testing | _components.py |
presentation | testing must not import presentation | strict |
test_flowcharts.py |
testing | _apidocs_page.py |
presentation | testing must not import presentation | strict |
test_folder_readme.py |
testing | _components.py |
presentation | testing must not import presentation | strict |
test_layout_quality.py |
testing | _forcegraph_page.py |
presentation | testing must not import presentation | strict |
test_project_config.py |
testing | _viewer_ui.py |
presentation | testing must not import presentation | strict |
test_project_config.py |
testing | _viewer_ui.py |
presentation | testing must not import presentation | strict |
test_project_config.py |
testing | _viewer_ui.py |
presentation | testing must not import presentation | strict |
test_project_config.py |
testing | _forcegraph_page.py |
presentation | testing must not import presentation | strict |
test_project_config.py |
testing | _bundlegraph_page.py |
presentation | testing must not import presentation | strict |
Automatically suggested linting and security rules based on patterns detected in the codebase. These can be exported as Semgrep rules using the --export-rules flag.
| Rule ID | Severity | Description | Language | Matches |
|---|---|---|---|---|
RM001 |
info | Large number of functions in py: 2635 total | py | 2635 |
RM002 |
info | Large number of functions in js: 30 total | js | 30 |
RM003 |
info | Print statement found (consider logging instead) | python | 39 |
Files with no documentation or low connectivity. These are candidates for documentation investment or cleanup.
-
__init__.py(0 symbols, no doc) -
test_agent_output.py(45 symbols, no doc) -
test_config.py(6 symbols, no doc) -
test_dataflow.py(47 symbols, no doc) -
test_documentation.py(29 symbols, no doc) -
test_integration.py(16 symbols, no doc) -
test_models.py(11 symbols, no doc) -
test_parsers.py(87 symbols, no doc) -
test_query.py(18 symbols, no doc) -
test_scanner.py(21 symbols, no doc) -
test_wiki.py(30 symbols, no doc)
Example queries you can run against this knowledge base using the ranking engine:
# Find files most relevant to a concept
readmenator query "Where is the import resolver implemented?"
# Rank files by relevance to a topic
readmenator query "How does documentation generation work?"
# Explain why a file ranks highly
readmenator query "explain readmenator/_documentation.py"
# Trace dependency paths with ranked context
readmenator query "path from CLI to exporter"
The ranking model uses the following signals:
- Personalized PageRank (45% weight): query-specific relevance via seed propagation
- Global Authority (20% weight): structural importance via standard PageRank
- Test Coverage (15% weight): fraction of symbols referenced in test files
- Doc Coverage (10% weight): presence of docstrings and file-level docs
- Freshness (10% weight): recent modification activity
Results include score decomposition and justification paths for each ranked item.
Note: The visual graph below has been intelligently pruned to the top 300 most relevant nodes to prevent rendering crashes. Full details of all files are documented in the Architecture Reference.
graph LR
classDef mod fill:#1e1e1e,stroke:#ff6666,stroke-width:2px,color:#fff;
classDef cls fill:#2d2d2d,stroke:#4ec9b0,stroke-width:2px,color:#fff;
classDef fn fill:#333,stroke:#dcdcaa,stroke-width:1px,color:#dcdcaa;
classDef ext fill:#111,stroke:#666,stroke-dasharray:5 5,color:#aaa;
readmenator__vendor_force_graph_min_js["force-graph.min.js (js)"]
class readmenator__vendor_force_graph_min_js mod;
readmenator__vendor_force_graph_min_js_t["t"]
class readmenator__vendor_force_graph_min_js_t fn;
readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_t
readmenator__vendor_force_graph_min_js_n["n"]
class readmenator__vendor_force_graph_min_js_n fn;
readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_n
readmenator__vendor_force_graph_min_js_e["e"]
class readmenator__vendor_force_graph_min_js_e fn;
readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_e
readmenator__vendor_force_graph_min_js_h["h"]
class readmenator__vendor_force_graph_min_js_h fn;
readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_h
readmenator__vendor_force_graph_min_js_s["s"]
class readmenator__vendor_force_graph_min_js_s fn;
readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_s
subgraph community_4 ["readmenator: _pipeline"]
readmenator__pipeline_py["_pipeline.py (py)"]
class readmenator__pipeline_py mod;
end
subgraph community_0 ["readmenator: _video"]
readmenator__app_py["_app.py (py)"]
class readmenator__app_py mod;
end
subgraph community_2 ["readmenator: _agent_output"]
tests_test_agent_friendliness_py["test_agent_friendliness.py (py)"]
class tests_test_agent_friendliness_py mod;
end
subgraph community_1 ["readmenator/parsers"]
tests_test_parsers_property_py["test_parsers_property.py (py)"]
class tests_test_parsers_property_py mod;
readmenator_parsers___init___py["__init__.py (py)"]
class readmenator_parsers___init___py mod;
tests_test_diagrams_py["test_diagrams.py (py)"]
class tests_test_diagrams_py mod;
tests_test_interactive_graph_py["test_interactive_graph.py (py)"]
class tests_test_interactive_graph_py mod;
end
subgraph community_5 ["readmenator: _diagrams"]
tests_test_project_config_py["test_project_config.py (py)"]
class tests_test_project_config_py mod;
tests_test_agent_output_py["test_agent_output.py (py)"]
class tests_test_agent_output_py mod;
readmenator__video_py["_video.py (py)"]
class readmenator__video_py mod;
readmenator__diagrams_py["_diagrams.py (py)"]
class readmenator__diagrams_py mod;
readmenator__forcegraph_py["_forcegraph.py (py)"]
class readmenator__forcegraph_py mod;
end
subgraph community_3 ["readmenator: _graphrag"]
readmenator___init___py["__init__.py (py)"]
class readmenator___init___py mod;
readmenator__agent_output_py["_agent_output.py (py)"]
class readmenator__agent_output_py mod;
tests_test_bundlegraph_py["test_bundlegraph.py (py)"]
class tests_test_bundlegraph_py mod;
readmenator__components_py["_components.py (py)"]
class readmenator__components_py mod;
end
subgraph community_6 ["readmenator: _flowcharts"]
tests_test_apidocs_py["test_apidocs.py (py)"]
class tests_test_apidocs_py mod;
tests_test_components_py["test_components.py (py)"]
class tests_test_components_py mod;
tests_test_flowcharts_py["test_flowcharts.py (py)"]
class tests_test_flowcharts_py mod;
readmenator__wiki_py["_wiki.py (py)"]
class readmenator__wiki_py mod;
readmenator__graphrag_py["_graphrag.py (py)"]
class readmenator__graphrag_py mod;
readmenator__documentation_py["_documentation.py (py)"]
class readmenator__documentation_py mod;
readmenator__bundlegraph_py["_bundlegraph.py (py)"]
class readmenator__bundlegraph_py mod;
tests_test_folder_readme_py["test_folder_readme.py (py)"]
class tests_test_folder_readme_py mod;
readmenator__flowcharts_py["_flowcharts.py (py)"]
class readmenator__flowcharts_py mod;
readmenator__apidocs_render_py["_apidocs_render.py (py)"]
class readmenator__apidocs_render_py mod;
readmenator__explorer_py["_explorer.py (py)"]
class readmenator__explorer_py mod;
tests_test_wiki_py["test_wiki.py (py)"]
class tests_test_wiki_py mod;
tests_test_htmlpack_py["test_htmlpack.py (py)"]
class tests_test_htmlpack_py mod;
readmenator___main___py["__main__.py (py)"]
class readmenator___main___py mod;
readmenator__apidocs_py["_apidocs.py (py)"]
class readmenator__apidocs_py mod;
tests_test_sourceview_py["test_sourceview.py (py)"]
class tests_test_sourceview_py mod;
tests_test_layout_quality_py["test_layout_quality.py (py)"]
class tests_test_layout_quality_py mod;
tests_test_documentation_py["test_documentation.py (py)"]
class tests_test_documentation_py mod;
tests_test_taint_bdd_py["test_taint_bdd.py (py)"]
class tests_test_taint_bdd_py mod;
readmenator__gh_wiki_py["_gh_wiki.py (py)"]
class readmenator__gh_wiki_py mod;
tests_test_gh_wiki_py["test_gh_wiki.py (py)"]
class tests_test_gh_wiki_py mod;
tests_test_refactorizer_py["test_refactorizer.py (py)"]
class tests_test_refactorizer_py mod;
readmenator__exporter_py["_exporter.py (py)"]
class readmenator__exporter_py mod;
readmenator_orchestrator_py["readmenator_orchestrator.py (py)"]
class readmenator_orchestrator_py mod;
readmenator__memory_py["_memory.py (py)"]
class readmenator__memory_py mod;
tests_test_memory_py["test_memory.py (py)"]
class tests_test_memory_py mod;
readmenator__flowpage_py["_flowpage.py (py)"]
class readmenator__flowpage_py mod;
readmenator__apidocs_page_py["_apidocs_page.py (py)"]
class readmenator__apidocs_page_py mod;
readmenator__mcp_server_py["_mcp_server.py (py)"]
class readmenator__mcp_server_py mod;
tests_test_ranking_py["test_ranking.py (py)"]
class tests_test_ranking_py mod;
tests_test_dataflow_py["test_dataflow.py (py)"]
class tests_test_dataflow_py mod;
tests_test_graphrag_py["test_graphrag.py (py)"]
class tests_test_graphrag_py mod;
tests_test_mcp_server_py["test_mcp_server.py (py)"]
class tests_test_mcp_server_py mod;
tests_test_scanner_py["test_scanner.py (py)"]
class tests_test_scanner_py mod;
tests_test_video_py["test_video.py (py)"]
class tests_test_video_py mod;
readmenator__project_config_py["_project_config.py (py)"]
class readmenator__project_config_py mod;
readmenator__viewer_ui_py["_viewer_ui.py (py)"]
class readmenator__viewer_ui_py mod;
tests_test_security_py["test_security.py (py)"]
class tests_test_security_py mod;
readmenator__scanner_py["_scanner.py (py)"]
class readmenator__scanner_py mod;
readmenator__linter_py["_linter.py (py)"]
class readmenator__linter_py mod;
tests_test_readme_injector_py["test_readme_injector.py (py)"]
class tests_test_readme_injector_py mod;
readmenator__analyzer_py["_analyzer.py (py)"]
class readmenator__analyzer_py mod;
readmenator__symindex_py["_symindex.py (py)"]
class readmenator__symindex_py mod;
tests_test_cache_py["test_cache.py (py)"]
class tests_test_cache_py mod;
tests_test_analyzer_py["test_analyzer.py (py)"]
class tests_test_analyzer_py mod;
tests_test_cursorrules_py["test_cursorrules.py (py)"]
class tests_test_cursorrules_py mod;
tests_test_rule_gen_py["test_rule_gen.py (py)"]
class tests_test_rule_gen_py mod;
readmenator__rule_gen_py["_rule_gen.py (py)"]
class readmenator__rule_gen_py mod;
readmenator__security_py["_security.py (py)"]
class readmenator__security_py mod;
readmenator__query_py["_query.py (py)"]
class readmenator__query_py mod;
tests_test_exporter_py["test_exporter.py (py)"]
class tests_test_exporter_py mod;
tests_test_cpg_py["test_cpg.py (py)"]
class tests_test_cpg_py mod;
tests_test_sarif_py["test_sarif.py (py)"]
class tests_test_sarif_py mod;
readmenator__concepts_py["_concepts.py (py)"]
class readmenator__concepts_py mod;
readmenator__cursorrules_generator_py["_cursorrules_generator.py (py)"]
class readmenator__cursorrules_generator_py mod;
readmenator__htmlpack_py["_htmlpack.py (py)"]
class readmenator__htmlpack_py mod;
tests_test_uml_py["test_uml.py (py)"]
class tests_test_uml_py mod;
tests_test_agent_injector_py["test_agent_injector.py (py)"]
class tests_test_agent_injector_py mod;
readmenator__uml_py["_uml.py (py)"]
class readmenator__uml_py mod;
readmenator__dataflow_py["_dataflow.py (py)"]
class readmenator__dataflow_py mod;
tests_test_integration_py["test_integration.py (py)"]
class tests_test_integration_py mod;
tests_test_dead_code_py["test_dead_code.py (py)"]
class tests_test_dead_code_py mod;
readmenator__agent_injector_py["_agent_injector.py (py)"]
class readmenator__agent_injector_py mod;
readmenator__cache_py["_cache.py (py)"]
class readmenator__cache_py mod;
tests_test_linter_py["test_linter.py (py)"]
class tests_test_linter_py mod;
tests_test_layer_rules_py["test_layer_rules.py (py)"]
class tests_test_layer_rules_py mod;
readmenator__embed_py["_embed.py (py)"]
class readmenator__embed_py mod;
tests_test_hotspots_py["test_hotspots.py (py)"]
class tests_test_hotspots_py mod;
tests_test_symindex_py["test_symindex.py (py)"]
class tests_test_symindex_py mod;
tests_test_taint_py["test_taint.py (py)"]
class tests_test_taint_py mod;
readmenator__refactorizer_py["_refactorizer.py (py)"]
class readmenator__refactorizer_py mod;
readmenator__watcher_py["_watcher.py (py)"]
class readmenator__watcher_py mod;
readmenator__graphlayout_py["_graphlayout.py (py)"]
class readmenator__graphlayout_py mod;
readmenator__resolver_py["_resolver.py (py)"]
class readmenator__resolver_py mod;
readmenator__exclusions_py["_exclusions.py (py)"]
class readmenator__exclusions_py mod;
readmenator__provenance_py["_provenance.py (py)"]
class readmenator__provenance_py mod;
readmenator__analytics_py["_analytics.py (py)"]
class readmenator__analytics_py mod;
readmenator__sourceview_py["_sourceview.py (py)"]
class readmenator__sourceview_py mod;
tests_test_concepts_py["test_concepts.py (py)"]
class tests_test_concepts_py mod;
readmenator__folder_readme_py["_folder_readme.py (py)"]
class readmenator__folder_readme_py mod;
readmenator__hotspots_py["_hotspots.py (py)"]
class readmenator__hotspots_py mod;
readmenator__ollama_py["_ollama.py (py)"]
class readmenator__ollama_py mod;
readmenator__taint_py["_taint.py (py)"]
class readmenator__taint_py mod;
readmenator_parsers__base_py["_base.py (py)"]
class readmenator_parsers__base_py mod;
readmenator__dead_code_py["_dead_code.py (py)"]
class readmenator__dead_code_py mod;
readmenator_parsers__python_py["_python.py (py)"]
class readmenator_parsers__python_py mod;
tests_test_parsers_py["test_parsers.py (py)"]
class tests_test_parsers_py mod;
tests_test_parsers_new_py["test_parsers_new.py (py)"]
class tests_test_parsers_new_py mod;
readmenator__rank_py["_rank.py (py)"]
class readmenator__rank_py mod;
readmenator__projections_py["_projections.py (py)"]
class readmenator__projections_py mod;
readmenator__layers_py["_layers.py (py)"]
class readmenator__layers_py mod;
readmenator__skill_installer_py["_skill_installer.py (py)"]
class readmenator__skill_installer_py mod;
readmenator__cpg_py["_cpg.py (py)"]
class readmenator__cpg_py mod;
readmenator__layer_rules_py["_layer_rules.py (py)"]
class readmenator__layer_rules_py mod;
readmenator__scantext_py["_scantext.py (py)"]
class readmenator__scantext_py mod;
tests_test_ollama_py["test_ollama.py (py)"]
class tests_test_ollama_py mod;
readmenator__explain_py["_explain.py (py)"]
class readmenator__explain_py mod;
readmenator_parsers__c_py["_c.py (py)"]
class readmenator_parsers__c_py mod;
readmenator_parsers__assembly_py["_assembly.py (py)"]
class readmenator_parsers__assembly_py mod;
readmenator_parsers__csharp_py["_csharp.py (py)"]
class readmenator_parsers__csharp_py mod;
readmenator_parsers__dart_py["_dart.py (py)"]
class readmenator_parsers__dart_py mod;
readmenator_parsers__elixir_py["_elixir.py (py)"]
class readmenator_parsers__elixir_py mod;
readmenator_parsers__gdscript_py["_gdscript.py (py)"]
class readmenator_parsers__gdscript_py mod;
readmenator_parsers__go_py["_go.py (py)"]
class readmenator_parsers__go_py mod;
readmenator_parsers__java_py["_java.py (py)"]
class readmenator_parsers__java_py mod;
readmenator_parsers__javascript_py["_javascript.py (py)"]
class readmenator_parsers__javascript_py mod;
readmenator_parsers__kotlin_py["_kotlin.py (py)"]
class readmenator_parsers__kotlin_py mod;
readmenator_parsers__lua_py["_lua.py (py)"]
class readmenator_parsers__lua_py mod;
readmenator_parsers__nim_py["_nim.py (py)"]
class readmenator_parsers__nim_py mod;
readmenator_parsers__php_py["_php.py (py)"]
class readmenator_parsers__php_py mod;
readmenator_parsers__ruby_py["_ruby.py (py)"]
class readmenator_parsers__ruby_py mod;
readmenator_parsers__rust_py["_rust.py (py)"]
class readmenator_parsers__rust_py mod;
readmenator_parsers__scala_py["_scala.py (py)"]
class readmenator_parsers__scala_py mod;
readmenator_parsers__shell_py["_shell.py (py)"]
class readmenator_parsers__shell_py mod;
readmenator_parsers__swift_py["_swift.py (py)"]
class readmenator_parsers__swift_py mod;
tests_test_graphlayout_py["test_graphlayout.py (py)"]
class tests_test_graphlayout_py mod;
readmenator__models_py["_models.py (py)"]
class readmenator__models_py mod;
tests_test_query_py["test_query.py (py)"]
class tests_test_query_py mod;
readmenator__pytypes_py["_pytypes.py (py)"]
class readmenator__pytypes_py mod;
tests_test_mermaid_py["test_mermaid.py (py)"]
class tests_test_mermaid_py mod;
readmenator__purpose_py["_purpose.py (py)"]
class readmenator__purpose_py mod;
readmenator__sarif_py["_sarif.py (py)"]
class readmenator__sarif_py mod;
readmenator__mermaid_py["_mermaid.py (py)"]
class readmenator__mermaid_py mod;
readmenator__docstrings_py["_docstrings.py (py)"]
class readmenator__docstrings_py mod;
readmenator__category_py["_category.py (py)"]
class readmenator__category_py mod;
tests_test_resolver_py["test_resolver.py (py)"]
class tests_test_resolver_py mod;
readmenator__yaralite_py["_yaralite.py (py)"]
class readmenator__yaralite_py mod;
readmenator__flowlayout_py["_flowlayout.py (py)"]
class readmenator__flowlayout_py mod;
readmenator__readme_injector_py["_readme_injector.py (py)"]
class readmenator__readme_injector_py mod;
tests_test_config_py["test_config.py (py)"]
class tests_test_config_py mod;
readmenator_py["readmenator.py (py)"]
class readmenator_py mod;
tests_test_models_py["test_models.py (py)"]
class tests_test_models_py mod;
readmenator__gitmeta_py["_gitmeta.py (py)"]
class readmenator__gitmeta_py mod;
readmenator__config_py["_config.py (py)"]
class readmenator__config_py mod;
readmenator__bundlegraph_page_py["_bundlegraph_page.py (py)"]
class readmenator__bundlegraph_page_py mod;
readmenator__forcegraph_page_py["_forcegraph_page.py (py)"]
class readmenator__forcegraph_page_py mod;
deploy_sh["deploy.sh (sh)"]
class deploy_sh mod;
tests___init___py["__init__.py (py)"]
class tests___init___py mod;
end
readmenator__pipeline_py ~~~ tests_test_readme_injector_py
tests_test_interactive_graph_py ~~~ tests_test_agent_injector_py
tests_test_agent_output_py ~~~ readmenator__uml_py
readmenator__documentation_py ~~~ readmenator__agent_injector_py
readmenator__explorer_py ~~~ readmenator__embed_py
readmenator__exporter_py ~~~ readmenator__exclusions_py
tests_test_readme_injector_py ~~~ readmenator__provenance_py
tests_test_agent_injector_py ~~~ readmenator__analytics_py
readmenator__uml_py ~~~ readmenator__cpg_py
readmenator__agent_injector_py ~~~ readmenator__scantext_py
readmenator__embed_py ~~~ readmenator__readme_injector_py
readmenator__app_py ~~~ tests_test_refactorizer_py
tests_test_diagrams_py ~~~ readmenator__mcp_server_py
readmenator__video_py ~~~ tests_test_dataflow_py
tests_test_htmlpack_py ~~~ tests_test_mcp_server_py
readmenator___main___py ~~~ tests_test_video_py
tests_test_documentation_py ~~~ readmenator__linter_py
tests_test_refactorizer_py ~~~ tests_test_cursorrules_py
readmenator__mcp_server_py ~~~ tests_test_exporter_py
tests_test_dataflow_py ~~~ tests_test_cpg_py
tests_test_mcp_server_py ~~~ readmenator__cursorrules_generator_py
tests_test_video_py ~~~ tests_test_uml_py
readmenator__linter_py ~~~ readmenator__dataflow_py
tests_test_cursorrules_py ~~~ tests_test_integration_py
tests_test_exporter_py ~~~ tests_test_dead_code_py
tests_test_cpg_py ~~~ tests_test_linter_py
readmenator__cursorrules_generator_py ~~~ tests_test_layer_rules_py
tests_test_uml_py ~~~ tests_test_hotspots_py
readmenator__dataflow_py ~~~ readmenator__refactorizer_py
tests_test_integration_py ~~~ readmenator__watcher_py
tests_test_dead_code_py ~~~ readmenator__hotspots_py
tests_test_linter_py ~~~ readmenator__dead_code_py
tests_test_layer_rules_py ~~~ tests_test_parsers_py
tests_test_hotspots_py ~~~ tests_test_parsers_new_py
readmenator__refactorizer_py ~~~ readmenator__layers_py
readmenator__watcher_py ~~~ readmenator__layer_rules_py
readmenator__hotspots_py ~~~ readmenator__yaralite_py
readmenator__dead_code_py ~~~ tests_test_config_py
tests_test_parsers_py ~~~ readmenator_py
tests_test_parsers_new_py ~~~ readmenator__config_py
tests_test_agent_friendliness_py ~~~ tests_test_gh_wiki_py
readmenator__agent_output_py ~~~ readmenator__memory_py
readmenator__wiki_py ~~~ tests_test_security_py
tests_test_folder_readme_py ~~~ readmenator__analyzer_py
tests_test_wiki_py ~~~ tests_test_cache_py
readmenator__gh_wiki_py ~~~ tests_test_analyzer_py
tests_test_gh_wiki_py ~~~ readmenator__security_py
readmenator__memory_py ~~~ readmenator__cache_py
tests_test_security_py ~~~ readmenator__resolver_py
readmenator__analyzer_py ~~~ readmenator__folder_readme_py
tests_test_cache_py ~~~ readmenator__purpose_py
tests_test_analyzer_py ~~~ tests_test_resolver_py
readmenator__security_py ~~~ readmenator__gitmeta_py
tests_test_parsers_property_py ~~~ readmenator__rule_gen_py
readmenator_parsers___init___py ~~~ tests_test_sarif_py
tests_test_taint_bdd_py ~~~ tests_test_taint_py
tests_test_scanner_py ~~~ readmenator__taint_py
readmenator__scanner_py ~~~ readmenator_parsers__base_py
tests_test_rule_gen_py ~~~ readmenator_parsers__python_py
readmenator__rule_gen_py ~~~ readmenator_parsers__c_py
tests_test_sarif_py ~~~ readmenator_parsers__assembly_py
tests_test_taint_py ~~~ readmenator_parsers__csharp_py
readmenator__taint_py ~~~ readmenator_parsers__dart_py
readmenator_parsers__base_py ~~~ readmenator_parsers__elixir_py
readmenator_parsers__python_py ~~~ readmenator_parsers__gdscript_py
readmenator_parsers__c_py ~~~ readmenator_parsers__go_py
readmenator_parsers__assembly_py ~~~ readmenator_parsers__java_py
readmenator_parsers__csharp_py ~~~ readmenator_parsers__javascript_py
readmenator_parsers__dart_py ~~~ readmenator_parsers__kotlin_py
readmenator_parsers__elixir_py ~~~ readmenator_parsers__lua_py
readmenator_parsers__gdscript_py ~~~ readmenator_parsers__nim_py
readmenator_parsers__go_py ~~~ readmenator_parsers__php_py
readmenator_parsers__java_py ~~~ readmenator_parsers__ruby_py
readmenator_parsers__javascript_py ~~~ readmenator_parsers__rust_py
readmenator_parsers__kotlin_py ~~~ readmenator_parsers__scala_py
readmenator_parsers__lua_py ~~~ readmenator_parsers__shell_py
readmenator_parsers__nim_py ~~~ readmenator_parsers__swift_py
readmenator_parsers__php_py ~~~ readmenator__models_py
readmenator_parsers__ruby_py ~~~ tests_test_mermaid_py
readmenator_parsers__rust_py ~~~ readmenator__sarif_py
readmenator_parsers__scala_py ~~~ readmenator__mermaid_py
readmenator_parsers__shell_py ~~~ tests_test_models_py
tests_test_project_config_py ~~~ tests_test_layout_quality_py
readmenator__diagrams_py ~~~ readmenator__project_config_py
readmenator__forcegraph_py ~~~ readmenator__viewer_ui_py
tests_test_bundlegraph_py ~~~ readmenator__htmlpack_py
readmenator__bundlegraph_py ~~~ readmenator__graphlayout_py
tests_test_sourceview_py ~~~ readmenator__sourceview_py
tests_test_layout_quality_py ~~~ tests_test_graphlayout_py
readmenator__project_config_py ~~~ readmenator__bundlegraph_page_py
readmenator__viewer_ui_py ~~~ readmenator__forcegraph_page_py
readmenator___init___py ~~~ tests_test_graphrag_py
readmenator__components_py ~~~ readmenator__query_py
tests_test_components_py ~~~ readmenator__concepts_py
readmenator__graphrag_py ~~~ tests_test_concepts_py
tests_test_memory_py ~~~ readmenator__ollama_py
tests_test_ranking_py ~~~ readmenator__rank_py
tests_test_graphrag_py ~~~ readmenator__projections_py
readmenator__query_py ~~~ readmenator__skill_installer_py
readmenator__concepts_py ~~~ tests_test_ollama_py
tests_test_concepts_py ~~~ readmenator__explain_py
readmenator__ollama_py ~~~ tests_test_query_py
readmenator__rank_py ~~~ readmenator__category_py
tests_test_apidocs_py ~~~ readmenator__apidocs_page_py
tests_test_flowcharts_py ~~~ readmenator__symindex_py
readmenator__flowcharts_py ~~~ tests_test_symindex_py
readmenator__apidocs_render_py ~~~ readmenator__pytypes_py
readmenator__apidocs_py ~~~ readmenator__docstrings_py
readmenator__flowpage_py ~~~ readmenator__flowlayout_py
readmenator___init___py -- resolved_imports --> readmenator__app_py
readmenator___init___py -- resolved_imports --> readmenator__category_py
readmenator___init___py -- resolved_imports --> readmenator__config_py
readmenator___init___py -- resolved_imports --> readmenator__project_config_py
readmenator___init___py -- resolved_imports --> readmenator__diagrams_py
readmenator___init___py -- resolved_imports --> readmenator__mcp_server_py
readmenator___init___py -- resolved_imports --> readmenator__components_py
readmenator___init___py -- resolved_imports --> readmenator__ollama_py
readmenator___init___py -- resolved_imports --> readmenator__symindex_py
readmenator___init___py -- resolved_imports --> readmenator__concepts_py
readmenator___init___py -- resolved_imports --> readmenator__models_py
readmenator___init___py -- resolved_imports --> readmenator__rank_py
readmenator___init___py -- resolved_imports --> readmenator__readme_injector_py
readmenator___init___py -- resolved_imports --> readmenator__uml_py
readmenator___main___py -- resolved_imports --> readmenator__app_py
readmenator___main___py -- resolved_imports --> readmenator__config_py
readmenator___main___py -- resolved_imports --> readmenator__mcp_server_py
readmenator___main___py -- resolved_imports --> readmenator__project_config_py
readmenator__agent_output_py -- resolved_imports --> readmenator__cache_py
readmenator__agent_output_py -- resolved_imports --> readmenator__config_py
readmenator__agent_output_py -- resolved_imports --> readmenator__folder_readme_py
readmenator__agent_output_py -- resolved_imports --> readmenator__gitmeta_py
readmenator__agent_output_py -- resolved_imports --> readmenator__models_py
readmenator__agent_output_py -- resolved_imports --> readmenator__purpose_py
readmenator__agent_output_py -- resolved_imports --> readmenator__resolver_py
readmenator__agent_output_py -- resolved_imports --> readmenator__security_py
readmenator__analytics_py -- resolved_imports --> readmenator__config_py
readmenator__analytics_py -- resolved_imports --> readmenator__models_py
readmenator__analyzer_py -- resolved_imports --> readmenator__config_py
readmenator__analyzer_py -- resolved_imports --> readmenator__models_py
readmenator__apidocs_py -- resolved_imports --> readmenator__config_py
readmenator__apidocs_py -- resolved_imports --> readmenator__docstrings_py
readmenator__apidocs_py -- resolved_imports --> readmenator__models_py
readmenator__apidocs_py -- resolved_imports --> readmenator__pytypes_py
readmenator__apidocs_py -- resolved_imports --> readmenator__symindex_py
readmenator__apidocs_page_py -- resolved_imports --> readmenator__apidocs_py
readmenator__apidocs_page_py -- resolved_imports --> readmenator__config_py
readmenator__apidocs_page_py -- resolved_imports --> readmenator__flowlayout_py
readmenator__apidocs_page_py -- resolved_imports --> readmenator__flowpage_py
readmenator__apidocs_page_py -- resolved_imports --> readmenator__htmlpack_py
readmenator__apidocs_render_py -- resolved_imports --> readmenator__apidocs_py
readmenator__apidocs_render_py -- resolved_imports --> readmenator__apidocs_page_py
readmenator__apidocs_render_py -- resolved_imports --> readmenator__config_py
readmenator__apidocs_render_py -- resolved_imports --> readmenator__flowlayout_py
readmenator__apidocs_render_py -- resolved_imports --> readmenator__flowpage_py
readmenator__apidocs_render_py -- resolved_imports --> readmenator__docstrings_py
readmenator__app_py -- resolved_imports --> readmenator__apidocs_py
readmenator__app_py -- resolved_imports --> readmenator__bundlegraph_py
readmenator__app_py -- resolved_imports --> readmenator__cache_py
readmenator__app_py -- resolved_imports --> readmenator__config_py
readmenator__app_py -- resolved_imports --> readmenator__cursorrules_generator_py
readmenator__app_py -- resolved_imports --> readmenator__dead_code_py
readmenator__app_py -- resolved_imports --> readmenator__diagrams_py
readmenator__app_py -- resolved_imports --> readmenator__explorer_py
readmenator__app_py -- resolved_imports --> readmenator__flowcharts_py
readmenator__app_py -- resolved_imports --> readmenator__flowlayout_py
readmenator__app_py -- resolved_imports --> readmenator__flowpage_py
readmenator__app_py -- resolved_imports --> readmenator__explorer_py
readmenator__app_py -- resolved_imports --> readmenator__gh_wiki_py
readmenator__app_py -- resolved_imports --> readmenator__gitmeta_py
readmenator__app_py -- resolved_imports --> readmenator__graphrag_py
readmenator__app_py -- resolved_imports --> readmenator__layers_py
readmenator__app_py -- resolved_imports --> readmenator__linter_py
readmenator__app_py -- resolved_imports --> readmenator__models_py
readmenator__app_py -- resolved_imports --> readmenator__pipeline_py
readmenator__app_py -- resolved_imports --> readmenator__query_py
readmenator__app_py -- resolved_imports --> readmenator__rank_py
readmenator__app_py -- resolved_imports --> readmenator__refactorizer_py
readmenator__app_py -- resolved_imports --> readmenator__resolver_py
readmenator__app_py -- resolved_imports --> readmenator__yaralite_py
readmenator__app_py -- resolved_imports --> readmenator__watcher_py
readmenator__app_py -- resolved_imports --> readmenator__project_config_py
readmenator__app_py -- resolved_imports --> readmenator__project_config_py
readmenator__app_py -- resolved_imports --> readmenator__project_config_py
readmenator__app_py -- resolved_imports --> readmenator__project_config_py
readmenator__app_py -- resolved_imports --> readmenator__video_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__bundlegraph_page_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__config_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__forcegraph_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__graphlayout_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__htmlpack_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__project_config_py
readmenator__bundlegraph_py -- resolved_imports --> readmenator__viewer_ui_py
readmenator__cache_py -- resolved_imports --> readmenator__config_py
readmenator__components_py -- resolved_imports --> readmenator__cache_py
readmenator__components_py -- resolved_imports --> readmenator__config_py
readmenator__components_py -- resolved_imports --> readmenator__layers_py
readmenator__components_py -- resolved_imports --> readmenator__models_py
readmenator__components_py -- resolved_imports --> readmenator__ollama_py
readmenator__components_py -- resolved_imports --> readmenator__purpose_py
readmenator__components_py -- resolved_imports --> readmenator__rank_py
readmenator__components_py -- resolved_imports --> readmenator__symindex_py
readmenator__concepts_py -- resolved_imports --> readmenator__config_py
readmenator__concepts_py -- resolved_imports --> readmenator__models_py
readmenator__cpg_py -- resolved_imports --> readmenator__models_py
readmenator__cursorrules_generator_py -- resolved_imports --> readmenator__config_py
readmenator__cursorrules_generator_py -- resolved_imports --> readmenator__layers_py
readmenator__cursorrules_generator_py -- resolved_imports --> readmenator__models_py
readmenator__dataflow_py -- resolved_imports --> readmenator__config_py
readmenator__dataflow_py -- resolved_imports --> readmenator__models_py
ext_readmenator__app["readmenator._app"]
class ext_readmenator__app ext;
readmenator___init___py -.->|imports| ext_readmenator__app
ext_readmenator__category["readmenator._category"]
class ext_readmenator__category ext;
readmenator___init___py -.->|imports| ext_readmenator__category
ext_readmenator__config["readmenator._config"]
class ext_readmenator__config ext;
readmenator___init___py -.->|imports| ext_readmenator__config
ext_readmenator__project_config["readmenator._project_config"]
class ext_readmenator__project_config ext;
readmenator___init___py -.->|imports| ext_readmenator__project_config
ext_readmenator__diagrams["readmenator._diagrams"]
class ext_readmenator__diagrams ext;
readmenator___init___py -.->|imports| ext_readmenator__diagrams
ext_readmenator__mcp_server["readmenator._mcp_server"]
class ext_readmenator__mcp_server ext;
readmenator___init___py -.->|imports| ext_readmenator__mcp_server
ext_readmenator__components["readmenator._components"]
class ext_readmenator__components ext;
readmenator___init___py -.->|imports| ext_readmenator__components
ext_readmenator__ollama["readmenator._ollama"]
class ext_readmenator__ollama ext;
readmenator___init___py -.->|imports| ext_readmenator__ollama
ext_readmenator__symindex["readmenator._symindex"]
class ext_readmenator__symindex ext;
readmenator___init___py -.->|imports| ext_readmenator__symindex
ext_readmenator__concepts["readmenator._concepts"]
class ext_readmenator__concepts ext;
readmenator___init___py -.->|imports| ext_readmenator__concepts
ext_readmenator__models["readmenator._models"]
class ext_readmenator__models ext;
readmenator___init___py -.->|imports| ext_readmenator__models
ext_readmenator__rank["readmenator._rank"]
class ext_readmenator__rank ext;
readmenator___init___py -.->|imports| ext_readmenator__rank
ext_readmenator__readme_injector["readmenator._readme_injector"]
class ext_readmenator__readme_injector ext;
readmenator___init___py -.->|imports| ext_readmenator__readme_injector
ext_readmenator__uml["readmenator._uml"]
class ext_readmenator__uml ext;
readmenator___init___py -.->|imports| ext_readmenator__uml
ext___future__["__future__"]
class ext___future__ ext;
readmenator___main___py -.->|imports| ext___future__
ext_argparse["argparse"]
class ext_argparse ext;
readmenator___main___py -.->|imports| ext_argparse
ext_logging["logging"]
class ext_logging ext;
readmenator___main___py -.->|imports| ext_logging
ext_sys["sys"]
class ext_sys ext;
readmenator___main___py -.->|imports| ext_sys
ext_unittest["unittest"]
class ext_unittest ext;
readmenator___main___py -.->|imports| ext_unittest
ext_pathlib["pathlib"]
class ext_pathlib ext;
readmenator___main___py -.->|imports| ext_pathlib
readmenator___main___py -.->|imports| ext_readmenator__app
readmenator___main___py -.->|imports| ext_readmenator__config
readmenator___main___py -.->|imports| ext_readmenator__mcp_server
readmenator___main___py -.->|imports| ext_readmenator__project_config
ext_json["json"]
class ext_json ext;
readmenator___main___py -.->|imports| ext_json
readmenator___main___py -.->|imports| ext_json
readmenator___main___py -.->|imports| ext_json
readmenator___main___py -.->|imports| ext_json
readmenator__agent_injector_py -.->|imports| ext___future__
ext_glob["glob"]
class ext_glob ext;
readmenator__agent_injector_py -.->|imports| ext_glob
ext_importlib_util["importlib.util"]
class ext_importlib_util ext;
readmenator__agent_injector_py -.->|imports| ext_importlib_util
readmenator__agent_injector_py -.->|imports| ext_logging
ext_subprocess["subprocess"]
class ext_subprocess ext;
readmenator__agent_injector_py -.->|imports| ext_subprocess
readmenator__agent_injector_py -.->|imports| ext_sys
readmenator__agent_injector_py -.->|imports| ext_pathlib
Auto-generated Mermaid class diagrams from parsed class-level symbols, split into groups of at most 6 classes so each diagram stays readable. Per-module class diagrams with exact members live in readmenator-apidocs/modules/.
readmenator/_agent_injector.py, readmenator/_agent_output.py, readmenator/_analytics.py, readmenator/_analyzer.py
classDiagram
direction LR
class _agent_injector_py_AgentInjector {
<<class>>
+ensure_readmenator_installed()
+__init__(self, kb_filename, agent_output_dir, agent_files, agent_globs, wiki_output_dir, agent_heading, agent_intro, agent_extra)
+inject(self, project_root)
+remove(self, project_root)
+find_agent_files(self, project_root)
+_find_agent_files(self, root)
+_inject_single(self, path)
+_extract_current_injection(content)
+_remove_old_injection(content)
+_remove_single(self, path)
}
class _agent_output_py_AgentOutputGenerator {
<<class>>
+__init__(self, config)
+generate(self, nodes, edges, resolved_edges, analysis, analysis_v2, findings, layers, project_root)
+_infer_subsystems(self, nodes)
+_build_index(self, nodes, subsystems, imported_by)
+_build_architecture(self, edges, resolved_edges, nodes)
+_build_security(self, findings, nodes)
+_enclosing_symbol(symbols, line)
+_is_public(self, sym)
+_qualified_names(symbols)
+_build_api(self, nodes, resolved_map, imported_by, layers)
}
class _analytics_py_AnalyticsBuilder {
<<class>>
+__init__(self, config)
+build(self, nodes, edges, resolved_edges, analysis, findings, layers, v2, hotspots)
+_layer_distribution(self, nodes, layers)
+_language_distribution(self, nodes)
+_hotspot_ranking(self, nodes, fan_in, fan_out, hotspots)
+_rule_yield(self, findings)
+_size_bands(self, nodes)
+_scatter(self, nodes, fan_in, fan_out, layers)
}
class _analyzer_py_GraphAnalyzer {
<<class>>
+dominant_directory(file_ids)
+_is_test_path(file_id)
+__init__(self, config)
+analyze(self, nodes, edges, resolved_edges)
+_build_adjacency(self, nodes, edges)
+_build_reverse_adjacency(self, adjacency)
+_compute_god_nodes(self, nodes, adjacency, reverse_adjacency)
+_detect_communities(self, nodes, adjacency)
+_finalize_communities(self, labels, adjacency)
+_louvain(self, file_ids, adjacency)
}
classDiagram
direction LR
class _apidocs_py_ApiParam {
<<class>>
+_unparse(node)
+_matching_close(lines, start, scan_limit)
+_indent_end(lines, start)
+_split_top_level(text, sep)
+_param_span(signature, name)
+parse_signature_params(signature, name, language)
+is_vendored_path(file_id, config)
+to_dict(self)
+is_documented(self)
+to_dict(self)
}
class _apidocs_py_ApiEntity {
<<class>>
+_unparse(node)
+_matching_close(lines, start, scan_limit)
+_indent_end(lines, start)
+_split_top_level(text, sep)
+_param_span(signature, name)
+parse_signature_params(signature, name, language)
+is_vendored_path(file_id, config)
+to_dict(self)
+is_documented(self)
+to_dict(self)
}
class _apidocs_py_DocWarning {
<<class>>
+_unparse(node)
+_matching_close(lines, start, scan_limit)
+_indent_end(lines, start)
+_split_top_level(text, sep)
+_param_span(signature, name)
+parse_signature_params(signature, name, language)
+is_vendored_path(file_id, config)
+to_dict(self)
+is_documented(self)
+to_dict(self)
}
class _apidocs_py_ApiReference {
<<class>>
+_unparse(node)
+_matching_close(lines, start, scan_limit)
+_indent_end(lines, start)
+_split_top_level(text, sep)
+_param_span(signature, name)
+parse_signature_params(signature, name, language)
+is_vendored_path(file_id, config)
+to_dict(self)
+is_documented(self)
+to_dict(self)
}
class _apidocs_py__PythonExtractor {
<<class>>
+_unparse(node)
+_matching_close(lines, start, scan_limit)
+_indent_end(lines, start)
+_split_top_level(text, sep)
+_param_span(signature, name)
+parse_signature_params(signature, name, language)
+is_vendored_path(file_id, config)
+to_dict(self)
+is_documented(self)
+to_dict(self)
}
class _apidocs_py_ApiReferenceBuilder {
<<class>>
+_unparse(node)
+_matching_close(lines, start, scan_limit)
+_indent_end(lines, start)
+_split_top_level(text, sep)
+_param_span(signature, name)
+parse_signature_params(signature, name, language)
+is_vendored_path(file_id, config)
+to_dict(self)
+is_documented(self)
+to_dict(self)
}
readmenator/_apidocs_render.py, readmenator/_app.py, readmenator/_bundlegraph.py, readmenator/_cache.py
classDiagram
direction LR
class _apidocs_render_py_ApiLinker {
<<class>>
+module_display_name(entity)
+page_slug(module_uid)
+jsonl_index_path(config)
+jsonl_warnings_path(config)
+_jsonl_line(record)
+jsonl_pages(reference, config)
+read_api_jsonl(api_dir, config)
+anchor_slug(qualname)
+_cell(text)
+_inline_code(text)
}
class _apidocs_render_py_ApiMarkdownRenderer {
<<class>>
+module_display_name(entity)
+page_slug(module_uid)
+jsonl_index_path(config)
+jsonl_warnings_path(config)
+_jsonl_line(record)
+jsonl_pages(reference, config)
+read_api_jsonl(api_dir, config)
+anchor_slug(qualname)
+_cell(text)
+_inline_code(text)
}
class _apidocs_render_py_ApiDocsWriter {
<<class>>
+module_display_name(entity)
+page_slug(module_uid)
+jsonl_index_path(config)
+jsonl_warnings_path(config)
+_jsonl_line(record)
+jsonl_pages(reference, config)
+read_api_jsonl(api_dir, config)
+anchor_slug(qualname)
+_cell(text)
+_inline_code(text)
}
class _app_py_readmenatorApplication {
<<class>>
+__init__(self, config)
+_scan(self, target_dir)
+_scan_with_content(self, target_dir)
+_resolve_imports(self, nodes, edges, target_dir)
+_apply_project_config(self, target_dir)
+_write_viewer_config(self, root)
+run(self, target_dir, resolve_imports, run_analysis, run_security, run_v2_analysis)
+check_freshness(self, target_dir)
+_maybe_refresh_pages(self, root)
+_maybe_publish_github_wiki(self, root)
}
class _bundlegraph_py_BundleGraphRenderer {
<<class>>
+_json_script(value)
+__init__(self, config)
+build_payload(self, force_payload)
+page_settings(self, force_payload, explorer_href, live_api)
+render(self, force_payload, title, home_href, explorer_href, live_api)
+write(self, output_path, force_payload, title, home_href, explorer_href)
+thumbnail_svg(self, force_payload)
}
class _cache_py_FileCache {
<<class>>
+source_fingerprint(project_root, file_ids)
+__init__(self, config, project_root)
+load(self)
+save(self, hashes)
+compute_hash(self, file_path)
+compute_hashes(self, file_paths)
+find_changed(self, file_paths)
+prune_deleted(self, current_file_ids)
+save_analysis(self, key, data)
+load_analysis(self, key)
}
classDiagram
direction LR
class _category_py_EdgeKind {
<<class>>
+build_category_from_edges(edges, resolved_edges, node_ids)
+_infer_edge_kind(relation)
+__str__(self)
+weight(self)
+__init__(self)
+add_object(self, obj_id)
+add_morphism(self, m)
+objects(self)
+morphisms(self)
+outgoing(self, obj_id)
}
class _category_py_Morphism {
<<class>>
+build_category_from_edges(edges, resolved_edges, node_ids)
+_infer_edge_kind(relation)
+__str__(self)
+weight(self)
+__init__(self)
+add_object(self, obj_id)
+add_morphism(self, m)
+objects(self)
+morphisms(self)
+outgoing(self, obj_id)
}
class _category_py_Category {
<<class>>
+build_category_from_edges(edges, resolved_edges, node_ids)
+_infer_edge_kind(relation)
+__str__(self)
+weight(self)
+__init__(self)
+add_object(self, obj_id)
+add_morphism(self, m)
+objects(self)
+morphisms(self)
+outgoing(self, obj_id)
}
class _category_py_TypedGraph {
<<class>>
+build_category_from_edges(edges, resolved_edges, node_ids)
+_infer_edge_kind(relation)
+__str__(self)
+weight(self)
+__init__(self)
+add_object(self, obj_id)
+add_morphism(self, m)
+objects(self)
+morphisms(self)
+outgoing(self, obj_id)
}
class _components_py_ComponentDiagramBuilder {
<<class>>
+sanitize(name)
+_rank_layout(cids, pairs)
+__init__(self, config)
+build(self, nodes, edges, resolved_edges, analysis, project_root, content_map)
+mermaid_lr(self, components, relations, docs_ref)
+overview_markdown(self, analysis, docs_ref, rel_prefix)
+component_markdown(self, component)
+write(self, analysis, output_dir, project_root)
+_rel_prefix(project_root, output_dir)
+_components_of(self, nodes, analysis)
}
class _concepts_py_ConceptExtractor {
<<class>>
+verb_for_relation(relation)
+__init__(self, config)
+extract(self, nodes, edges, resolved_edges)
+_tokens_for_node(self, node)
+_tokenize(self, text)
+_build_relations(self, edges, file_to_concepts)
+_build_dialectic(self, concepts, relations)
}
readmenator/_config.py, readmenator/_cpg.py, readmenator/_cursorrules_generator.py, readmenator/_dataflow.py, readmenator/_dead_code.py
classDiagram
direction LR
class _config_py_Config {
<<class>>
}
class _cpg_py_CodePropertyGraph {
<<class>>
+__init__(self, privacy_mode, cpg_context)
+generate(self, nodes, edges, resolved_edges, analysis, findings)
+_severity_counts(self, findings)
+_build_symbol_list(self, node)
+_compute_node_hash(node)
}
class _cursorrules_generator_py_CursorRulesGenerator {
<<class>>
+__init__(self, config)
+generate(self, nodes, edges, analysis, layers, violations, project_root)
+_build_base_rules(self)
+_extract_layer_constraints(self, layers)
+_extract_analysis_constraints(self, analysis)
+_extract_violation_rules(self, violations)
+_write_file(self, project_root, content)
}
class _dataflow_py_DataflowAnalyzer {
<<class>>
+_strip_noise(line)
+_strip_block_comments(content)
+_strip_sizeof(line)
+_blank(match)
+__init__(self, config)
+analyze(self, nodes, content_map)
+_brace_depths(lines)
+_function_spans(self, node, total_lines, depths)
+_analyze_function(self, file_id, func, lines, start, end)
+_scan_reads(text, lineno, reads, assigned, declared_names)
}
class _dead_code_py_DeadCodeStripper {
<<class>>
+__init__(self, config)
+identify(self, nodes, edges, resolved_edges)
+_build_in_degree_map(self, nodes, resolved_edges)
+_classify_recommendation(self, symbol)
}
classDiagram
direction LR
class _diagrams_py_MapNode {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_MapEdge {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_MapView {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_SystemMap {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_MapDiagnostic {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_MapReceipt {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_MapDelta {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_SystemMapValidator {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_SystemMapBuilder {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_InteractiveMapRenderer {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_VisNetworkRenderer {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
class _diagrams_py_DocsSitePublisher {
<<class>>
+_escape_markup(value)
+_json_payload(payload)
+_fill_template(template, values)
+_role_color(role, config)
+__init__(self, config)
+_effective_canvas(self, system_map)
+validate(self, system_map)
+__init__(self, config)
+supported_kinds(self)
+_is_full(self, full)
}
readmenator/_docstrings.py, readmenator/_documentation.py, readmenator/_embed.py, readmenator/_exclusions.py
classDiagram
direction LR
class _docstrings_py_DocField {
<<class>>
+clean_text(text)
+detect_style(text)
+split_summary(text)
+_indent(line)
+_join_block(lines)
+_section_key(header)
+_apply_section(doc, key, body, item_mode)
+_strip_fence(text)
+_split_refs(text)
+_parse_items(body, mode, allow_bare)
}
class _docstrings_py_DocComment {
<<class>>
+clean_text(text)
+detect_style(text)
+split_summary(text)
+_indent(line)
+_join_block(lines)
+_section_key(header)
+_apply_section(doc, key, body, item_mode)
+_strip_fence(text)
+_split_refs(text)
+_parse_items(body, mode, allow_bare)
}
class _documentation_py_DocumentationGenerator {
<<class>>
+__init__(self, config)
+_ranking_version(self)
+_get_git_commit()
+generate(self, nodes, edges, resolved_edges, analysis, layers, findings, analysis_v2, ranked, content_map)
+_apply_context_budget(self, content, nodes, edges, resolved_edges, analysis, analysis_v2, findings)
+_build_toc(self, nodes, analysis, layers, findings, analysis_v2, is_truncated, ranked, extra_sections)
+_build_layers(self, layers, nodes)
+_build_dashboard(self, nodes, edges, resolved_edges)
+_build_god_nodes(self, analysis, ranked)
+_build_community_analysis(self, analysis, nodes)
}
class _embed_py_Embedder {
<<class>>
+_tokens(text)
+_jaccard(left, right)
+__init__(self, config)
+dependencies_available(self)
+encode(self, texts)
+near_jaccard(self, query, corpus, top_k)
+cluster_jaccard(self, corpus, threshold)
+project_jaccard(self, corpus)
+find(item)
+union(left, right)
}
class _exclusions_py_ExclusionEntry {
<<class>>
+parse_exclusions(text)
+_to_entry(data)
+_unquote(value)
+matches(self, file_path, rule_id)
+__init__(self, config)
+entries(self)
+load(self, project_root)
+is_excluded(self, file_path, rule_id)
+filter_findings(self, findings)
}
class _exclusions_py_ExclusionList {
<<class>>
+parse_exclusions(text)
+_to_entry(data)
+_unquote(value)
+matches(self, file_path, rule_id)
+__init__(self, config)
+entries(self)
+load(self, project_root)
+is_excluded(self, file_path, rule_id)
+filter_findings(self, findings)
}
classDiagram
direction LR
class _explorer_py_ExplorerState {
<<class>>
+find_free_port(preferred)
+serve(state, host, port, open_browser)
+build_state(config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
+write_static(state, output_dir, filename)
+__init__(self, config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
+samples(self)
+source(self, file_id)
+log_message(self, fmt)
+do_GET(self)
+_serve_html(self)
}
class _explorer_py__Handler {
<<class>>
+find_free_port(preferred)
+serve(state, host, port, open_browser)
+build_state(config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
+write_static(state, output_dir, filename)
+__init__(self, config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
+samples(self)
+source(self, file_id)
+log_message(self, fmt)
+do_GET(self)
+_serve_html(self)
}
class _exporter_py_GraphExporter {
<<class>>
+__init__(self, config)
+to_json(self, nodes, edges, resolved_edges, analysis, findings, concept_graph)
+to_html(self, nodes, edges, resolved_edges, analysis, findings)
+_community_color_map(self, analysis)
+_lighten(hex_color)
+_render_html(self, vis_nodes, vis_edges, analysis, findings)
+to_svg(self, nodes, edges, resolved_edges, analysis)
+_render_truncated_svg(self, total_nodes)
+_layout_spring(self, nodes, edges, node_map)
+to_graphml(self, nodes, edges, resolved_edges, analysis)
}
classDiagram
direction LR
class _flowcharts_py_Component {
<<class>>
+mermaid_id(text, prefix)
+mermaid_text(text, limit)
+tarjan_scc(vertices, adjacency)
+transitive_reduction(adjacency)
+eades_lin_smyth(vertices, weight)
+_first_sentence(text)
+to_mermaid(graph, direction)
+build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
+render_architecture_section(config, nodes, resolved_edges, analysis, layers)
+render_flows_section(config, nodes, edges, resolved_edges, content_map)
}
class _flowcharts_py_ArchitectureDiagramBuilder {
<<class>>
+mermaid_id(text, prefix)
+mermaid_text(text, limit)
+tarjan_scc(vertices, adjacency)
+transitive_reduction(adjacency)
+eades_lin_smyth(vertices, weight)
+_first_sentence(text)
+to_mermaid(graph, direction)
+build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
+render_architecture_section(config, nodes, resolved_edges, analysis, layers)
+render_flows_section(config, nodes, edges, resolved_edges, content_map)
}
class _flowcharts_py_EntryPoint {
<<class>>
+mermaid_id(text, prefix)
+mermaid_text(text, limit)
+tarjan_scc(vertices, adjacency)
+transitive_reduction(adjacency)
+eades_lin_smyth(vertices, weight)
+_first_sentence(text)
+to_mermaid(graph, direction)
+build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
+render_architecture_section(config, nodes, resolved_edges, analysis, layers)
+render_flows_section(config, nodes, edges, resolved_edges, content_map)
}
class _flowcharts_py_FlowStep {
<<class>>
+mermaid_id(text, prefix)
+mermaid_text(text, limit)
+tarjan_scc(vertices, adjacency)
+transitive_reduction(adjacency)
+eades_lin_smyth(vertices, weight)
+_first_sentence(text)
+to_mermaid(graph, direction)
+build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
+render_architecture_section(config, nodes, resolved_edges, analysis, layers)
+render_flows_section(config, nodes, edges, resolved_edges, content_map)
}
class _flowcharts_py_ExecutionFlowBuilder {
<<class>>
+mermaid_id(text, prefix)
+mermaid_text(text, limit)
+tarjan_scc(vertices, adjacency)
+transitive_reduction(adjacency)
+eades_lin_smyth(vertices, weight)
+_first_sentence(text)
+to_mermaid(graph, direction)
+build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
+render_architecture_section(config, nodes, resolved_edges, analysis, layers)
+render_flows_section(config, nodes, edges, resolved_edges, content_map)
}
class _flowcharts_py__ControlFlowBuilder {
<<class>>
+mermaid_id(text, prefix)
+mermaid_text(text, limit)
+tarjan_scc(vertices, adjacency)
+transitive_reduction(adjacency)
+eades_lin_smyth(vertices, weight)
+_first_sentence(text)
+to_mermaid(graph, direction)
+build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
+render_architecture_section(config, nodes, resolved_edges, analysis, layers)
+render_flows_section(config, nodes, edges, resolved_edges, content_map)
}
Machine-readable Code Property Graph (CPG) in JSON-LD format. This block allows AI agents to parse the full structural graph without additional file reads. Compatible with GraphRAG pipelines.
{"@context": "https://schema.org", "analysis": {"communities": [{"cohesion": 0.3, "id": 0, "label": "readmenator: _video", "size": 35}, {"cohesion": 0.524, "id": 1, "label": "readmenator/parsers", "size": 35}, {"cohesion": 0.329, "id": 2, "label": "readmenator: _agent_output", "size": 19}, {"cohesion": 0.317, "id": 3, "label": "readmenator: _graphrag", "size": 18}, {"cohesion": 0.26, "id": 4, "label": "readmenator: _pipeline", "size": 17}, {"cohesion": 0.391, "id": 5, "label": "readmenator: _diagrams", "size": 15}, {"cohesion": 0.443, "id": 6, "label": "readmenator: _flowcharts", "size": 12}], "god_nodes": [{"node_id": "readmenator/_models.py", "score": 206.3}, {"node_id": "readmenator/_config.py", "score": 200.1}, {"node_id": "readmenator/_pipeline.py", "score": 93.3}, {"node_id": "readmenator/_app.py", "score": 92.7}, {"node_id": "readmenator/parsers/__init__.py", "score": 48.2}, {"node_id": "readmenator/parsers/_base.py", "score": 44.6}, {"node_id": "readmenator/_forcegraph.py", "score": 44.3}, {"node_id": "tests/test_parsers_property.py", "score": 42.7}, {"node_id": "readmenator/_diagrams.py", "score": 39.7}, {"node_id": "tests/test_interactive_graph.py", "score": 34.0}], "surprising_connections": [{"hops": 5, "source": "readmenator/_docstrings.py", "target": "tests/test_graphlayout.py"}, {"hops": 5, "source": "readmenator.py", "target": "tests/test_agent_injector.py"}, {"hops": 5, "source": "readmenator.py", "target": "tests/test_graphlayout.py"}, {"hops": 5, "source": "readmenator.py", "target": "tests/test_readme_injector.py"}, {"hops": 5, "source": "tests/test_agent_injector.py", "target": "tests/test_graphlayout.py"}]}, "edges": [{"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._mcp_server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._concepts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "argparse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._mcp_server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "glob"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "importlib.util"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "random"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._docstrings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._pytypes"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._apidocs_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._docstrings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._cursorrules_generator"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._dead_code"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._explorer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._explorer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._linter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._pipeline"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._query"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._refactorizer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._yaralite"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._watcher"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._video"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._bundlegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph_page.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "enum"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "datetime"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_config.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_config.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._cpg"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._mermaid"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "sentence_transformers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "fnmatch"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "socket"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "http.server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "urllib.parse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "urllib.parse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "webbrowser"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "textwrap"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._pytypes"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "textwrap"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._forcegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph_page.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "posixpath"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gitmeta.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gitmeta.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gitmeta.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "random"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "numpy"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "numpy"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "base64"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "gzip"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._query"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "datetime"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "urllib.request"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._apidocs_render"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._concepts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._cpg"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._dataflow"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._documentation"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._embed"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._exclusions"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._exporter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._provenance"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._scantext"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._memory"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._skill_installer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._hotspots"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._layer_rules"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._rule_gen"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._sarif"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._taint"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._video"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "tomllib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "tomli"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "posixpath"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "readmenator.parsers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "enum"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "define"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getElementsByTagName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelector"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelectorAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "matches"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "matches"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getPropertyValue"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getComputedStyle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getPropertyValue"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cloneNode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cloneNode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "initEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "initEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dispatchEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelector"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelectorAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "splice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createSVGPoint"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "matrixTransform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "inverse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getBoundingClientRect"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selectAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "enter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "append"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "merge"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "order"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compareDocumentPosition"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sort"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "order"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "property"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "preventDefault"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "create"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHex"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseInt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHex8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "darker"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clamp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "darker"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clamp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rotate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rotate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "skewX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "skewX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "consolidate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "log"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "log"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "log"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearInterval"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setInterval"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "splice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "attrTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "styleTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "styleTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "styleTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "size"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "domain"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "domain"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "preventDefault"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertY"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertY"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "property"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transition"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "duration"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hypot"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "property"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "interrupt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "emit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "emit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "emit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "datum"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isPlaying"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nextId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_swapEndStartRepeatValues"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_setupProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_handleRelativeValue"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "warn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reverse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_setupProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopChainedTweens"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onStopCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "warn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onStartCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onEveryStartCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trunc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_easingFunction"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onUpdateCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_swapEndStartRepeatValues"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onRepeatCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onCompleteCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_interpolationFunction"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_updateProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetProps"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "substr"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "desaturate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsv"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getBrightness"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isDark"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsv"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsva"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsla"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "gradient"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toPercentageRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHexString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHexString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex8String"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex8String"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHslString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsvString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHexString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAlpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fromRatio"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "random"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "random"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "ratiodef"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLuminance"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLuminance"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "readability"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toUpperCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "readability"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isReadable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "mostReadable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseInt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseInt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "padStart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "vnode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "vnode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sort"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sub"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentWillMount"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shouldComponentUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentWillUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentDidUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "render"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "render"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getChildContext"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getSnapshotBeforeUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__c"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createTextNode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__m"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__u"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentWillUnmount"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getOwnPropertySymbols"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getOwnPropertyDescriptor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setState"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentDidCatch"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "random"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getElementsByTagName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "append"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "attr"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "calc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "calc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "calc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "text"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "append"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "html"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "warn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "text"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "text"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cbrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "initialize"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visitAfter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "splice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "approximately"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "approximately"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arcfn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli4"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "intersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "findbbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shapeintersections"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "approximately"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bboxoverlap"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pointsToString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addCurve"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curve"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "expandbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "quadraticFromPoints"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cubicFromPoints"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getUtils"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getUtils"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getUtils"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pointsToString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toSVG"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setRatios"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "verify"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "coordDigest"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "coordDigest"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derive"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "computedirection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "computedirection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "projectionratio"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abcratio"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLUT"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLUT"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "project"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLUT"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "closest"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "point"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "computeWithRatios"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "raise"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dderivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "inflections"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "inflections"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal3"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal3"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hull"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lerp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hull"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "extrema"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "droots"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sort"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "extrema"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getminmax"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "overlaps"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bboxoverlap"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "simple"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "extrema"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "simple"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "raise"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli4"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli4"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "outline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reverse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "outlineshapes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "outline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeshape"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "intersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineIntersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curveintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selfintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineIntersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "roots"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "between"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "between"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selfintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curveintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curveintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "overlaps"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pairiteration"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arcs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_iterate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_error"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_iterate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getccenter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_error"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getOwnPropertySymbols"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "values"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "range"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "range"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "domain"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "unknown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNeedsRedraw"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alphaDecay"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "velocityDecay"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onEngineStop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onEngineTick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "moveTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setLineDash"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stroke"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "moveTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fill"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkDirectionalParticleCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fill"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fill"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "init"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "links"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "values"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "strength"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onFinishUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_destructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translateBy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTransform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearRect"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lookup"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "graphData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "graphData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "flushShadowCanvas"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "flushShadowCanvas"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleExtent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleExtent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "easing"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onComplete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translateTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "easing"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onComplete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getGraphBbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "centerAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cancelAnimationFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_animationCycle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pauseAnimation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "graphData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cooldownTicks"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeColor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkColor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isShadow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getContext"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getContext"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getImageData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lookup"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "mouse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "mouse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "subject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "d3AlphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNodeDrag"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "d3AlphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "d3AlphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNodeDragEnd"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onZoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNeedsRedraw"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onFinishUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getBoundingClientRect"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "requestAnimationFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onBackgroundClick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onBackgroundRightClick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "preventDefault"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forceGraph"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shadowGraph"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkWidth"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "globalScale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tickFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isEngineRunning"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "content"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onRenderFramePre"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "globalScale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tickFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onRenderFramePost"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "requestAnimationFrame"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "colorsys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "multiprocessing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "textwrap"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "networkx"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._c"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._python"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._go"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._rust"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._javascript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._java"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._csharp"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._shell"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._php"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._dart"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._gdscript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._nim"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._assembly"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._ruby"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._swift"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._kotlin"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._scala"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._lua"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._elixir"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator.py", "target": "readmenator.__main__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "argparse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "shlex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "datetime"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "base64"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "gzip"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._apidocs_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._apidocs_render"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._docstrings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "readmenator._concepts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_config.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_config.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "readmenator._cpg"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "readmenator._cursorrules_generator"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._dataflow"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "readmenator._dead_code"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._documentation"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "readmenator._exporter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._documentation"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._pytypes"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._apidocs_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "readmenator._hotspots"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "base64"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "gzip"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._embed"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._exclusions"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._explorer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._exporter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._provenance"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._scantext"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._yaralite"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "readmenator._layer_rules"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "random"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._forcegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "readmenator._linter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "readmenator._mcp_server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._memory"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._skill_installer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mermaid.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mermaid.py", "target": "readmenator._mermaid"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mermaid.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_models.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_models.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "readmenator.parsers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "readmenator.parsers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._python"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._c"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._go"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._rust"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._javascript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._java"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._csharp"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._shell"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._php"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._dart"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._gdscript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._nim"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._ruby"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._swift"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._kotlin"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._scala"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._lua"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._elixir"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "hypothesis"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._forcegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._bundlegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_query.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_query.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_query.py", "target": "readmenator._query"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "pytest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._explain"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._projections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._refactorizer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_resolver.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_resolver.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_resolver.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "readmenator._rule_gen"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "readmenator._sarif"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "readmenator._taint"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._taint"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "pytest_bdd"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._video"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_app.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_category.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_project_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_diagrams.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_mcp_server.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_components.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_ollama.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_symindex.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_concepts.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_rank.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_readme_injector.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_uml.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_app.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_mcp_server.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_project_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_cache.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_folder_readme.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_gitmeta.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_purpose.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_resolver.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_security.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analytics.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analytics.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analyzer.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analyzer.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_apidocs.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator