
    vKg                     2    S SK Jr  S SKJrJr  S\S\4S jrg)   )socket)SocketListenerSocketStreamsocket_listenerreturnc                   #    U R                   R                  nU R                   R                  5       nU[        R                  [        R
                  4;   a2  [        U5      nUS   S:X  a  SUS'   US   S:X  a  SUS'   [        U5      n[        R                   " US9nUR                  U5      I Sh  vN   [        U5      $  N7f)a  Connect to the given :class:`~trio.SocketListener`.

This is particularly useful in tests when you want to let a server pick
its own port, and then connect to it::

    listeners = await trio.open_tcp_listeners(0)
    client = await trio.testing.open_stream_to_socket_listener(listeners[0])

Args:
  socket_listener (~trio.SocketListener): The
      :class:`~trio.SocketListener` to connect to.

Returns:
  SocketStream: a stream connected to the given listener.

    z0.0.0.0z	127.0.0.1z::z::1)familyN)
r   r
   getsocknametsocketAF_INETAF_INET6listtupleconnectr   )r   r
   sockaddrsocks       U/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/trio/testing/_network.pyopen_stream_to_socket_listenerr      s     & ##**F%%113H'//7#3#344>A;)#%HQKA;$HQK?>>(D
,,x
    !s   B/C1C2CN) r   r   _highlevel_socketr   r   r        r   <module>r      s       <#r   