
    Zg                     `    S r SSKrSSKJrJrJr  S rSr\\	4r
S\\   S\\\4   S\S	\4S
 jrg)z.Code for compatibility across Python versions.    N)AnyDictOptionalc                    [        U [        5      (       a  U R                  5       n [        U[        5      (       a  UR                  5       nOi[        U[        5      (       aT  / nU HJ  n[        U[        5      (       a!  UR	                  UR                  5       5        M9  UR	                  U5        ML     UnSSKJn  U" X5      $ )z|Compatibility wrapper for imp.find_module.

Automatically decodes arguments of find_module, in Python3
they must be Unicode
r   )find_module)
isinstancebytesdecodelistappendimpr   )fullnamepathnewpathelementoriginal_find_modules        //usr/lib/python3/dist-packages/pynvim/compat.pyr   r      s     (E""??$${{}	D$		G'5))w~~/0w'	 
 7//    surrogateescapeasync_kwargsdefaultreturnc                 t    U b  U $ SU;   a,  [         R                  " S[        5        UR                  S5      $ U$ )zReturn a value of 'async' in kwargs or default when async_ is None.

This helper function exists for backward compatibility (See #274).
It shows a warning message when 'async' in kwargs is used to note users.
asyncz6"async" attribute is deprecated. Use "async_" instead.)warningswarnDeprecationWarningpop)r   r   r   s      r   check_asyncr    !   s?     	F	D	
 zz'""r   )__doc__r   typingr   r   r   r   unicode_errors_defaultintfloat	NUM_TYPESboolstrr     r   r   <module>r*      sU    4  & &0, + %L	 S#X  RV r   