+
    ~vi                    z    ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt RR R lltR R ltR R	 lt	RR
 R llt
R R ltR# )    )annotationsN)Anyc               0    V ^8  d   QhRRRRRRRRRRR	R
/# )   articlez
str | Nonevaluer   nameverboseboolcapitalreturnstr )formats   ">/usr/lib/python3/dist-packages/traitlets/utils/descriptions.py__annotate__r   	   sL     n
 n
n
n
 n
 	n

 n
 	n
    c                Z   \        V \        4      '       d   V P                  4       p \        P                  ! V4      '       g   \        V4      P                  pMVP                  pV'       d   \        V4      V,           pV R8X  g#   V Efs   \        P                  ! V4      '       EgV   Ve   V RV 2pV e   \        VRV4      # V# Rp\        P                  ! V4      '       d   VP                  pM\        V\        P                  4      '       d   VP                  pRpM\        V\        P                  4      '       d   VP                  P                  pRpMc\        V4      P                  \        P                  \
        P                  39   d   R\        \!        V4      4      ,          pRpM\#        V4      pRpV'       d   \        V4      V,           pV'       d   VP%                  R4      p\'        WW#VR7      # V R	9   g   V f   V f   V# \        VRV4      # \)        RV ,          4      h)
aA  Return string that describes a value

Parameters
----------
article : str or None
    A definite or indefinite article. If the article is
    indefinite (i.e. "a" or "an") the appropriate one
    will be inferred. Thus, the arguments of ``describe``
    can themselves represent what the resulting string
    will actually look like. If None, then no article
    will be prepended to the result. For non-articled
    description, values that are instances are treated
    definitely, while classes are handled indefinitely.
value : any
    The value which will be named.
name : str or None (default: None)
    Only applies when ``article`` is "the" - this
    ``name`` is a definite reference to the value.
    By default one will be inferred from the value's
    type and repr methods.
verbose : bool (default: False)
    Whether the name should be concise or verbose. When
    possible, verbose names include the module, and/or
    class name where an object was defined.
capital : bool (default: False)
    Whether the first letter of the article should
    be capitalized or not. By default it is not.

Examples
--------
Indefinite description:

>>> describe("a", object())
'an object'
>>> describe("a", object)
'an object'
>>> describe("a", type(object))
'a type'

Definite description:

>>> describe("the", object())
"the object at '...'"
>>> describe("the", object)
'the object object'
>>> describe("the", type(object))
'the type type'

Definitely named description:

>>> describe("the", object(), "I made")
'the object I made'
>>> describe("the", object, "I will use")
'the object I will use'
the TFzat '%s'z'')r	   r
   r   zAThe 'article' argument should be 'the', 'a', 'an', or None not %r)aan)
isinstancer   lowerinspectisclasstype__name___prefixadd_articletypesFunctionType
MethodType__func____repr__objecthexidreprjoindescribe
ValueError)r   r   r	   r
   r   typenameresult	tick_wraps   &&&&&   r   r+   r+   	   s   | '3--/??5!!;''>>5>H,%GOGOOE4J4J z4&)F""6499Iu%%~~E5#5#566~~ 	E5#3#344~~.. 	e%%*  !3r%y>1E{u~,yyGPWXX	K	7??O8UG44ORYY
 	
r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r   z   s     	 	3 	3 	r   c                   \        V \        P                  4      '       d"   \        R V P                  RR7      R,           pV# \
        P                  ! V 4      pVe'   VP                  R8w  d   VP                  R,           pV# RpV# )NT)r
   .builtins )r   r!   r#   r+   __self__r   	getmoduler   )r   r	   modules   &  r   r   r   z   sw    %))**ennd;cA K ""5)&//Z"???S(D K DKr   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   r      s     % %C %C %r   c                    \         P                  ! V 4      '       d   \        V P                  4      # \	        \        V 4      4      # )zkReturns a string of the value's type with an indefinite article.

For example 'an Image' or 'a PlotValue'.
)r   r   r    r   class_ofr   )r   s   &r   r:   r:      s1    
 u5>>**U$$r   c               (    V ^8  d   QhRRRRRRRR/# )r   r	   r   definiter   r   r   r   )r   s   "r   r   r      s(      c T D S r   c                .   V'       d   RV ,           pMU\         P                  ! R4      P                  RV 4      pVR,          P                  4       R9   d   RV ,           pM	RV ,           pV'       d&   V^ ,          P	                  4       VR,          ,           # V# )	a  Returns the string with a prepended article.

The input does not need to begin with a character.

Parameters
----------
name : str
    Name to which to prepend an article
definite : bool (default: False)
    Whether the article is definite or not.
    Indefinite articles being 'a' and 'an',
    while 'the' is definite.
capital : bool (default: False)
    Whether the added article should have
    its first letter capitalized or not.
zthe z[\W_]+r4   :N   Naeiouzan za :r>   NN)recompilesubr   upper)r	   r<   r   r.   first_letterss   &&&  r   r    r       su    " $

9-11"d;""$/T\FD[Fay 6":--r   c                    V ^8  d   QhRRRR/# )r   objr   r   r   r   )r   s   "r   r   r      s     # #3 #3 #r   c                *    \        V 4      pV : RV: 2# )zUReturn a string representation of a value and its type for readable

error messages.
r   )r   )rF   the_types   & r   	repr_typerI      s    
 CyHWAh\""r   )NFF)FF)
__future__r   r   r@   r!   typingr   r+   r   r:   r    rI   r   r   r   <module>rL      s/    "  	  n
b	%>#r   