a
    ibòfy  ã                   @   s`   d dl mZmZmZmZmZ d dlmZ er8d dlm	Z	 dZ
eedœdd„Zedd	œd
d„ZdS )é    )ÚAnyÚCallableÚcastÚSetÚTYPE_CHECKING)Úisclass©ÚRenderableTypeÚ-aihwerij235234ljsdnp34ksodfipwoe234234jlskjdf)Úcheck_objectÚreturnc                 C   s   t | tƒpt| dƒpt| dƒS )z+Check if an object may be rendered by Rich.Ú__rich__Ú__rich_console__)Ú
isinstanceÚstrÚhasattr)r   © r   úV/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_vendor/rich/protocol.pyÚis_renderable
   s
    
ÿýr   r	   )Ú
renderabler   c                 C   sn   ddl m} tƒ }t| dƒrdt| ƒsdt| tƒr6t| ƒS t| dƒ}|ƒ } t| ƒ}||v rXqd| 	|¡ qt
|| ƒS )zÕCast an object to a renderable by calling __rich__ if present.

    Args:
        renderable (object): A potentially renderable object

    Returns:
        object: The result of recursively calling __rich__.
    r   r   r   )Úpip._vendor.rich.consoler	   Úsetr   r   Ú
_GIBBERISHÚreprÚgetattrÚtypeÚaddr   )r   r	   Úrich_visited_setÚcast_methodÚrenderable_typer   r   r   Ú	rich_cast   s    	

r    N)Útypingr   r   r   r   r   Úinspectr   r   r	   r   Úboolr   Úobjectr    r   r   r   r   Ú<module>   s   	