
    _d                     "    d Z ddlZddlmZ d Zy)z
    getargspec excerpted from:

    sphinx.util.inspect
    ~~~~~~~~~~~~~~~~~~~
    Helpers for inspecting Python modules.
    :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)partialc           
      N   t        j                  |       r| j                  } t        |       t        u r| j
                  }t        |      }t        |d         }t        |d   xs d      }t        |d         }t        |d   xs i       }| j                  r|t        | j                        d }| j                  xs dD ]'  }	 |j                  |      t        |      z
  }||= 	 ||= ) t        j                  ||d   |d   t!        |      |||d	         S t#        | d
      r| j$                  } t#        | d
      rt        j&                  |       st)        d| z        t        j*                  |       S # t        $ r Y w xY w# t        $ r |j                  |      }||= ||= Y w xY w)z?Like inspect.getargspec but supports functools.partial as well.r             N         __wrapped__z%r is not a Python function)inspectismethod__func__typer   func
getargspeclistdictargslenkeywordsindex
IndexError
ValueErrorFullArgSpectuplehasattrr   
isfunction	TypeErrorgetfullargspec)	r   	orig_funcargspecr   defaultskwoargskwodefsargis	            </usr/lib/python3/dist-packages/traitlets/utils/getargspec.pyr   r      s   }}DzWII	Y'GAJ
(b)wqz"wqz'R(99DII()D==&B 	!C
!JJsOc$i/G 	! ""'!*gaj%/7GWUVZ
 	
 $
& $
&d#5<==!!$'' "  !MM#&AJCL!s0    F#E22	E>;F=E>>F F$#F$)__doc__r   	functoolsr   r   r       r(   <module>r,      s     
 (r+   