o
    º¼tf—  ã                   @  s°   d Z ddlmZ ddlmZmZmZ zddlmZ ee	e	f  W n e
y/   ddlmZ Y nw er<ddlmZmZmZ e	ZedƒZG dd„ dee ƒZG d	d
„ d
ee ƒZdS )z>
Type-annotation related support for the referencing library.
é    )Úannotations)ÚTYPE_CHECKINGÚProtocolÚTypeVar)ÚMapping)ÚResolvedÚResolverÚResourceÚDc                   @  s   e Zd ZdZd	dd„ZdS )
ÚRetrievez 
    A retrieval callable, usable within a `Registry` for resource retrieval.

    Does not make assumptions about where the resource might be coming from.
    ÚuriÚURIÚreturnúResource[D]c                 C  ó   dS )z½
        Retrieve the resource with the given URI.

        Raise `referencing.exceptions.NoSuchResource` if you wish to indicate
        the retriever cannot lookup the given URI.
        N© )Úselfr   r   r   ú[/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/referencing/typing.pyÚ__call__"   s   zRetrieve.__call__N)r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s    r   c                   @  s(   e Zd ZdZeddd„ƒZdd	d
„ZdS )ÚAnchorz”
    An anchor within a `Resource`.

    Beyond "simple" anchors, some specifications like JSON Schema's 2020
    version have dynamic anchors.
    r   Ústrc                 C  r   )z1
        Return the name of this anchor.
        Nr   )r   r   r   r   Úname4   s   zAnchor.nameÚresolverúResolver[D]úResolved[D]c                 C  r   )z6
        Return the resource for this anchor.
        Nr   )r   r   r   r   r   Úresolve;   s   zAnchor.resolveN)r   r   )r   r   r   r   )r   r   r   r   Úpropertyr   r   r   r   r   r   r   ,   s
    r   N)r   Ú
__future__r   Útypingr   r   r   Úcollections.abcr   r   Ú	TypeErrorZreferencing._corer   r   r	   r   r
   r   r   r   r   r   r   Ú<module>   s    ÿ