
    De                        d Z ddlmZ ddlmZmZmZ 	 ddlmZ ee	e	f          n# e
$ r	 ddlmZ Y nw xY wer
ddlmZmZmZ e	Z ed          Z G d dee                   Z G 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                      e Zd ZdZ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                    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   s     2lib/python3.11/site-packages/referencing/typing.py__call__zRetrieve.__call__!   s	     	    N)r   r   r   r   )__name__
__module____qualname____doc__r   r   r   r   r   r      s2              r   r   c                  2    e Zd ZdZed
d            Z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                    dS )z1
        Return the name of this anchor.
        Nr   )r   s    r   namezAnchor.name3   s	    
 	r   resolverResolver[D]Resolved[D]c                    dS )z6
        Return the resource for this anchor.
        Nr   )r   r!   s     r   resolvezAnchor.resolve:   s	     	r   N)r   r   )r!   r"   r   r#   )r   r   r   r   propertyr    r%   r   r   r   r   r   +   sR             X     r   r   N)r   
__future__r   typingr   r   r   collections.abcr   r   	TypeErrorreferencing._corer   r	   r
   r   r   r   r   r   r   r   <module>r,      sA    # " " " " " 3 3 3 3 3 3 3 3 3 3*222222CH * * *))))))))*  ?>>>>>>>>>> 
 GCLL    x{   "    Xa[     s   % 33