
    ,hY                        d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	Z	d dl
mZmZ erd dlmZ  G d de      Z ed	e
      Z	 d dl
mZ dZedd       Z	 	 	 	 ddZy# e$ r dZY w xY w)    )annotationsN)contextmanager)TYPE_CHECKINGProtocolTypeVar)SOCK_STREAMsocket)	Generatorc                      e Zd ZddZy)Closablec                     y N )selfs    b/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_highlevel_open_unix_stream.pyclosezClosable.close   s        N)returnNone)__name__
__module____qualname__r   r   r   r   r   r      s     r   r   CloseT)bound)AF_UNIXTFc              #  B   K   	 |  y #  | j                           xY wwr   )r   )objs    r   close_on_errorr      s"     			s   	 c                  K   t         st        d      t        t        t              }t        |      5  |j                  t        j                  |              d{    ddd       t        j                  |      S 7 !# 1 sw Y    xY ww)a  Opens a connection to the specified
    `Unix domain socket <https://en.wikipedia.org/wiki/Unix_domain_socket>`__.

    You must have read/write permission on the specified file to connect.

    Args:
      filename (str or bytes): The filename to open the connection to.

    Returns:
      SocketStream: a :class:`~trio.abc.Stream` connected to the given file.

    Raises:
      OSError: If the socket file could not be connected to.
      RuntimeError: If AF_UNIX sockets are not supported.
    z/Unix sockets are not supported on this platformN)has_unixRuntimeErrorr	   r   r   r   connectosfspathtrioSocketStream)filenamesocks     r   open_unix_socketr)   &   su     $ LMM ';'D		 0ll299X.///0 T"" 	00 0s.   1B(A?A=A? B=A??BB)r   r   r   zGenerator[CloseT, None, None])r'   z3str | bytes | os.PathLike[str] | os.PathLike[bytes]r   ztrio.SocketStream)
__future__r   r#   
contextlibr   typingr   r   r   r%   trio.socketr   r	   collections.abcr
   r   r   r   r    ImportErrorr   r)   r   r   r   <module>r0      s    " 	 % 3 3  +)!x ! 
	*#H
  #A##  Hs   A A)(A)