{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "label": "server.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1"}, {"id": "server_websocketserverprotocol", "label": "WebSocketServerProtocol", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L56"}, {"id": "websocketcommonprotocol", "label": "WebSocketCommonProtocol", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "server_websocketserverprotocol_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L91"}, {"id": "server_websocketserverprotocol_connection_made", "label": ".connection_made()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L136"}, {"id": "server_websocketserverprotocol_handler", "label": ".handler()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L149"}, {"id": "server_websocketserverprotocol_read_http_request", "label": ".read_http_request()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L265"}, {"id": "server_websocketserverprotocol_write_http_response", "label": ".write_http_response()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L294"}, {"id": "server_websocketserverprotocol_process_request", "label": ".process_request()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L322"}, {"id": "server_process_origin", "label": "process_origin()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L372"}, {"id": "server_process_extensions", "label": "process_extensions()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L400"}, {"id": "server_websocketserverprotocol_process_subprotocol", "label": ".process_subprotocol()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L482"}, {"id": "server_websocketserverprotocol_select_subprotocol", "label": ".select_subprotocol()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L514"}, {"id": "server_websocketserverprotocol_handshake", "label": ".handshake()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L554"}, {"id": "server_websocketserver", "label": "WebSocketServer", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L649"}, {"id": "server_websocketserver_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L665"}, {"id": "server_websocketserver_wrap", "label": ".wrap()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L679"}, {"id": "server_websocketserver_register", "label": ".register()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L712"}, {"id": "server_websocketserver_unregister", "label": ".unregister()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L719"}, {"id": "server_websocketserver_close", "label": ".close()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L726"}, {"id": "server_websocketserver_wait_closed", "label": ".wait_closed()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L795"}, {"id": "server_websocketserver_get_loop", "label": ".get_loop()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L816"}, {"id": "server_websocketserver_is_serving", "label": ".is_serving()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L823"}, {"id": "server_websocketserver_start_serving", "label": ".start_serving()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L830"}, {"id": "server_websocketserver_serve_forever", "label": ".serve_forever()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L844"}, {"id": "server_sockets", "label": "sockets()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L863"}, {"id": "server_websocketserver_aenter", "label": ".__aenter__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L870"}, {"id": "server_websocketserver_aexit", "label": ".__aexit__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L873"}, {"id": "server_serve", "label": "Serve", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L883"}, {"id": "server_serve_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L976"}, {"id": "server_serve_aenter", "label": ".__aenter__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1104"}, {"id": "server_serve_aexit", "label": ".__aexit__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1107"}, {"id": "server_serve_await", "label": ".__await__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1118"}, {"id": "server_serve_await_impl", "label": ".__await_impl__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1122"}, {"id": "server_unix_serve", "label": "unix_serve()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1135"}, {"id": "server_remove_path_argument", "label": "remove_path_argument()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1162"}, {"id": "server_rationale_57", "label": "WebSocket server connection. :class:`WebSocketServerProtocol` provides :met", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L57"}, {"id": "server_rationale_137", "label": "Register connection and initialize a task to handle it.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L137"}, {"id": "server_rationale_150", "label": "Handle the lifecycle of a WebSocket connection. Since this method doesn", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L150"}, {"id": "server_rationale_266", "label": "Read request line and headers from the HTTP request. If the request con", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L266"}, {"id": "server_rationale_297", "label": "Write status line and headers to the HTTP response. This coroutine is a", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L297"}, {"id": "server_rationale_325", "label": "Intercept the HTTP request and return an HTTP response if appropriate.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L325"}, {"id": "server_rationale_375", "label": "Handle the Origin HTTP request header. Args: headers: Reque", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L375"}, {"id": "server_rationale_404", "label": "Handle the Sec-WebSocket-Extensions HTTP request header. Accept or reje", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L404"}, {"id": "server_rationale_485", "label": "Handle the Sec-WebSocket-Protocol HTTP request header. Return Sec-WebSo", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L485"}, {"id": "server_rationale_519", "label": "Pick a subprotocol among those supported by the client and the server.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L519"}, {"id": "server_rationale_561", "label": "Perform the server side of the opening handshake. Args: ori", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L561"}, {"id": "server_rationale_650", "label": "WebSocket server returned by :func:`serve`. This class mirrors the API of :", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L650"}, {"id": "server_rationale_680", "label": "Attach to a given :class:`~asyncio.Server`. Since :meth:`~asyncio.loop.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L680"}, {"id": "server_rationale_713", "label": "Register a connection with this server.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L713"}, {"id": "server_rationale_720", "label": "Unregister a connection with this server.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L720"}, {"id": "server_rationale_727", "label": "Close the server. * Close the underlying :class:`~asyncio.Server`.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L727"}, {"id": "server_rationale_750", "label": "Implementation of :meth:`close`. This calls :meth:`~asyncio.Server.clos", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L750"}, {"id": "server_rationale_796", "label": "Wait until the server is closed. When :meth:`wait_closed` returns, all", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L796"}, {"id": "server_rationale_817", "label": "See :meth:`asyncio.Server.get_loop`.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L817"}, {"id": "server_rationale_824", "label": "See :meth:`asyncio.Server.is_serving`.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L824"}, {"id": "server_rationale_831", "label": "See :meth:`asyncio.Server.start_serving`. Typical use:: se", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L831"}, {"id": "server_rationale_845", "label": "See :meth:`asyncio.Server.serve_forever`. Typical use:: se", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L845"}, {"id": "server_rationale_864", "label": "See :attr:`asyncio.Server.sockets`.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L864"}, {"id": "server_rationale_884", "label": "Start a WebSocket server listening on ``host`` and ``port``. Whenever a cli", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L884"}, {"id": "server_rationale_1144", "label": "Start a WebSocket server listening on a Unix socket. This function is ident", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1144"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L3", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "email_utils", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "functools", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L5", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "http", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "inspect", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L7", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L8", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "socket", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "warnings", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "collections_abc", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L13", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_asyncio_compatibility_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L15", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_datastructures_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L16", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_exceptions_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_extensions_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L25", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_extensions_permessage_deflate_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L26", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_headers_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L27", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_http11_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L33", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_protocol_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L34", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_typing_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L35", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_legacy_exceptions_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L36", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_legacy_handshake_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L37", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_legacy_http_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L38", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "backend_venv_lib_python3_12_site_packages_websockets_legacy_protocol_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L39", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_websocketserverprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L56", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "websocketcommonprotocol", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L56", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L91", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_connection_made", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L136", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_handler", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L149", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_read_http_request", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L265", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_write_http_response", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L294", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_process_request", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L322", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_process_origin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L372", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_process_extensions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L400", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_process_subprotocol", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L482", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_select_subprotocol", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L514", "weight": 1.0}, {"source": "server_websocketserverprotocol", "target": "server_websocketserverprotocol_handshake", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L554", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_websocketserver", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L649", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L665", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_wrap", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L679", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_register", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L712", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_unregister", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L719", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L726", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L749", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_wait_closed", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L795", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_get_loop", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L816", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_is_serving", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L823", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_start_serving", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L830", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_serve_forever", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L844", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_sockets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L863", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_aenter", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L870", "weight": 1.0}, {"source": "server_websocketserver", "target": "server_websocketserver_aexit", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L873", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_serve", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L883", "weight": 1.0}, {"source": "server_serve", "target": "server_serve_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L976", "weight": 1.0}, {"source": "server_serve", "target": "server_serve_aenter", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1104", "weight": 1.0}, {"source": "server_serve", "target": "server_serve_aexit", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1107", "weight": 1.0}, {"source": "server_serve", "target": "server_serve_await", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1118", "weight": 1.0}, {"source": "server_serve", "target": "server_serve_await_impl", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1122", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_unix_serve", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1135", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_websockets_legacy_server_py", "target": "server_remove_path_argument", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1162", "weight": 1.0}, {"source": "server_websocketserverprotocol_init", "target": "server_serve_init", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L117", "weight": 1.0}, {"source": "server_websocketserverprotocol_init", "target": "server_remove_path_argument", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L125", "weight": 1.0}, {"source": "server_websocketserverprotocol_connection_made", "target": "server_websocketserver_register", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L146", "weight": 1.0}, {"source": "server_websocketserverprotocol_connection_made", "target": "server_websocketserverprotocol_handler", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L147", "weight": 1.0}, {"source": "server_websocketserverprotocol_handler", "target": "server_websocketserverprotocol_handshake", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L161", "weight": 1.0}, {"source": "server_websocketserverprotocol_handler", "target": "server_websocketserverprotocol_write_http_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L227", "weight": 1.0}, {"source": "server_websocketserverprotocol_handler", "target": "server_websocketserver_close", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L243", "weight": 1.0}, {"source": "server_websocketserverprotocol_handler", "target": "server_websocketserver_unregister", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L262", "weight": 1.0}, {"source": "server_websocketserverprotocol_process_subprotocol", "target": "server_websocketserverprotocol_select_subprotocol", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L508", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_websocketserverprotocol_read_http_request", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L581", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_websocketserverprotocol_process_request", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L585", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_websocketserver_is_serving", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L599", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_process_origin", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L611", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_process_extensions", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L613", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_websocketserverprotocol_process_subprotocol", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L617", "weight": 1.0}, {"source": "server_websocketserverprotocol_handshake", "target": "server_websocketserverprotocol_write_http_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L640", "weight": 1.0}, {"source": "server_websocketserver_wrap", "target": "server_websocketserver_get_loop", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L710", "weight": 1.0}, {"source": "server_websocketserver_close", "target": "server_websocketserver_get_loop", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L745", "weight": 1.0}, {"source": "server_websocketserver_close", "target": "server_websocketserver_wait_closed", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L781", "weight": 1.0}, {"source": "server_websocketserver_aexit", "target": "server_websocketserver_close", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L879", "weight": 1.0}, {"source": "server_websocketserver_aexit", "target": "server_websocketserver_wait_closed", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L880", "weight": 1.0}, {"source": "server_serve_init", "target": "server_websocketserver", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1041", "weight": 1.0}, {"source": "server_serve_init", "target": "server_remove_path_argument", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1061", "weight": 1.0}, {"source": "server_serve_aexit", "target": "server_websocketserver_close", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1113", "weight": 1.0}, {"source": "server_serve_aexit", "target": "server_websocketserver_wait_closed", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1114", "weight": 1.0}, {"source": "server_serve_await", "target": "server_serve_await_impl", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1120", "weight": 1.0}, {"source": "server_serve_await_impl", "target": "server_websocketserver_wrap", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1124", "weight": 1.0}, {"source": "server_unix_serve", "target": "server_serve", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1159", "weight": 1.0}, {"source": "server_rationale_57", "target": "server_websocketserverprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L57", "weight": 1.0}, {"source": "server_rationale_137", "target": "server_websocketserverprotocol_connection_made", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L137", "weight": 1.0}, {"source": "server_rationale_150", "target": "server_websocketserverprotocol_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L150", "weight": 1.0}, {"source": "server_rationale_266", "target": "server_websocketserverprotocol_read_http_request", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L266", "weight": 1.0}, {"source": "server_rationale_297", "target": "server_websocketserverprotocol_write_http_response", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L297", "weight": 1.0}, {"source": "server_rationale_325", "target": "server_websocketserverprotocol_process_request", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L325", "weight": 1.0}, {"source": "server_rationale_375", "target": "server_websocketserverprotocol_process_origin", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L375", "weight": 1.0}, {"source": "server_rationale_404", "target": "server_websocketserverprotocol_process_extensions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L404", "weight": 1.0}, {"source": "server_rationale_485", "target": "server_websocketserverprotocol_process_subprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L485", "weight": 1.0}, {"source": "server_rationale_519", "target": "server_websocketserverprotocol_select_subprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L519", "weight": 1.0}, {"source": "server_rationale_561", "target": "server_websocketserverprotocol_handshake", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L561", "weight": 1.0}, {"source": "server_rationale_650", "target": "server_websocketserver", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L650", "weight": 1.0}, {"source": "server_rationale_680", "target": "server_websocketserver_wrap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L680", "weight": 1.0}, {"source": "server_rationale_713", "target": "server_websocketserver_register", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L713", "weight": 1.0}, {"source": "server_rationale_720", "target": "server_websocketserver_unregister", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L720", "weight": 1.0}, {"source": "server_rationale_727", "target": "server_websocketserver_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L727", "weight": 1.0}, {"source": "server_rationale_750", "target": "server_websocketserver_close", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L750", "weight": 1.0}, {"source": "server_rationale_796", "target": "server_websocketserver_wait_closed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L796", "weight": 1.0}, {"source": "server_rationale_817", "target": "server_websocketserver_get_loop", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L817", "weight": 1.0}, {"source": "server_rationale_824", "target": "server_websocketserver_is_serving", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L824", "weight": 1.0}, {"source": "server_rationale_831", "target": "server_websocketserver_start_serving", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L831", "weight": 1.0}, {"source": "server_rationale_845", "target": "server_websocketserver_serve_forever", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L845", "weight": 1.0}, {"source": "server_rationale_864", "target": "server_websocketserver_sockets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L864", "weight": 1.0}, {"source": "server_rationale_884", "target": "server_serve", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L884", "weight": 1.0}, {"source": "server_rationale_1144", "target": "server_unix_serve", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1144", "weight": 1.0}], "raw_calls": [{"caller_nid": "server_websocketserverprotocol_init", "callee": "getLogger", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L116"}, {"caller_nid": "server_websocketserverprotocol_init", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L117"}, {"caller_nid": "server_websocketserverprotocol_init", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L120"}, {"caller_nid": "server_websocketserverprotocol_connection_made", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L141"}, {"caller_nid": "server_websocketserverprotocol_connection_made", "callee": "create_task", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L147"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "asyncio_timeout", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L160"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L172"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L174"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L176"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "Headers", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L179"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L180"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L182"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L184"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "Headers", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L187"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L188"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L195"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L197"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L198"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "Headers", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L205"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L206"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L209"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "Headers", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L212"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L219"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "formatdate", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L219"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L221"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L223"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L223"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "len", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L223"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L224"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L225"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L228"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "close_transport", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L231"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "ws_handler", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L235"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L237"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "fail_connection", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L239"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L247"}, {"caller_nid": "server_websocketserverprotocol_handler", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L263"}, {"caller_nid": "server_websocketserverprotocol_read_http_request", "callee": "read_request", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L278"}, {"caller_nid": "server_websocketserverprotocol_read_http_request", "callee": "InvalidMessage", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L282"}, {"caller_nid": "server_websocketserverprotocol_read_http_request", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L285"}, {"caller_nid": "server_websocketserverprotocol_read_http_request", "callee": "raw_items", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L286"}, {"caller_nid": "server_websocketserverprotocol_read_http_request", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L287"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L306"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "raw_items", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L307"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L308"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "debug", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L310"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "len", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L310"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L315"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L317"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L317"}, {"caller_nid": "server_websocketserverprotocol_write_http_response", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L320"}, {"caller_nid": "server_websocketserverprotocol_process_request", "callee": "_process_request", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L360"}, {"caller_nid": "server_websocketserverprotocol_process_request", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L361"}, {"caller_nid": "server_websocketserverprotocol_process_request", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L365"}, {"caller_nid": "server_process_origin", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L389"}, {"caller_nid": "server_process_origin", "callee": "InvalidHeader", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L391"}, {"caller_nid": "server_process_origin", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L393"}, {"caller_nid": "server_process_origin", "callee": "InvalidOrigin", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L396"}, {"caller_nid": "server_process_extensions", "callee": "get_all", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L444"}, {"caller_nid": "server_process_extensions", "callee": "sum", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L447"}, {"caller_nid": "server_process_extensions", "callee": "parse_extension", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L448"}, {"caller_nid": "server_process_extensions", "callee": "process_request_params", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L459"}, {"caller_nid": "server_process_extensions", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L466"}, {"caller_nid": "server_process_extensions", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L467"}, {"caller_nid": "server_process_extensions", "callee": "build_extension", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L477"}, {"caller_nid": "server_websocketserverprotocol_process_subprotocol", "callee": "get_all", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L501"}, {"caller_nid": "server_websocketserverprotocol_process_subprotocol", "callee": "sum", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L504"}, {"caller_nid": "server_websocketserverprotocol_process_subprotocol", "callee": "parse_subprotocol", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L505"}, {"caller_nid": "server_websocketserverprotocol_select_subprotocol", "callee": "_select_subprotocol", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L544"}, {"caller_nid": "server_websocketserverprotocol_select_subprotocol", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L546"}, {"caller_nid": "server_websocketserverprotocol_select_subprotocol", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L546"}, {"caller_nid": "server_websocketserverprotocol_select_subprotocol", "callee": "sorted", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L549"}, {"caller_nid": "server_websocketserverprotocol_select_subprotocol", "callee": "index", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L551"}, {"caller_nid": "server_websocketserverprotocol_select_subprotocol", "callee": "index", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L551"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L586"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L590"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "BrokenPipeError", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L596"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "AbortHandshake", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L607"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "check_request", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L609"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "Headers", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L621"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "build_response", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L623"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "callable", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L631"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "extra_headers", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L632"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "update", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L634"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L636"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "formatdate", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L636"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L638"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L642"}, {"caller_nid": "server_websocketserverprotocol_handshake", "callee": "connection_open", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L644"}, {"caller_nid": "server_websocketserver_init", "callee": "getLogger", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L667"}, {"caller_nid": "server_websocketserver_init", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L671"}, {"caller_nid": "server_websocketserver_wrap", "callee": "getsockname", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L696"}, {"caller_nid": "server_websocketserver_wrap", "callee": "getsockname", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L698"}, {"caller_nid": "server_websocketserver_wrap", "callee": "getsockname", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L700"}, {"caller_nid": "server_websocketserver_wrap", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L704"}, {"caller_nid": "server_websocketserver_wrap", "callee": "getsockname", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L704"}, {"caller_nid": "server_websocketserver_wrap", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L705"}, {"caller_nid": "server_websocketserver_wrap", "callee": "create_future", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L710"}, {"caller_nid": "server_websocketserver_register", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L717"}, {"caller_nid": "server_websocketserver_unregister", "callee": "remove", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L724"}, {"caller_nid": "server_websocketserver_close", "callee": "create_task", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L745"}, {"caller_nid": "server_websocketserver_close", "callee": "_close", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L746"}, {"caller_nid": "server_websocketserver_close", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L758"}, {"caller_nid": "server_websocketserver_close", "callee": "sleep", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L766"}, {"caller_nid": "server_websocketserver_close", "callee": "create_task", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L772"}, {"caller_nid": "server_websocketserver_close", "callee": "wait", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L778"}, {"caller_nid": "server_websocketserver_close", "callee": "wait", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L786"}, {"caller_nid": "server_websocketserver_close", "callee": "set_result", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L791"}, {"caller_nid": "server_websocketserver_close", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L793"}, {"caller_nid": "server_websocketserver_wait_closed", "callee": "shield", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L814"}, {"caller_nid": "server_serve_init", "callee": "pop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1011"}, {"caller_nid": "server_serve_init", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1015"}, {"caller_nid": "server_serve_init", "callee": "pop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1021"}, {"caller_nid": "server_serve_init", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1025"}, {"caller_nid": "server_serve_init", "callee": "pop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1031"}, {"caller_nid": "server_serve_init", "callee": "pop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1034"}, {"caller_nid": "server_serve_init", "callee": "get_event_loop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1036"}, {"caller_nid": "server_serve_init", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1039"}, {"caller_nid": "server_serve_init", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1043"}, {"caller_nid": "server_serve_init", "callee": "enable_server_permessage_deflate", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1046"}, {"caller_nid": "server_serve_init", "callee": "ValueError", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1048"}, {"caller_nid": "server_serve_init", "callee": "validate_subprotocols", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1051"}, {"caller_nid": "server_serve_init", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1055"}, {"caller_nid": "server_serve_init", "callee": "partial", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1056"}, {"caller_nid": "server_serve_init", "callee": "pop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1086"}, {"caller_nid": "server_serve_init", "callee": "pop", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1087"}, {"caller_nid": "server_serve_init", "callee": "partial", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1090"}, {"caller_nid": "server_serve_init", "callee": "partial", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1094"}, {"caller_nid": "server_serve_await_impl", "callee": "_create_server", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1123"}, {"caller_nid": "server_remove_path_argument", "callee": "bind", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1169"}, {"caller_nid": "server_remove_path_argument", "callee": "signature", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1169"}, {"caller_nid": "server_remove_path_argument", "callee": "bind", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1172"}, {"caller_nid": "server_remove_path_argument", "callee": "signature", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1172"}, {"caller_nid": "server_remove_path_argument", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1178"}, {"caller_nid": "server_remove_path_argument", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/websockets/legacy/server.py", "source_location": "L1188"}]}