[
  {
    "fragmentId": "method:1bnazn2:render-component-markup__fragment",
    "ownerFileId": "file:1sm6kjd:routes-razor",
    "ownerSymbolId": "method:1bnazn2:render-component-markup",
    "ownerSymbolName": "Render (component markup)",
    "entryNodeId": "method:1bnazn2:render-component-markup__entry",
    "exitNodeIds": [
      "method:1bnazn2:render-component-markup__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1bnazn2:render-component-markup__entry",
        "kind": "entry",
        "label": "Render (component markup) entry",
        "line": 1,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.99,
        "detail": "Renders the app Router, wraps route rendering in an authorization view and an error boundary; shows NotFound and an error UI with a retry action."
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_1_error_boundary_1__linear",
        "kind": "statement",
        "label": "Global error handling UI",
        "line": 1,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "ErrorBoundary with ErrorContent displays an error card and exception message"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_3_orchestration_3__linear",
        "kind": "statement",
        "label": "Routing orchestration",
        "line": 3,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "<Router AppAssembly=\"@typeof(Routes).Assembly\"> selects pages based on route data"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_5_authorization_gate_5__linear",
        "kind": "statement",
        "label": "AuthorizeRouteView enforces authorization for routed pages",
        "line": 5,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Wraps routed components and provides a NotAuthorized slot"
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_5_MainHubLayout",
        "kind": "call",
        "label": "MainHubLayout",
        "line": 5,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88,
        "detail": "used as DefaultLayout for AuthorizeRouteView"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__condition",
        "kind": "condition",
        "label": "NotAuthorized fallback",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Renders RedirectToLogin when route requires auth and user is not authorized"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__true",
        "kind": "branch-true",
        "label": "true",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__false",
        "kind": "branch-false",
        "label": "false",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
        "kind": "statement",
        "label": "merge",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_7_RedirectToLogin",
        "kind": "call",
        "label": "RedirectToLogin",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88,
        "detail": "none (renders redirect-to-login component in NotAuthorized slot)"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_10_focus_navigation_10__linear",
        "kind": "statement",
        "label": "FocusOnNavigate usage",
        "line": 10,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Focuses the h1 element on navigation using FocusOnNavigate (improves accessibility)"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__condition",
        "kind": "condition",
        "label": "NotFound fallback",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Renders NotFound component when no route matches"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__true",
        "kind": "branch-true",
        "label": "true",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__false",
        "kind": "branch-false",
        "label": "false",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
        "kind": "statement",
        "label": "merge",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_13_NotFound",
        "kind": "call",
        "label": "NotFound",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88,
        "detail": "renders NotFound page for unmatched routes"
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_21_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88,
        "detail": "icon props { Name: 'alert-triangle', Size: 48, Color: '#ff4444' }"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_27_display_27__linear",
        "kind": "statement",
        "label": "Surface exception message",
        "line": 27,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Renders @ex.Message inside <code>"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "kind": "loop-entry",
        "label": "Retry/recover action",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Button onclick triggers lambda that calls _errorBoundary?.Recover() to attempt UI recovery"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_body",
        "kind": "loop-body",
        "label": "Button onclick triggers lambda that calls _errorBoundary?.Recover() to attempt UI recovery",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_exit",
        "kind": "loop-exit",
        "label": "exit loop",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition",
        "kind": "condition",
        "label": "_errorBoundary != null",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7,
        "detail": "Uses null-conditional operator when invoking Recover"
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__true",
        "kind": "branch-true",
        "label": "calls Recover()",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__false",
        "kind": "branch-false",
        "label": "no-op",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge",
        "kind": "statement",
        "label": "merge",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_31_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 31,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88,
        "detail": "icon props { Name: 'refresh-cw', Size: 16 }"
      },
      {
        "id": "method:1bnazn2:render-component-markup__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 41,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1bnazn2:render-component-markup__entry__method:1bnazn2:render-component-markup__action_1_error_boundary_1__linear",
        "from": "method:1bnazn2:render-component-markup__entry",
        "to": "method:1bnazn2:render-component-markup__action_1_error_boundary_1__linear",
        "kind": "next",
        "line": 1,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_1_error_boundary_1__linear__method:1bnazn2:render-component-markup__action_3_orchestration_3__linear",
        "from": "method:1bnazn2:render-component-markup__action_1_error_boundary_1__linear",
        "to": "method:1bnazn2:render-component-markup__action_3_orchestration_3__linear",
        "kind": "next",
        "line": 3,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_3_orchestration_3__linear__method:1bnazn2:render-component-markup__action_5_authorization_gate_5__linear",
        "from": "method:1bnazn2:render-component-markup__action_3_orchestration_3__linear",
        "to": "method:1bnazn2:render-component-markup__action_5_authorization_gate_5__linear",
        "kind": "next",
        "line": 5,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_5_authorization_gate_5__linear__call_method:1bnazn2:render-component-markup__call_5_MainHubLayout",
        "from": "method:1bnazn2:render-component-markup__action_5_authorization_gate_5__linear",
        "to": "method:1bnazn2:render-component-markup__call_5_MainHubLayout",
        "kind": "call",
        "label": "used as DefaultLayout for AuthorizeRouteView",
        "line": 5,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_5_MainHubLayout__method:1bnazn2:render-component-markup__action_6_fallback_6__condition",
        "from": "method:1bnazn2:render-component-markup__call_5_MainHubLayout",
        "to": "method:1bnazn2:render-component-markup__action_6_fallback_6__condition",
        "kind": "fallback",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__condition__method:1bnazn2:render-component-markup__action_6_fallback_6__true",
        "from": "method:1bnazn2:render-component-markup__action_6_fallback_6__condition",
        "to": "method:1bnazn2:render-component-markup__action_6_fallback_6__true",
        "kind": "condition-true",
        "label": "true",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__condition__method:1bnazn2:render-component-markup__action_6_fallback_6__false",
        "from": "method:1bnazn2:render-component-markup__action_6_fallback_6__condition",
        "to": "method:1bnazn2:render-component-markup__action_6_fallback_6__false",
        "kind": "condition-false",
        "label": "false",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__true__method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
        "from": "method:1bnazn2:render-component-markup__action_6_fallback_6__true",
        "to": "method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
        "kind": "next",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__false__method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
        "from": "method:1bnazn2:render-component-markup__action_6_fallback_6__false",
        "to": "method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
        "kind": "next",
        "line": 6,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_6_fallback_6__merge__call_method:1bnazn2:render-component-markup__call_7_RedirectToLogin",
        "from": "method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
        "to": "method:1bnazn2:render-component-markup__call_7_RedirectToLogin",
        "kind": "call",
        "label": "none (renders redirect-to-login component in NotAuthorized slot)",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_7_RedirectToLogin__method:1bnazn2:render-component-markup__action_10_focus_navigation_10__linear",
        "from": "method:1bnazn2:render-component-markup__call_7_RedirectToLogin",
        "to": "method:1bnazn2:render-component-markup__action_10_focus_navigation_10__linear",
        "kind": "next",
        "line": 10,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_10_focus_navigation_10__linear__method:1bnazn2:render-component-markup__action_12_fallback_12__condition",
        "from": "method:1bnazn2:render-component-markup__action_10_focus_navigation_10__linear",
        "to": "method:1bnazn2:render-component-markup__action_12_fallback_12__condition",
        "kind": "fallback",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__condition__method:1bnazn2:render-component-markup__action_12_fallback_12__true",
        "from": "method:1bnazn2:render-component-markup__action_12_fallback_12__condition",
        "to": "method:1bnazn2:render-component-markup__action_12_fallback_12__true",
        "kind": "condition-true",
        "label": "true",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__condition__method:1bnazn2:render-component-markup__action_12_fallback_12__false",
        "from": "method:1bnazn2:render-component-markup__action_12_fallback_12__condition",
        "to": "method:1bnazn2:render-component-markup__action_12_fallback_12__false",
        "kind": "condition-false",
        "label": "false",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__true__method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
        "from": "method:1bnazn2:render-component-markup__action_12_fallback_12__true",
        "to": "method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
        "kind": "next",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__false__method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
        "from": "method:1bnazn2:render-component-markup__action_12_fallback_12__false",
        "to": "method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
        "kind": "next",
        "line": 12,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_12_fallback_12__merge__call_method:1bnazn2:render-component-markup__call_13_NotFound",
        "from": "method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
        "to": "method:1bnazn2:render-component-markup__call_13_NotFound",
        "kind": "call",
        "label": "renders NotFound page for unmatched routes",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_13_NotFound__call_method:1bnazn2:render-component-markup__call_21_NexusIcon",
        "from": "method:1bnazn2:render-component-markup__call_13_NotFound",
        "to": "method:1bnazn2:render-component-markup__call_21_NexusIcon",
        "kind": "call",
        "label": "icon props { Name: 'alert-triangle', Size: 48, Color: '#ff4444' }",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_21_NexusIcon__method:1bnazn2:render-component-markup__action_27_display_27__linear",
        "from": "method:1bnazn2:render-component-markup__call_21_NexusIcon",
        "to": "method:1bnazn2:render-component-markup__action_27_display_27__linear",
        "kind": "next",
        "line": 27,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_27_display_27__linear__method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "from": "method:1bnazn2:render-component-markup__action_27_display_27__linear",
        "to": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "kind": "next",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry__method:1bnazn2:render-component-markup__action_30_retry_30__loop_body",
        "from": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "to": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_body",
        "kind": "loop-body",
        "label": "iterate",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_body__method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "from": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_body",
        "to": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "kind": "retry",
        "label": "retry",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry__method:1bnazn2:render-component-markup__action_30_retry_30__loop_exit",
        "from": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry",
        "to": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_exit",
        "kind": "loop-exit",
        "label": "exit",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_exit__method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition",
        "from": "method:1bnazn2:render-component-markup__action_30_retry_30__loop_exit",
        "to": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition",
        "kind": "next",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition__method:1bnazn2:render-component-markup__action_30_guard_clause_30__true",
        "from": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition",
        "to": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__true",
        "kind": "condition-true",
        "label": "calls Recover()",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition__method:1bnazn2:render-component-markup__action_30_guard_clause_30__false",
        "from": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__condition",
        "to": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__false",
        "kind": "condition-false",
        "label": "no-op",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__true__method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge",
        "from": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__true",
        "to": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge",
        "kind": "next",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__false__method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge",
        "from": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__false",
        "to": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge",
        "kind": "next",
        "line": 30,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge__call_method:1bnazn2:render-component-markup__call_31_NexusIcon",
        "from": "method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge",
        "to": "method:1bnazn2:render-component-markup__call_31_NexusIcon",
        "kind": "call",
        "label": "icon props { Name: 'refresh-cw', Size: 16 }",
        "line": 31,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.88
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_31_NexusIcon__implicit_return",
        "from": "method:1bnazn2:render-component-markup__call_31_NexusIcon",
        "to": "method:1bnazn2:render-component-markup__implicit_return",
        "kind": "return",
        "line": 41,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:1bnazn2:render-component-markup__call_5_MainHubLayout__jump_NexusReader_UI_Shared_Layouts_MainHubLayout_razor_MainHubLayout",
        "fromNodeId": "method:1bnazn2:render-component-markup__call_5_MainHubLayout",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Layouts/MainHubLayout.razor",
        "targetHint": "MainHubLayout",
        "line": 5,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "reason": "Call target MainHubLayout in NexusReader.UI.Shared/Layouts/MainHubLayout.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_7_RedirectToLogin__jump_NexusReader_UI_Shared_RedirectToLogin_razor_RedirectToLogin",
        "fromNodeId": "method:1bnazn2:render-component-markup__call_7_RedirectToLogin",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/RedirectToLogin.razor",
        "targetHint": "RedirectToLogin",
        "line": 7,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "reason": "Call target RedirectToLogin in NexusReader.UI.Shared/RedirectToLogin.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_13_NotFound__jump_NexusReader_UI_Shared_Pages_NotFound_razor_NotFound",
        "fromNodeId": "method:1bnazn2:render-component-markup__call_13_NotFound",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Pages/NotFound.razor",
        "targetHint": "NotFound",
        "line": 13,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "reason": "Call target NotFound in NexusReader.UI.Shared/Pages/NotFound.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_21_NexusIcon__jump_NexusReader_UI_Shared_Components_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:1bnazn2:render-component-markup__call_21_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:1bnazn2:render-component-markup__call_31_NexusIcon__jump_NexusReader_UI_Shared_Components_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:1bnazn2:render-component-markup__call_31_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 31,
        "sourcePath": "NexusReader.UI.Shared/Routes.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [
      "method:1bnazn2:render-component-markup__action_30_retry_30__loop_body__method:1bnazn2:render-component-markup__action_30_retry_30__loop_entry"
    ],
    "mergeNodeIds": [
      "method:1bnazn2:render-component-markup__action_6_fallback_6__merge",
      "method:1bnazn2:render-component-markup__action_12_fallback_12__merge",
      "method:1bnazn2:render-component-markup__action_30_guard_clause_30__merge"
    ],
    "language": "unknown",
    "confidence": 0.98,
    "lineSpan": {
      "start": 1,
      "end": 41
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Routes.razor",
        "line": 1,
        "summary": "Control-flow fragment extracted for method Render (component markup).",
        "kind": "file-summary"
      }
    ]
  }
]