
    bid                      d Z ddlmZ g dZdZddlZddlmZ ddlmZ	 eZ
ddlZddlZdad	aej                  d
k  Zej                  dk  Zej                  dk  Zej                  dk  ZddlZddlmZmZ ddlmZmZ ddlmZ ddlmZ  	 ddlm!Z" 	 ddlm$Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. e/Z0e1Z2 e1e3      Z4 e1e5      Z6e7Z8e1Z9e:Z;ddl&m<Z=m>Z> ddlm?Z?m@Z@mAZAmBZBmCZC ddlDZEddlFZFddlGZGddlHZHddlIZIddlJmKZKmLZLmMZM ddlNmOZO ddlPmQZQmRZR ddlSmTZT ddlUmVZVmWZW d	ZXddlYZZ e[eZj                  j                        Z]	 ddl^Z^dZ_ e`e^d       Zadabdacdad	 eZj                  j                         j                  d      s e#d      dabdacdadd  Zgt        r
d! Zhd" Zid# Zjn	d$ Zhd% Zid& Zjdd'l&mkZkmlZlmmZmmnZnmoZompZp  e1 d( d      j                  d         Zr e1 eTesd)*            Zt e1 euev ew                   Zx e1 eVd            Zy e1 eWd+            Zz	 dd,lSm{Z|  e}e|e1      sdZ|d- Z~ej                  d.k(  Z e~d/d0      Z e~d1d20      Zerdn	 e~d3d20      Z e~d/d20      Z e~d4d20      Z	 dd5lmZ  e~d1d2e6      Zerdn
 e~d3d2e6      Z e~d/d2e6      Z e~d4d2e6      Zdd7lmZ dxZZdd8lmZ dd9lmZ 	 eZdZd:ZddlZddlZ G d< d=e      Zdd>lmZ dd?lmZmZ dZdZd)Zd@ ZddAZddBZddCZddDZ G dE dFe      Z G dG dHeeA      Z G dI dJeeB      Z G dK dLeeC      Z G dM dNe      Z G dO dPe      Z	 ejh                  jQ                         ZdQ ZdR ZdS ZddTZdU Z e e             Zejw                  etexeyezdV       ej                  dWk  rejw                  dXeri        eO       ZeeeeeeeeedY	Zejw                   e1i j}                                e1i j                                e1i j                                e1ej}                                e1ej                                e1ej                               dZ       ereed[<   er
eed\<   eed]<   	 ej                  d^k\  r"eas dd_l&mZ  e1 e eeesf                  ed`<   	 	 ddlZeĐj                  eda<   ejw                  e        eej                               Z[ edb ej                         D              Zdc Zdd Zde Z	 	 ddfZ G dg dh      Zg diZeD ]$  \  ZZZ e`e'eЫ      seZeѐj                         Z n  eeԫ      j                  g dj      Zdk Zdl Zdm Ze%rdn Zdo Zdp Zdq Zdr Zds Z G dt due      Z G dv dwe      Z G dx dye      Z e       Zi Z	 e e=e      ez  u Z[dZ edz      Zdd{Zd| Zdd}Zd~ ZddZd ZddZd Zd Zd ZddZd ZddZd Zdej                  dfdZ ee'      d        Zd Z ee      d        Zeserd Znd ZeeOfD ]Q  Z e       Z ee      D ]=  \  ZZ e1  e ee                   Zeejh                  vs-eejh                  e<   ? S [[[[[ ee2      d        Z eej                        d        Ze%r ee%      d        Z ee      d        Z ee       d        Zd Zd Z	 ee       ee       ee       ee      d                             Z
er ee      d        Z
er6 ee       ee       ee      d                      Z
er ee      d        Z
er ee      d        Z ee      d        Ze|ddlSmZ  ee|      d        Z eex      d        Zear ee)      d        Zn ee)      d        Zeas< eeo       eek       een       eem       eel      d                                    Zn eeo       eek      d               Z eer      d        Zer ee=      d        Zn ee=      d        Z ee8      d        Z ee;       ee4       ee6      d                      Zd ZddZ eeK      d        Z eeL       eeM      d               Zd Zd Z ee-      d        Zd Zd Z ee9      dd       Z ee        eeHjB                        d               Z" ee#       ee$       eeHjJ                         eeHjL                        d                             Z' ee(      d        Z(e_r' e`e^d      re^jR                  jT                  Z+e^jX                  e^jZ                  e^jX                  fe+_.        e^j^                  e+_0        e^jR                  jb                  Z2e^j^                  e^jZ                  fe2_.        e^jX                  e2_0        e^jR                  jf                  Z4e^j^                  fe4_.        e^jX                  e4_0        e^jR                  jj                  Z6e^j^                  fe6_.        e^jX                  e6_0        e^jR                  jn                  Z8e^j^                  fe8_.        e^jZ                  e8_0        e^jR                  jr                  Z:e^j^                  e^jZ                  fe:_.        e^jv                  e:_0        e^jR                  jx                  Z=e^j^                  e^jX                  fe=_.        e^jR                  j|                  Z?e^j^                  e^jX                  fe?_.        e^jR                  j                  ZAe^j^                  e^jZ                  feA_.        e^jR                  j                  ZCe^j^                  e^jX                  feC_.        dZD e+ e^j                  e+e^jX                         e^jZ                  eD      d      ZF e1eF      ZG eeG      d        ZHeGed<   eGed<   eǐj                  eG       ndZF e`eId      r eeIj                        d        ZK e`eId      r  e e1eIj                              d        ZM e`eId      r  e e1eIj                              d        ZO e`eId      r eeIj                        d        ZQddZRd ZSddZTdÄ ZUbb[y# e#$ r dZ"Y w xY w# e#$ r dZ%Y w xY w# e#$ r d	Z_d	ZaY w xY w# e#$ r Y w xY w# e#$ r dZ|Y iw xY w# e#$ r dxZxZxZZY 
w xY w# e$ r d	Z e1e      Zn# e$ r dZY nw xY wd;ZY 
w xY w# e#$ r Y 	w xY w# ev$ r d	ZY "w xY w)aK  
dill: a utility for serialization of python objects

The primary functions in `dill` are :func:`dump` and
:func:`dumps` for serialization ("pickling") to a
file or to a string, respectively, and :func:`load`
and :func:`loads` for deserialization ("unpickling"),
similarly, from a file or from a string. Other notable
functions are :func:`~dill.dump_module` and
:func:`~dill.load_module`, which are used to save and
restore module objects, including an intepreter session.

Based on code written by Oren Tirosh and Armin Ronacher.
Extended to a (near) full set of the builtin types (in types module),
and coded to the pickle interface, by <mmckerns@caltech.edu>.
Initial port to python3 by Jonathan Dobson, continued by mmckerns.
Tested against "all" python types (Std. Lib. CH 1-15 @ 2.7) by mmckerns.
Tested against CH16+ Std. Lib. ... TBD.
    )annotations)dumpdumpsloadloadscopyPickler	UnpicklerregisterpicklepicklescheckDEFAULT_PROTOCOLHIGHEST_PROTOCOLHANDLE_FMODECONTENTS_FMODE
FILE_FMODEPickleErrorPickleWarningPicklingErrorPicklingWarningUnpicklingErrorUnpicklingWarningdillN   )adapter)traceFi  i  	i  
i )_Picklerr
   )GLOBALPOP)LockType)RLock)_ExceptHookArgs)_ThreadHandle)CodeTypeFunctionType
MethodTypeGeneratorTypeTracebackType	FrameType
ModuleTypeBuiltinMethodType)MappingProxyType	new_class)r   r   r   r   r   )ReferenceType	ProxyTypeCallableProxyType)OrderedDict)EnumEnumMeta)partial)
itemgetter
attrgetterT	pythonapinumpyzNo module named 'numpy'c                 (    ddl ma ddl ma ddl ma y)Nr   )ufunc)ndarray)dtypeT)r9   r;   NumpyUfuncTyper<   NumpyArrayTyper=   
NumpyDType     E/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dill/_dill.py__hook__rD   q   s    -/)rB   c                    t        d | j                  D              ryt                | j                  t        j                  us| j
                  t        j
                  uryy)Nc              3  R   K   | ]  }|j                   |j                  fd k7   ! yw))r9   r<   N
__module____name__.0cs     rC   	<genexpr>z*ndarraysubclassinstance.<locals>.<genexpr>y   s#     \aajj)-AA\   %'FT)all__mro__rD   __reduce_ex__r?   
__reduce__obj_types    rC   ndarraysubclassinstancerU   x   sL    \8K[K[\\
!!)E)EE&&n.G.GGrB   c                :    t        d | j                  D              S )Nc              3  R   K   | ]  }|j                   |j                  fd k(   ! yw))r9   r;   NrG   rJ   s     rC   rM   znumpyufunc.<locals>.<genexpr>   s#     ^ALL!**-1CC^rN   )anyrP   rS   s    rC   
numpyufuncrY      s    ^XM]M]^^^rB   c                r    t        d | j                  D              ryt                | t        t              u S )Nc              3  R   K   | ]  }|j                   |j                  fd k7   ! yw))r9   r=   NrG   rJ   s     rC   rM   znumpydtype.<locals>.<genexpr>   s#     ZAajj)-??ZrN   F)rO   rP   rD   typer@   rS   s    rC   
numpydtyper]      s.    ZIYIYZZ
4
+++rB   c                     yNFrA   objs    rC   rU   rU      s    UrB   c                     yr_   rA   r`   s    rC   rY   rY          rB   c                     yr_   rA   r`   s    rC   r]   r]      rc   rB   )GetSetDescriptorTypeClassMethodDescriptorTypeWrapperDescriptorTypeMethodDescriptorTypeMemberDescriptorTypeMethodWrapperTypec                      fdS )Nc                    S NrA   )yxs    rC   <lambda>z<lambda>.<locals>.<lambda>   s    Q rB   rA   ro   s   `rC   rp   rp      s    ; rB      base__repr__)_lru_cache_wrapperc                     |j                  dt        j                        } |t        j                  g| i |}t        |      }|j                          |S )Nopen)pop__builtin__rx   osdevnullr\   close)argskwargsrx   fts        rC   get_file_typer      sG    ::fk../DRZZ)$)&)AQAGGIHrB   
emscriptenrb)	bufferingrzr+bwb)rx   )r   rx   )BytesIO)socket)_reduce_socket)exitquitget_ipythonrA   c                  6    e Zd ZdZd	dZd Zd Zd Zd Zd Z	y)
SentinelzH
    Create a unique sentinel object that is pickled as a constant.
    Nc                    || _         |1t        j                         j                  j                  d   | _        y || _        y )NrI   )nameinspectcurrentframef_back	f_globalsrH   )selfr   module_names      rC   __init__zSentinel.__init__   s7    	%224;;EEjQDO)DOrB   c                :    | j                   dz   | j                  z   S )N.)rH   r   r   s    rC   ru   zSentinel.__repr__   s    $tyy00rB   c                    | S rm   rA   r   s    rC   __copy__zSentinel.__copy__       rB   c                    | S rm   rA   )r   memos     rC   __deepcopy__zSentinel.__deepcopy__   r   rB   c                    | j                   S rm   r   r   s    rC   rR   zSentinel.__reduce__       yyrB   c                    | j                   S rm   r   )r   protocols     rC   rQ   zSentinel.__reduce_ex__   r   rB   rm   )
rI   rH   __qualname____doc__r   ru   r   r   rR   rQ   rA   rB   rC   r   r      s%    *1rB   r   )_shims)ReduceGetattrc                |    |j                  dt        j                  d         }t        t	        | g|i ||      S )z
    Use pickling to 'copy' an object (i.e. `loads(dumps(obj))`).

    See :func:`dumps` and :func:`loads` for keyword arguments.
    ignore)r   )ry   r
   settingsr   r   )ra   r~   kwdsr   s       rC   r   r      s;     XXh	 2 28 <=Fs*T*T*6::rB   c                    ddl m } ||d   n
t        |      }|j                         }|j                  t	        |||             t        ||fi |j                  |        y)zS
    Pickle an object to a file.

    See :func:`dumps` for keyword arguments.
    r   r   Nr   )byreffmoderecurse)r   intr   updatedictr	   r   )	ra   filer   r   r   r   r   r   _kwdss	            rC   r   r      sY     #'/'7x
#S]HIIKE	LLE@AD($e$))#.
rB   c                X    t               }t        | |||||fi | |j                         S )a  
    Pickle an object to a string.

    *protocol* is the pickler protocol, as defined for Python *pickle*.

    If *byref=True*, then dill behaves a lot more like pickle as certain
    objects (like modules) are pickled by reference as opposed to attempting
    to pickle the object itself.

    If *recurse=True*, then objects referred to in the global dictionary
    are recursively traced and pickled, instead of the default behavior
    of attempting to store the entire global dictionary. This is needed for
    functions defined via *exec()*.

    *fmode* (:const:`HANDLE_FMODE`, :const:`CONTENTS_FMODE`,
    or :const:`FILE_FMODE`) indicates how file handles will be pickled.
    For example, when pickling a data file handle for transfer to a remote
    compute service, *FILE_FMODE* will include the file contents in the
    pickle and cursor position so that a remote method can operate
    transparently on an object with an open file handle.

    Default values for keyword arguments can be set in :mod:`dill.settings`.
    )StringIOr   getvalue)ra   r   r   r   r   r   r   s          rC   r   r     s.    0 :DdHeUG<t<==?rB   c                :    t        | fd|i|j                         S )zW
    Unpickle an object from a file.

    See :func:`loads` for keyword arguments.
    r   )r
   r   )r   r   r   s      rC   r   r   #  s"     T1&1D16688rB   c                2    t        |       }t        ||fi |S )ah  
    Unpickle an object from a string.

    If *ignore=False* then objects whose class is defined in the module
    *__main__* are updated to reference the existing class in *__main__*,
    otherwise they are left to refer to the reconstructed type, which may
    be different.

    Default values for keyword arguments can be set in :mod:`dill.settings`.
    )r   r   )strr   r   r   s       rC   r   r   +  s     C=Df%%%rB   c                      e Zd ZddZd Zy)MetaCatchingDictNc                0    	 | |   S # t         $ r |cY S w xY wrm   )KeyError)r   keydefaults      rC   getzMetaCatchingDict.getD  s%    	9 	N	s    c                B    t        |t              rt        S t               rm   )
issubclassr\   	save_typer   )r   r   s     rC   __missing__zMetaCatchingDict.__missing__J  s    c4 *rB   rm   )rI   rH   r   r   r   rA   rB   rC   r   r   C  s    rB   r   c                      e Zd Zy)r   NrI   rH   r   rA   rB   rC   r   r   P      rB   r   c                      e Zd Zy)r   Nr   rA   rB   rC   r   r   S  r   rB   r   c                      e Zd Zy)r   Nr   rA   rB   rC   r   r   V  r   rB   r   c                      e Zd ZU dZ eej                  j                               Zded<   	 dZ	ddl
m
Z
 d ZddZej                  j                  e_        d	 Zej                  j                  e_        y
)r	   z1python's Pickler extended to interpreter sessionsz?typing.Dict[type, typing.Callable[[Pickler, typing.Any], None]]dispatchFr   r   c                v   t         j                  }|j                  dd       }|j                  dd       }|j                  dd       }t        j                  | |g|i | t
        | _        i | _        ||d   n|| _        d| _	        ||d   n|| _
        ||d   n|| _        t               | _        || _        y )Nr   r   r   F)r	   r   ry   StockPicklerr   _main_module_main_diff_cache_byref	_strictio_fmode_recurser2   	_postproc_file)r   r   r~   r   r   r   r   r   s           rC   r   zPickler.__init__g  s    ##'4('4(88It,dD84848!
+1>hw'v+1>hw'v/7/?+X$
rB   c                t   t        |      }t        rn|t         u sf|t        j                  v sTt	        |      rt        |      d        }t        |      rt        |      d        }t        |      rt        |      d        }t        r|t        u rdt        z  }t        |      t        j                  | ||       y )Nc           	         t        j                  | d|       t        |dt        |dd             }t        j                  | ||       t        j                  | d       y )NzNu: %sr   rI   r   # Nu)loggerr   getattrr   save_globalpicklerra   r   s      rC   save_numpy_ufuncz&Pickler.save.<locals>.save_numpy_ufunc~  sM    LL(C8"3ZQU8VWD ,,WcELL&1rB   c                    t        j                  | d|       | j                  t        |j                  f|       t        j                  | d       y )NzDt: %sr`   z# Dt)r   r   save_reduce_create_dtypemetar\   r   ra   s     rC   save_numpy_dtypez&Pickler.save.<locals>.save_numpy_dtype  s?    LL(C8''(9CHH;C'PLL&1rB   c                   t        j                  | d|j                  |j                         t	        |dd       }|j                         \  }}}| j                  t        ||||f|       t        j                  | d       y )NzNu: (%s, %s)__dict__r`   r   )r   r   shaper=   r   rR   r   _create_array)r   ra   npdictr   r~   states         rC   save_numpy_arrayz&Pickler.save.<locals>.save_numpy_array  sl    LL.#))SYYO$S*d;F%(^^%5NAtU''$uV7LRU'VLL&1rB   z;Can't pickle %s: attribute lookup builtins.generator failed)r\   r?   r	   r   rY   r   r]   rU   GENERATOR_FAILr(   r   r   save)r   ra   save_persistent_idrT   r   r   r   msgs           rC   r   zPickler.savew  s    98t#3x7CSCS7S (#(# $ (#(# $ 'x0(# $ h-7OR__C$$$%78rB   c                Z    t        j                  |        t        j                  | |       y rm   )r   trace_setupr   r   r   ra   s     rC   r   zPickler.dump  s     4 $$rB   NT)rI   rH   r   r   r   r   r   r   __annotations___sessionr   r   r   r   rA   rB   rC   r	   r	   Z  sr    ;|4499;< M = H" /9b  $$,,DL%  $$,,DLrB   r	   c                  h    e Zd ZdZddlmZ dZd Zd Zd Ze	j                  j                  e_        y)	r
   zBpython's Unpickler extended to interpreter sessions and more typesr   r   Fc                    ||fdk(  r| j                   j                  S ||fdk(  rt        d       S |dk(  rd}t        j                  | ||      S )N)rz   __main__)rz   NoneTypez	dill.dill
dill._dill)r   r   r\   StockUnpickler
find_class)r   moduler   s      rC   r  zUnpickler.find_class  sW    D>88::&&&d^:::[ <&((vt<<rB   c                    t         j                  }|j                  dd       }t        j                  | g|i | t
        | _        ||d   | _        y || _        y )Nr   )r	   r   ry   r  r   r   r   _ignore)r   r~   r   r   r  s        rC   r   zUnpickler.__init__  sR    ##((8T*4t4t4!
-4_x)'rB   c                "   t        j                  |       }t        |      j                  t	        t
        dd      k(  r<| j                  s0t	        | j                  t        |      j                        |_	        |S |S # t        t        f$ r Y |S w xY w)NrI   r   )r  r   r\   rH   r   r   r  r   rI   	__class__AttributeError	TypeErrorr   s     rC   r   zUnpickler.load  sv    !!$'97<Z#PP<<%,TZZc9K9K%LS] 
s
 'y174
 8s   	.A; ;BBN)
rI   rH   r   r   r   r   r  r   r   r  rA   rB   rC   r
   r
     s5    L"H=J "&&..DLrB   r
   c                *    |t         j                  | <   y)zBexpose :attr:`~Pickler.dispatch` table for user-created extensionsNr	   r   r   funcs     rC   r   r     s    GQ
rB   c                      fd}|S )zHdecorator to register types to Pickler's :attr:`~Pickler.dispatch` tablec                .    | t         j                  <   | S rm   r  )r  r   s    rC   proxyzregister.<locals>.proxy  s    "rB   rA   )r   r  s   ` rC   r   r     s     LrB   c                     t        t        j                  j                               D ]M  \  } }|j                  t
        k(  st        j                  | = | t        v s4t        |    t        j                  | <   O y)z7drop dill-registered types from pickle's dispatch tableN)listr   r   itemsrH   rI   pickle_dispatch_copy)r\   r  s     rC   _revert_extensionr    sc    <006689 I
d??h&%%d+++.B4.H%%d+	IrB   c                \    | a t         rt        
	 ddlm} |ayyy# t        $ r ddl}Y w xY w)a  
    Reduces size of pickles by only including object which have changed.

    Decreases pickle size but increases CPU time needed.
    Also helps avoid some unpickleable objects.
    MUST be called at start of script, otherwise changes will not be recorded.
    Nr   )diffr   )	_use_diffr   ImportError)onds     rC   use_diffr    s:     IT\	#  "y  		s    ++c               #  >  K   dd l } t        t        t        j                  j                               t        | j                  j                               z         j                         }|D ].  \  }}t        |dd       dk(  st        |      t        u s)||f 0 y w)Nr   rH   builtins)typesr   r  rz   r   r  r   r\   )r!  r  r   values       rC   _create_typemapr#    s     T+&&,,./%..&&()* 	++057  
U5,-;K4'u* s   A?BB	B)PartialType	SuperTypeItemGetterTypeAttrGetterTypei CellType)	FileTypeBufferedRandomTypeBufferedReaderTypeBufferedWriterTypeTextWrapperTypePyBufferedRandomTypePyBufferedReaderTypePyBufferedWriterTypePyTextWrapperType)DictKeysTypeDictValuesTypeDictItemsTypeOdictKeysTypeOdictValuesTypeOdictItemsTypeExitType	InputType
OutputTypei )GenericAliasGenericAliasIteratorTypeHKEYTypec              #  *   K   | ]  \  }}||f  y wrm   rA   )rK   kvs      rC   rM   rM   P  s     <41aA<s   c                ,    t        j                  |       S rm   )marshalr   )strings    rC   
_unmarshalrD  R  s    ==  rB   c                    t         |    S rm   )_reverse_typemapr   s    rC   
_load_typerG  U  s    D!!rB   c                     | | S rm   rA   )typeobjr~   s     rC   _create_typerJ  X  s    D>rB   c                    t        | |xs
 t               |||      }||j                  j                  |       |||_        d|j
                  vrt               d   |j
                  d<   |S )N__builtins__)r&   r   r   r   __kwdefaults____globals__globals)fcodefglobalsfname	fdefaultsfclosurefdictfkwdefaultsr  s           rC   _create_functionrW  [  so     x1465)XNDU#) T---+29^+D(KrB   c                  >    e Zd ZdZd Zd Zd Zd Zed        Z	d Z
y)	matchaI  
    Make avaialable a limited structural pattern matching-like syntax for Python < 3.10

    Patterns can be only tuples (without types) currently.
    Inspired by the package pattern-matching-PEP634.

    Usage:
    >>> with match(args) as m:
    >>>     if   m.case(('x', 'y')):
    >>>         # use m.x and m.y
    >>>     elif m.case(('x', 'y', 'z')):
    >>>         # use m.x, m.y and m.z

    Equivalent native code for Python >= 3.10:
    >>> match args:
    >>>     case (x, y):
    >>>         # use x and y
    >>>     case (x, y, z):
    >>>         # use x, y and z
    c                     || _         d | _        y rm   )r"  _fields)r   r"  s     rC   r   zmatch.__init__  s    
rB   c                    | S rm   rA   r   s    rC   	__enter__zmatch.__enter__  r   rB   c                     yr_   rA   )r   exc_infos     rC   __exit__zmatch.__exit__  s    rB   c                V    t        | j                        t        |      k7  ry|| _        y)zjust handles tuple patternsFT)lenr"  r~   )r   r~   s     rC   casez
match.case  s%    tzz?c$i' 	rB   c                    | j                   .t        t        | j                  | j                              | _         | j                   S rm   )r[  r   zipr~   r"  r   s    rC   fieldszmatch.fields  s3     <<DIItzz :;DL||rB   c                     | j                   |   S rm   )rf  r   items     rC   __getattr__zmatch.__getattr__  s    {{4  rB   N)rI   rH   r   r   r   r]  r`  rc  propertyrf  rj  rA   rB   rC   rY  rY  k  s4    (  
!rB   rY  ))      aco_endlinetablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable endlinetable columntable exceptiontable freevars cellvars)rm  rn  co_exceptiontablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable                          exceptiontable freevars cellvars)rm  rn  pco_qualnamezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name qualname firstlineno linetable                                         freevars cellvars)rm  
   co_linetablezargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno linetable                                         freevars cellvars)rm     co_posonlyargcountzargcount posonlyargcount kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno lnotab                                            freevars cellvars)rm     co_kwonlyargcountzargcount                 kwonlyargcount nlocals stacksize flags code consts names varnames filename name          firstlineno lnotab                                            freevars cellvars)codelnotab	linetableendlinetablecolumntableexceptiontablec                 V   t        | d   t              s| ^}} nd}t        |       5 }|j                  d      rt        dk(  rt        g | d d t        | d   d      r| d   j                         n| d   | dd t        | d   d      r| d   j                         n| d   t        | d	   d      r| d	   j                         n| d	   | d
   | d    cd d d        S |j                  n|j                  d      rt        dk(  rtt        g | d d t        | d   d      r| d   j                         n| d   | dd t        | d   d      r| d   j                         n| d   | d	   | d
    cd d d        S |j                  n|j                  d      rt        dk(  s	t        dk(  rtt        g | d d t        | d   d      r| d   j                         n| d   | dd t        | d   d      r| d   j                         n| d   | d   | d	    cd d d        S |j                  t        dk\  r|j                  d<   n;|r|n|j                  d<   n&|j                  d      rt        dk(  rtt        g | d d t        | d   d      r| d   j                         n| d   | dd t        | d   d      r| d   j                         n| d   | d   | d    cd d d        S |j                  n|j                  d      rot        dk(  rYt        g | d d t        | d   d      r| d   j                         n| d   | dd d | dd D        | d   | d    cd d d        S |j                  nt        d      d d d        j                  dd       j                  d|       j                  dd       j                  dd           j                  d!d       j                  d"d        j                  d#d        fd$t        D        } t        |  S # 1 sw Y   xY w)%Nr   rB   )argcountposonlyargcountkwonlyargcountnlocals	stacksizeflagsr  constsnamesvarnamesfilenamer   qualnamefirstlinenor  r  freevarscellvarsrq     encoder}              )r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  rs  )r  r  r  r  r  r  r  r  r  r  r  r   r  LNOTAB_OR_LINETABLEr  r  rv  ry     r  r  )r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r|        )r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  rl  c              3  X   K   | ]"  }t        |d       r|j                         n| $ ywr  N)hasattrr  )rK   ro  s     rC   rM   z_create_code.<locals>.<genexpr>   s$     UAGAx$8ahhja?Us   (*      z$pattern match for code object failedr  r  r   r  r  r  c              3  |   K   | ]3  }|t         v r"t        |   d       r|   j                         n|    5 ywr  )ENCODE_PARAMSr  r  )rK   r?  rf  s     rC   rM   z_create_code.<locals>.<genexpr>  sF      " #$}"4H9UF1I[abc[dd "s   9<)
isinstancer   rY  rc  CODE_VERSIONr%   r  r  rf  r  r   
setdefaultCODE_PARAMS)r~   LNOTABmrf  s      @rC   _create_coder    s
   d1gs#	t WJ66 
 
 v% "1X(/Q(BDGNN$Q !BZ *1b8)DDHOO%$r(	
 *1b8)DDHOO%$r( H HWJ WJ" XXFVV 
 
 z) "1X(/Q(BDGNN$Q !BZ *1b8)DDHOO%$r(	
 H H3WJ WJB XXFVV 
 
 v%)> "1X(/Q(BDGNN$Q !BZ *1b8)DDHOO%$r(	
 H HSWJ WJb XXFv%&'&;&;{#-369N9Nx VV 
 
 u$ "1X(/Q(BDGNN$Q !BZ *1b8)DDHOO%$r(	
 H H{WJ WJJ XXFVV 
 
 z) "1X(/Q(BDGNN$Q !BZ VbQSU	
 H H[WJ WJj XXF!"HIIoWJt '+
h'
k3'
j&.1
&,
nd+
mT*" "DT?IWJ WJs.   B,PBP9BPB?P'A6P'PP(c                *    |i }|d} | |g|i |S )NrA   rA   )ftypeobjr  r~   r   s       rC   _create_ftyper    s+    ||D(4(4((rB   c                    | s"t         j                  d   j                  d      S | dk(  rt         j                  d   S t         j                  |    S )NrA   rA   )typingTuple	copy_with)argzr~   s     rC   _create_typing_tupler    sD    ||B))"--u}||B<<rB   c                F    ddl m}  ||       }|r|j                          |S )Nr   )_make_thread_handle)	threadingr  	_set_done)identdoner~   r  handles        rC   _create_thread_handler  $  s#    1$U+rB   c                \    ddl m}  |       }| r|j                  d      st        d      |S )Nr   )LockFCannot acquire lock)r  r  acquirer   )lockedr~   r  locks       rC   _create_lockr  +  s,    6D||E"!"788KrB   c                ~    t               }||j                  | |f       |r|j                         st        d      |S )Nr  )	RLockType_acquire_restore	_is_ownedr   )countownerr~   r  s       rC   _create_rlockr  3  s>    ;Duen-T^^%344KrB   c                4   t         j                  t         j                  t         j                  d}| t	        |j                               v r||    }	n| dk(  rt        j                         }	n| dk(  rdd l}
|
j                  |      }	n	 t        j                  j                  |       }|s"|rt        d| z        d|v r|t        k7  rd} d}nt        j                  j                  |       }||kD  r|rt!        d      |t"        k(  r|}	 |t        k(  r> || d	|v r|nd	      }	|	j%                  |       d	|vr|	j'                           || |      }	n| dk(  rdd l}
|
j                  |      }	n|t"        k(  rd	|v sd
|v rt        j(                  }d|v r|t        j*                  z  }n|t        j,                  z  }t        j.                  t        j0                  | |      |      }	t3        |	d|	      }t3        |d|      }| |_        |	j4                  | k(  sJ  || |      }	|r|	j'                          |	S |dk\  r|t<        k7  r|	j?                  |       |	S # t        $ r d}Y w xY w# t6        t        f$ r# t        j8                         d   }t;        |      w xY w)N)z<stdin>z<stdout>z<stderr>z	<tmpfile>z<fdopen>r   Fz)[Errno 2] No such file or directory: '%s'r   zinvalid buffer sizewro   +bufferrawr   ) sys	__stdin__
__stdout__
__stderr__r  keysr{   tmpfiletempfileTemporaryFilepathexists	ExceptionFileNotFoundErrorr   getsize
ValueErrorr   writer}   O_CREATO_RDWRO_WRONLYfdopenrx   r   r   IOErrorr_  r   r   seek)r   modepositionclosedrx   strictior   fdatar  r   r  r  current_sizer  r   errs                   rC   _create_filehandler  <  se    }}(EtEJJL!!$K		JJL		""4(	WW^^D)F '(SVZ(Z[[*!4!L77??40Ll" !677.('	'
"sd{t<d?GGIT4(A#**40.(4K3$;

$;RYY&ER[[(EIIbggdE2D9Ax+Aua(vv~%~t$ 		 H 
Q5L0	xHk  	F	\ *+ 	',,.#C!#&&	's   I DI% I"!I"%2Jc                f    t        |       }|r|j                          |S |j                  |       |S rm   )r   r}   r  r"  r  r  r   s       rC   _create_stringir    s.    AqwwyH &&
HrB   c                    t               }|r|j                          |S |j                  |        |j                  |       |S rm   )r   r}   r  r  r  s       rC   _create_stringor    s9    
Aqwwy H 	wwu~vvhHrB   c                      e Zd Zd Zd Zy)_itemgetter_helperc                    g | _         y rm   r  r   s    rC   r   z_itemgetter_helper.__init__  s	    
rB   c                :    | j                   j                  |       y rm   )r  appendrh  s     rC   __getitem__z_itemgetter_helper.__getitem__  s    

$rB   N)rI   rH   r   r   r  rA   rB   rC   r  r    s    rB   r  c                      e Zd ZddZd Zy)_attrgetter_helperNc                     || _         || _        y rm   )attrsindex)r   r  r  s      rC   r   z_attrgetter_helper.__init__  s    

rB   c                    t         j                  | d      }t         j                  | d      }|t        |      }|j                  |       ndj	                  ||   |g      ||<    t        |       ||      S )Nr  r  r   )object__getattribute__rb  r  joinr\   )r   attrr  r  s       rC   r  z#_attrgetter_helper.__getattribute__  sn    ''g6''g6=JELL88U5\4$89E%LtDz%''rB   rm   )rI   rH   r   r   r  rA   rB   rC   r  r    s    (rB   r  c                      e Zd Zd Zy)_dictproxy_helperc                    |S rm   rA   )r   ro  s     rC   __ror__z_dictproxy_helper.__ror__  s    rB   N)rI   rH   r   r  rA   rB   rC   r  r    s    rB   r  _CELL_EMPTYc                <    | t         ur| fdj                  d   S )Nc                      S rm   rA   )r"  s   rC   rp   z_create_cell.<locals>.<lambda>  s    E rB   r   )r  __closure__)contentsr"  s    @rC   _create_cellr    s!    {"&&q))rB   c                L    ddl m} | ddlm}  | |       g| S  || g| S )Nr   )refUserDict)weakrefr  collectionsr  )ra   r~   r  r  s       rC   _create_weakrefr    s-    
{(8:%%%s?T?rB   c                d    ddl m} |  |r
 |d g| S ddlm}  | |       g| S  || g| S )Nr   )r  c                    | S rm   rA   rq   s    rC   rp   z#_create_weakproxy.<locals>.<lambda>  s    1 rB   r  )r  r  r  r  )ra   callabler~   r  r  s        rC   _create_weakproxyr    sA    
{E*4t44(XZ'$''trB   c                    t        |       S rm   )eval)repr_strs    rC   
_eval_reprr    s    >rB   c                l     | | }|j                  |       ||j                  j                  |       |S rm   )__setstate__r   r   )r   r~   r   r   arrays        rC   r   r     s6    tHE	uf%LrB   c                ^    t         du r
t                | t         S t        t        |             S )NT)r@   rD   r\   )scalar_types    rC   r   r     s*    T8:
;'((rB   c                f    t        |dz   | z   d      }||S dd l}|j                  | |||      }|S )Nr   Tsafer   )defaultsr  )_import_moduler  
namedtuple)r   
fieldnames
modulenamer%  class_r  r   s          rC   _create_namedtupler+    sD    J,t3$?FtZ(:VAHrB   c                   d}	 |j                  d      }t        d|j                  d      dz         D ]@  }|j                  d|      }	 t	        |d         }}	|dd  D ]  }
t        |	|
      }	 |	}d} n |r(t        |      r|S t        t        |      d|d      t        | ||      }t        ||       |S # t
        $ r Y ow xY w# t        $ r Y _w xY w)	NFutf8r   r   r   Tz object exists at z% but a PyCapsule object was expected.)decoderanger  rsplit
__import__r  r   r  _PyCapsule_IsValidr   r\   _PyCapsule_New_PyCapsule_SetContext)pointerr   context
destructor
attr_foundunameir  r  ra   r  capsules               rC   _create_capsuler<    s   JF#q%++c*1,- 	ALLa(E#E!H- Cab	 )c4()GJ	 gt,N_cdk_lnrstt !$
;gw/'    s6   AC
 	B;C
 ;	CC
 CC
 
	CCc                   	 |j                  d      d   }t        |dz   |z   dz         S # t        $ rW 	 | j                  }t	        |      t
        u r||   }nt        | |      }n!# t        t        f$ r t        | |      }Y nw xY w|cY S w xY w)N'rm  z.__dict__["z"])	splitr  r  r   r\   DictProxyTyper   r	  r   )objclassr   r  r  s       rC   _getattrrB  	  s    ~~c"1%D&t+D011 		*$$DDz]*Dzx-) 	*8D)D	*	s2   '* 	B
/A$#B
$B?B
BB
	B
c                @    t        | |d       xs t        t        |      S rm   )r   rz   )r   r   s     rC   	_get_attrrD    s    4t$BT(BBrB   c                x   	 | j                  d      rt        j                  |    S d| v rj| j                  d      }dj	                  |d d       }|d   }t        t        |d d |g      |      }t        |t        t        f      r|S t        | d d |g      S t        |       S # t        t        t        f$ r |rY y  w xY w)Nz__runtime__.r   r   )
startswithr  modulesr?  r  r   r1  r  r+   r\   r  r	  r   )import_namer$  r  r  ra   	submodules         rC   r&  r&    s    !!.1;;{++K%%c*EXXeCRj)F)C
64u EsKI)j$%78  k4u==k**2 s#   #B AB B 
B B97B9c                    |j                  d      D ]1  }|dk(  rt        dj                  ||             	 | }t        | |      } 3 | fS # t        $ r t        dj                  ||             w xY w)Nr   z<locals>z&Can't get local attribute {!r} on {!r}z Can't get attribute {!r} on {!r})r?  r	  formatr   )ra   r   subpathparents       rC   _getattributerN  1  s    ::c? 	5j  !I"(&s"35 5	5F#w'C	5 ;  	5 !C"(&s"35 5	5s   A

%A/c                \   t        | dd       }|dv s4|r3t        |d      r&|j                  r||j                  j                  k(  ryt        | d      r+t        |d      }	 t        || j                        \  }}|| u S t        |dz   | j                  z   d      }|| u S # t        $ r Y yw xY w)	NrH   )r   NFchildr   Tr#  r   )
r   is_dillr   r   rI   r  r&  rN  r   r	  )ra   r   r   r  found_s         rC   _locate_functionrU  >  s    #|T2K((u5':J:J{^e^k^k^t^tOtsN#$7	$VS-=-=>HE1C< {S03<<?dK|	  		s   !B 	B+*B+c                >    |j                         D ]
  \  }}|| |<    y rm   r  )destsourcer?  r@  s       rC   	_setitemsrY  O  s$     1QrB   c           	        |t         j                  u rt        |      }|t        | d      }|r|g }t	        |      | j
                  v rht        |d      r'|j                  dt        |d|j                        dnd}t        j                  d|d	|d
t               | j                  |       y || j
                  t	        |      <    | j                  |d|i |r| j
                  j                  t	        |            }t!        |      D ]  }|d   t"        u r|d   \  }}|r| j%                  | j'                  | j(                  t	        |         d                t*        j,                  dk  r)| j/                  t1        |j3                                      n;| j/                  t1        |j3                               |       n | j                  |  | j%                  t4                y y )NTrP  rH   r   r    r  Cannot pickle : z<has recursive self-references that trigger a RecursionError.ra   r   r   i r`   )r   
NO_DEFAULTr   rR  idr   r  rH   r   rI   warningswarnr   r   r   ry   reversedrY  r  r   r   r  
hexversion_batch_setitemsiterr  r    )	r   	reductionis_pickler_dillra   postproc_listr   postprocrW  rX  s	            rC   _save_with_postprocrj  T  s   
g   Y!'6
  M c7g'''^efikw^xs~~wsNCLL/YZ  ADMMpsuyz  }L  M$%2"S'" G,, $$((C1!(+ 	I|y(  )|fMM'++gll2d8.DQ.G"HI~~	1//V\\^0DE//V\\^0D#/N ###Y/MM##	 rB   c                
   t        j                  | d|       t        |d      r|j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                   |j"                  |j$                  |j&                  |j(                  |j*                  |j,                  |j.                  f}n't        |d      rt1        j2                         5  t4        st1        j6                  dt8               |j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                   |j"                  |j$                  |j*                  |j,                  |j.                  f}d d d        nt        |d      r|j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                   |j"                  |j$                  |j,                  |j.                  f}n1t        |d      r|j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j"                  |j$                  |j,                  |j.                  f}nft        |d      r|j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j"                  |j                  |j,                  |j.                  f}n|j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  |j"                  |j                  |j,                  |j.                  f}| j;                  t<        |	       t        j                  | d
       y # 1 sw Y   8xY w)NzCo: %srp  rr  r   )categoryru  rx  r{  r`   z# Co)r   r   r  	co_lnotabco_argcountr{  r~  
co_nlocalsco_stacksizeco_flagsco_code	co_constsco_namesco_varnamesco_filenameco_nameru  co_firstlinenorx  rp  co_columntablerr  co_freevarsco_cellvarsr`  catch_warningsOLD312a7filterwarningsDeprecationWarningr   r  r   ra   r~   s      rC   	save_coder    s   
LL(C(s%&MMOOS33!!3>>33C3CLL#++s}}cllOOS__ckk3?? 0 0#2E2E 5 5sOO	
 
)	*$$& 	'';MN!7!7%%s~~s7G7Gckk3==#,,#++s""C$4$4c6K6KD	 	 
m	$MM3??C,B,B!!3>>33C3CLL#++s}}cllOOS__ckk3?? 0 0#//OO
 
n	%MMOOS33!!3>>33C3CLL#++s}}cllOOS__ckk 0 0#//OO
 
*	+OOS33!!3>>33C3CLL#++s}}cllOOS__ckksOO
 OOS22CNNcllCKKLL#//3??KK++S]]OOS__
 d4
LL&!
g	 	s   0C5U%%U.c                H    dt        |       j                  t        |       fz  S )z3Make a short string representation of a dictionary.z<%s object at %#012x>)r\   rI   r_  r`   s    rC   
_repr_dictr    s     "d3i&8&8"S'%BBBrB   c                   t        | d      r|| j                  j                  k(  rj| j                  r| j                  sRt        j                  | dt        |             | j                  t        dd             t        j                  | d       y t        | d      se|t        j                  k(  rRt        j                  | dt        |             | j                  t        dd             t        j                  | d	       y d
|v r|t        j                  k7  rt        |d
         t        u rt|t        t        |d
   d      dd       u rXt        j                  | dt        |             | j                  t        d|d
   z  d             t        j                  | d       y t        j                  | dt        |             t        | d      r| j                  rd| _        t        j                   | |       t        j                  | d       y )NFrP  zD1: %szc__builtin__
__main__
zUTF-8z# D1zD3: %szc__main__
__dict__
z# D3rI   Tr   zD4: %szc%s
__dict__
z# D4zD2: %sz# D2)rR  r   r   r   _first_passr   r   r  r  bytesr   r\   r   r   r&  r   	save_dictr   s     rC   save_module_dictr    s   we$0F0F)F!!g&9&9Wh
38e6@AWf%$ # gU+#9N9N2NWh
38e3W=>Wf%  
s	sl&;&;;S_%,w~c*odCZQUVVWh
38e-J?IJWf%  	Wh
387%(W-=-="'Gw,Wf%
rB   c           
     V    d }dD cg c]  }| |t        | |            f c}S c c}w )Nc                      fd}|S )Nc                    t        j                  | d|       |j                  t        z  }| j	                  |f|       t        j                  | d       y )Nz
Dkvi: <%s>r`   z# Dkvi)r   r   mapping_dictproxy_helper_instancer   )r   ra   r  r  s      rC   _save_dict_viewzLsave_dict_view.<locals>.save_dict_view_for_function.<locals>._save_dict_view  sG    WlC8++(BB##D7*##>Wh/rB   rA   )r  r  s   ` rC   save_dict_view_for_functionz3save_dict_view.<locals>.save_dict_view_for_function  s    0
 #"rB   )r  valuesr  )r   )dicttyper  funcnames      rC   save_dict_viewr    s;    	# 8
 278X3NOP
 	
 
s   &c                8      fd} fd} fd}d|fd|fd|ffS )Nc                    t        j                  | d|       t        j                  j                  t        |      f      }| j                  j                  |f|       t        j                  | d       y )NzDk: <%s>r`   z# Dk)r   r   r   r   fromkeysr  r   r  r   ra   dict_constructorr  s      rC   save_dict_keysz&save_dict_view.<locals>.save_dict_keys  s[    LL*c2%}}X->->cM0@/BLLL&)rB   c                    t        j                  | d|       t        j                  t	        |      f      }| j                  j                  |f|       t        j                  | d       y )NzDv: <%s>r`   z# Dv)r   r   r   r   	enumerater   r  r  s      rC   save_dict_valuesz(save_dict_view.<locals>.save_dict_values  sV    LL*c2%}}X	#7HI2B1D#NLL&)rB   c                    t        j                  | d|       | j                  j                   |      f|       t        j                  | d       y )NzDi: <%s>r`   z# Di)r   r   r   r  )r   ra   r  s     rC   save_dict_itemsz'save_dict_view.<locals>.save_dict_items  sA    LL*c2#0@cJLL&)rB   r  r  r  rA   )r  r  r  r  s   `   rC   r  r    s7    	*	*	* ^$'(o&
 	
rB   c           	        t        ||       sgt        j                  | d|       | j                  t        |j
                  |j                  |j                  f|       t        j                  | d       y t        j                  | d|       t        |dt        |dd             }t        j                  | ||       t        j                  | d       y )	NzC1: %sr`   z# C1zC2: %sr   rI   r   z# C2)rU  r   r   r   	ClassTyperI   	__bases__r   r   r   r   r   s      rC   save_classobjr  *  s    C)Wh,Icmm(+(6;> 	 	@ 	Wf% 	 	Wh,sNGCT,JK  #D9Wf%
rB   c                j   |j                   }t        |j                               t        u rTt	        j
                  | d|       t        j                  | ||j                                t	        j
                  | d       y |j                  t        u rN|r|dk(  rGt	        j
                  | d|       | j                  t        |f|       t	        j
                  | d       y t	        j
                  | d|       t        j                  | g|j                         d	|i t	        j
                  | d
       y )NzGa0: %sr   z# Ga0r  zGa1: %sr`   z# Ga1zGa2: %sra   z# Ga2)__args__r\   rR   r   r   r   r   r   
__origin__tupler   r  r  s      rC   save_generic_aliasr  9  s    <<DCNN$Wi-  #CNN4DEWg&  
5	 $$%-Wi-04'sCWg&
  	Wi-  E3>>+;EEWg&
rB   c                    t        j                  | d|       | j                  t        |j                  |j                         f|       t        j                  | d       y )NzTh: %sr`   z# Th)r   r   r   r  r  is_doner   s     rC   save_thread_handler  K  sI    Wh,1CIIs{{}3MSVWWf%rB   c                    t        j                  | d|       | j                  t        |j	                         f|       t        j                  | d       y )NzLo: %sr`   z# Lo)r   r   r   r  r  r   s     rC   	save_lockr  R  s@    
LL(C(szz|o3?
LL&!
rB   c                   t        j                  | d|       |j                         }t        |j	                  d      d   j	                         d   j                  d            }t        |j	                  d      d   j	                         d         }| j                  t        ||f|       t        j                  | d       y )	NzRL: %szcount=r   r   >zowner=r`   z# RL)r   r   ru   r   r?  rstripr   r  )r   ra   r   r  r  s        rC   
save_rlockr  Y  s    
LL(C(A!!$**,Q/66s;<E!!$**,Q/0Ee~3?
LL&!
rB   c                    t        j                  | d|        | j                  t        |        t        j                  | d       y )NzSo: %sz# So)r   r   r   reduce_socketr   s     rC   save_socketr  d  s8    
LL(C(Gs+,
LL&!
rB   c                F   |j                   rd}nT|j                          |t        j                  t        j                  t        j
                  fv rd}n|j                         }t        | d      rG| j                  t        k(  r4 ||j                  d      }|j                         }|j                          nd}t        | d      r| j                  }| j                  }nd}d}| j                  t        |j                  |j                   ||j                   ||||f|       y )	Nr   r   TrP  r   r  Fr`   )r  flushr  r  r  r  tellrR  r   r   r   readr}   r   r   r  r  )r   ra   open_r  r   r  r  r   s           rC   
_save_filer  j  s    
zz		3>>3>>3==AAHxxzHwd#*(D#((C 		wd#$$*SXXsxx-0ZZ-2E-;@C  E rB   c                    t        j                  | d|       t        | |t              }t        j                  | d       |S NzFi: %sz# Fir   r   r  rx   r   ra   r   s      rC   	save_filer    s5    
 LL(C(7C&A
LL&!HrB   c                    t        j                  | d|       t        | |t              }t        j                  | d       |S r  r  r  s      rC   r  r    s3    Wh,wT*Wf%rB   c                    t        j                  | d|       t        | |t              }t        j                  | d       |S r  r   r   r  _openr  s      rC   r  r    s5     	Wh,wU+Wf%rB   c                    t        j                  | d|       t        | |t              }t        j                  | d       |S r  r  r  s      rC   r  r    s3    LL(C07C/ALL&)HrB   c                
   t        j                  | d|       |j                  rd}d}n |j                         }|j	                         }| j                  t        |||j                  f|       t        j                  | d       y NzIo: %sr  r   r`   z# Io)r   r   r  r   r  r   r  r   ra   r"  r  s       rC   save_stringir    q    Wh,::E1LLNEsxxzHOeX.1jj.:?B 	 	DWf%rB   c                
   t        j                  | d|       |j                  rd}d}n |j                         }|j	                         }| j                  t        |||j                  f|       t        j                  | d       y r  )r   r   r  r   r  r   r  r  s       rC   save_stringor    r  rB   )	lru_cachec                p   t        j                  | d|       t        r|j                         }|j                  f}n|j                         }|d   |d   f}|t        j                  k7  rt        t        |d      }nt        }| j                  ||j                  f|       t        j                  | d       y )NzLRU: %smaxsizetypedT)is_callabler`   z# LRU)r   r   OLD39
cache_infor  cache_parametersr  __defaults__r   r   __wrapped__)r   ra   r   r~   wrappers        rC   save_lru_cacher    s    Wi-^^%FNN$D))+F9%vg7D9)))Y$?GGGcoo%7SAWg&rB   c                    t        j                  | d|       | j                  t        |j                  |j
                  f|       t        j                  | d       y )NzSu: %sr`   z# Su)r   r   r   super__thisclass____self__r   s     rC   
save_superr    sG    
LL(C( 1 13<<@cJ
LL&!
rB   c                   t        |j                  dd       }|t        |      t        urt        |j                  |j
                        |k(  r\t        j                  | d|       | j                  t         |j                  |j
                  f|       t        j                  | d       y t        j                  | d|       | j                  t        |j                  |j                  f|       t        j                  | d       y )N__code__zMe2: %sr`   z# Me2Me1: %s# Me1)
r   __func__r\   r%   r  rI   r   r   r   r'   )r   ra   r  s      rC   save_instancemethod0r    s    s||Z6T
( :#,,5<LL)S1#,,)E3OLL'*Wi-Js||(D#NWg&rB   c                    t        j                  | d|       | j                  t        |j                  |j
                  f|       t        j                  | d       y )Nr  r`   r  )r   r   r   r'   r  r  r   s     rC   r  r    sE    Wi-Js||(D#NWg&rB   c                    t        j                  | d|       | j                  t        |j                  |j
                  |j                         f|       t        j                  | d       y NzWr: %sr`   z# Wrr   r   r   rB  __objclass__rI   ru   r   s     rC   save_wrapper_descriptorr    sZ     	Wh,Hs'7'7'*||~'7<? 	 	AWf%rB   c                    t        j                  | d|       | j                  t        |j                  |j
                  |j                         f|       t        j                  | d       y r  r  r   s     rC   r  r    sZ     	Wh,Hs'7'7'*||~'7<? 	 	AWf%rB   c                   	 |j                   }t        | d      rt        |      | j                  v r| j                  t        |         }n-t        t        | j                  j!                               d       }|ot        j                  | d|       | j	                  t
        t"        f|       |j%                  t        j&                  |d|ff       t        j                  | d       y t        j                  | d	|       | j	                  t
        |f|       t        j                  | d
       y # t        $ r t        j                  | d|       | j	                  t
        t        j                  f|       | j	                  t        j                  |df       | j                  t               t        j                  | d       Y y w xY w)NzCe3: %sr`   cell_contentsz# Ce3TrP  zCe2: %sz# Ce2zCe1: %sz# Ce1)r  r  r   r   r   r  r   r  _delattrr  r    rR  r_  r   nextre  r  	_CELL_REFr  _setattr)r   ra   r   ri  s       rC   	save_cellr    st   ( wd#a5G%%%((A/H D!2!2!9!9!;<dCHLL)S1 ylDOOV__sOQ.GHILL'*
LL)S)qd4
LL'"
O  Wi- 	L6+=+=*?SI 	FOOc?-CDcWg&%s   D0 0BGGc                    t        j                  | dt        |             |t        z  }| j	                  t
        |f|       t        j                  | d       y NzMp: %sr`   z# Mp)r   r   r  r  r   r@  )r   ra   r  s      rC   save_dictproxyr  >  sI    Wh
3822MG:3?Wf%rB   c                    t        j                  | dt        |             | j                  t        |j                         f|       t        j                  | d       y r  )r   r   r  r   r@  r   r   s     rC   r  r  F  sD    Wh
38MCHHJ=cBWf%rB   c                    t        j                  | d|       | j                  t        |j                  |j
                  |j                  f|       t        j                  | d       y )NzSl: %sr`   z# Sl)r   r   r   slicestartstopstepr   s     rC   
save_slicer  M  sK    
LL(C(		388SXX>CH
LL&!
rB   c                    t        j                  | d|       | j                  t        |j	                         f|       t        j                  | d       y )NzSi: %sr`   z# Si)r   r   r   r  ru   r   s     rC   save_singletonr  T  sC     LL(C(
S\\^$53?
LL&!
rB   c                    t        |       }t        |       }||k(  rt        |       S 	 t	        |j                  d      j                  d      d   d      }|S # t        $ r t        d      cY S w xY w# t        $ r t        s1t	        |j                  d      j                  d      d   d      }Y |S t        t        j                               }|D ]  }t        |      |k(  st        |      c cY S  dt        |       z  }t        |      w xY w)z.get memory address of proxy's reference objectNr  z at r   r  rs   z)Cannot reference object for proxy at '%s')reprr   ReferenceErrorr_  r   r  r?  r  IS_PYPYre  gcget_objects)ra   _repr_straddressobjects_objr   s          rC   _proxy_helperr  ]  s    IEC u}RWn&dkk#&,,V4R8rB N  $x
  	&%,,s+11&9"=BGG N 2>>+,G 7:%bh7 >3GC %%	&s.   A .A2 A/.A/2=D20D#D2Dc                n   g d}|D ]  }| t        |      k(  s|c S  |r$t        |j                  j                               }nt        t	        j
                               }|D ]  }| t        |      k(  s|c S  t        |       } t        d| z        # t        $ r t        dt        |       z        w xY w)zCget object located at the given memory address (inverse of id(obj)))NTFz"'%s' is not a valid memory addresszCannot reference object at '%s')
r_  re  r   r  r   r  hexr
  r   r  )r  r  specialra   r  s        rC   _locate_objectr  r  s    !G *bgcz*v--/0)*' *bgcz* w< :WD
EE  M<s7|KLLMs   :B !B4c                     |       }t        j                  | d|       | j                  t        |f|       t        j                  | d       y )NzR1: %sr`   z# R1)r   r   r   r  r   ra   refobjs      rC   save_weakrefr    sA    UF
LL(C(&<
LL&!
rB   c                    t        j                  | d|z         t        t        |            }| j	                  t
        |t        |      f|       t        j                  | d       y )NzR2: %rr`   z# R2)r   r   r  r  r   r  r  r  s      rC   save_weakproxyr    sU     LL(S.)M#./F)FHSM+BL
LL&!
rB   c                    t         d      sy j                  yg d}t        j                  j                  t         fd|D              xs/  j                  j                  t              xs d j                  v S )N__file__TF)base_prefixbase_exec_prefixexec_prefixprefixreal_prefixc           	   3     K   | ]t  }t        t        |      rbj                  j                  t	        t        |            xs5  j                        j                   t	        t        |                   v y wrm   )r  r  r  rF  r   )rK   r   r  rps     rC   rM   z%_is_builtin_module.<locals>.<genexpr>  sj      
 sD! OO&&wsD'9: F&//"--bd1C.DEF
s   A:A=zsite-packages)r  r  r{   r  realpathrX   endswithEXTENSION_SUFFIXES)r  r  r  s   ` @rC   _is_builtin_moduler    s}    6:&tu XE			B 	 
 
 	
 	. ??##$67	. foo-	rB   c                d    t        | dd       d uxs  | t        j                  j                         v S )N
__loader__)r   r  rG  r  )r  s    rC   _is_imported_moduler!    s-    6<.d:\fHZHZH\>\\rB   c                p   	 t        |      }t        | d      xr || j                  u }|j                   dvr|r|rt        j                  | d|       t        |      r|j                   nd	|j                   z  }|j                   j#                         }d
D ]  }|j%                  |d         t&        D ]1  }t)        |j+                  |      dd      j-                  d      s/||= 3 | j                  t        |f||       t        j                  | d       y |j                   dk(  rAt        j                  | d|       | j/                  |d       t        j                  | d       y t        j                  | d|       | j                  t        |j                   f|       t        j                  | d       y )N)ra   r   z# M2zM1: %sr`   z# M1TrP  )r   r   r  z__runtime__.%s)rL  r   rH   r  IPythonr  zM2: %s_dillr   )rI   r?  r  whats_changedr   r   r   infor  r   r&  RuntimeErrorr  rR  r   r!  r   r   ry   IPYTHON_SINGLETONSr   r   rF  r   )r   ra   changedbuiltin_modis_session_mainmod_name	main_dictri  s           rC   save_moduler.    s   $ )-!'6O3'--;OLL BB;"LL(C0':3'?s||EUX[XdXdEdH))+I6 *dD)** (9==.bALLYW!$( IVLL&)  \\\)LL(C0'2LL&)
  LL(C0SILL&)
rB   c                :   t        | j                        dk(  r| j                  d   j                  }n7i }t        | j                        D ]  }|j	                  |j                          g }t
        j                  |      D ],  \  }}	 ||   }	||	u rt        |d      r|j                  |       . |D ]  }t
        j                  ||        t        t        |       t              r$|j                  dd       |j                  dd       ||fS # t        $ r Y w xY w)zDRetrieve a copy of the dict of a class without the inherited methodsr   r   r   r   N__weakref__)rb  r  r   rb  r   r   r  r  r  r   ry   r   r\   )
clsclsdictr  rh  inherited_dictrt   	to_remover   r"  
base_values
             rC   _get_typedict_typer6    s   
3==Qq)22S]]+ 	1D!!$--0	1Izz'* e	'-J
"wun'E  &	   $  $s)T"J%M4(E>  		s   &D	DDc                   t        t        d      rAt        j                  |       \  }}}}| j                  |j	                  fd|D               nKt        | d      r3| j
                  }| j                  |j	                  fd|D               nt        d|       d|v r:|j                  dd        |j                  dd        |j                  dd        ||fS |j                  dd        ||fS )	N	_get_dumpc              3  2   K   | ]  } |       ff  y wrm   rA   rK   regr   s     rC   rM   z$_get_typedict_abc.<locals>.<genexpr>  s     Fch1Fs   _abc_registryc              3  (   K   | ]	  }|ff  y wrm   rA   r:  s     rC   rM   z$_get_typedict_abc.<locals>.<genexpr>  s     DCh/Ds   zCannot find registry of ABC %s
_abc_cache_abc_negative_cache	_abc_impl)r  abcr8  r   extendr<  r   ry   )ra   _dictr  rh  registryrT  r   s         @rC   _get_typedict_abcrE    s    sK !mmC01a<<FXFF	o	&$$<<D8DD<cBB%		/4(		,%		'. %< 			+t$%<rB   c           	     B   |t         v rNt        j                  | d|       | j                  t        t         |   f|       t        j                  | d       y |j
                  t        fk(  rFt        dD cg c]  }t        ||       c}      r"t        j                  | d|       t        |dt        |dd             }|j                  |k7  r|g }|j                  t        |d|ff       |j                  s7t        | t        |j                  |j                   |j"                  ff||       nl|j                   D cg c]   }||j                  v s|j                  |   " }}t        | t        |j                  |j                   |j"                  |ff||       t        j                  | d	       y |t%        d       u rFt        j                  | d
|       | j'                  t(        dz          t        j                  | d       y |t*        u rKt        j                  | d
|       | j                  t$        t,        f|       t        j                  | d       y |t.        u rKt        j                  | d
|       | j                  t$        t0        f|       t        j                  | d       y |t2        u rFt        j                  | d
|       | j'                  t(        dz          t        j                  | d       y |t4        u rFt        j                  | d
|       | j'                  t(        dz          t        j                  | d       y t        | dd       }t7        |      t        | dd      v }t9        ||        }	|s|s|	r|g }t        j                  | d|       t;        ||j<                  j?                         d |      \  }
}|
jA                  dd      }t%        |      tB        k(  r|f}|D ]  }|
jE                  |d         tG        |tH        jJ                        r>t        j                  | d|       tM        ||
||      \  }
}t        j                  | d       t        |dd       }|2|jO                         D ]  \  }}|j                  t        |||ff       ! ||j                  t        |d|ff       t        |d      s7t        | tP        t%        |      |j                  |j
                  |
ff||       nPdt%        |      i}|
rtS        tT        |
      }nd }t        | tV        |j                  |jX                  ||ff||       t        j                  | d       y t        |dt        |dd             }t        j                  | d|       |	r t[        j\                  d|dt^        d       |r0t[        j\                  d|d |j"                  d|d!t^        d       ta        jb                  | ||"       t        j                  | d#       y c c}w c c}w )$NzT1: %sr`   z# T1)r[  _asdict_make_replacezT6: %sr   rI   ra   rh  z# T6zT7: %ss   __builtin__
NoneType
z# T7s   enum
EnumMeta
s   threading
ExceptHookArgs
r   r   rA   zT2: %s	__slots__zABC: %sz# ABC__orig_bases__	metaclass)rX  z# T2zT4: %szCannot locate reference to r   rm  )
stacklevelr\  r]  z= has recursive self-references that trigger a RecursionError.r   z# T4)2_typemapr   r   r   rG  r  r  rO   r  r   rI   r  setattr_field_defaultsrj  r+  r[  rH   r\   r  r   NotImplementedTypeNotImplementedEllipsisTypeEllipsisr4   ExceptHookArgsTyper_  rU  r6  r   r   r   r   ry   r  rA  ABCMetarE  r  rJ  r$  rY  r.   rL  r`  ra  r   r   r   )r   ra   rh  r  obj_namefieldr%  r   obj_recursiveincorrectly_namedrC  r  slotsr   r  r?  r@  	_metadict_dict_updates                      rC   r   r     s   
hWh, 	J#(8cBWf%l k 
5(	"sKs+t4GC,>+t'uWh,3Z0NO<<8#$ "  'C+J!KL""*<s||S[[Z]ZhZh>i)jps  DQ  R@CluuX[XkXkOk++E2lHl*<s||S[[Z]ZhZhjr>s)tz}  N[  \Wf% 
T
	Wh,f99:Wf%| { 
"	"Wh,D>"3=Wf%t s 
	Wh,D8+37Wf%l k 
Wh,f223Wf%d c 
"	"Wh,f==>Wf%\ W (D1377K#DD 0g >>m0A$ " LL(C0-c3<<3D3D3Fm\LE5
 IIk2.EE{c! &		$%& #s{{+Wi50eUMRuWg.sND9H !KKM ADAq!(('CA;)?@A #$$g^X/N%OP3 01#GlIs||S]]E= .=:  c	 #.y#GL#'L#GiLL#"4"4i: .=: LL&), ) sNGCT4RSHLL(C0 8;=# 
 36R# 	 $$WcALL&)
k ,u ms   5X=XXc                    t        j                  | d|       | j                  t        |      |j                  |j
                  |j                  |j                  f|       t        j                  | d       y )NzPr: %sr`   z# Pr)r   r   r   r\   fgetfsetfdelr   r   s     rC   save_propertyrc    sY     LL(C(S	CHHchh#++#N  !
LL&!rB   c                    t        j                  | d|       |j                  }| j                  t	        |      |f|       t        j                  | d       y )NzCm: %sr`   z# Cm)r   r   r  r   r\   )r   ra   	orig_funcs      rC   save_classmethodrf    sH    
 LL(C(I S	I<S9
LL&!rB   c           	        t        ||       syt        |j                        t        urt	        |dd       }|t
        j                  }t        |d      }d}	 t        ||j                        \  }}t	        |dd       |u rd}|rHt        j                  | d|       | j                  t        df|       t        j                  | d       y t        j                  | d	|       t	        | d
d       }t	        | dd       }t	        | dd       }	t	        | dt
              }
g }|r ddlm}  ||dd      }d|j                   i}nx|j"                  }|	r(||
j$                  u rt	        | d|
      j$                  }|}nB|2|j                   &t	        t        |j                   d      dd       |u r|}nd|j                   i}|l||urh|j'                         D ch c]  }t)        |       }}|D ]$  }||v s||   j+                  t,        ||ff        n |j+                  t,        ||ff       |j.                  }i }dD ]  }t	        ||d       }||||<    |j                  |j                  k7  r|j                  |d<   d|vs|j                   |d   k7  r|j                   |d<   |j$                  }t        |      t0        ur||d<   d }|r||f}t3        | t4        |j                  ||j                  |j6                  |f|f||       |rot9        t;        |j'                               d       }|rJ|rH|D ]C  }t<        |d|ff}	 |j?                  |        | j                  |  | jC                  tD               E t        j                  | d       y t        j                  | d|       t	        |dt	        |dd             }tG        jH                  | ||       t        j                  | d       y # t        $ r Y ow xY wc c}w # t@        $ r Y w xY w)NrH   Tr#  Fr  zF3: %sr`   z# F3zF1: %sr   r   _main_modified_original_mainr   )
globalvars)r   builtinrI   r   r   )r   rM  r   r   rJ  r  z# F1zF2: %sr   z# F2)%rU  r\   r  r%   r   rz   rI   r&  rN  r   r	  r   r   r   detectrj  rH   rN  r   r  r_  r  rY  r  r   rj  rW  r  r  re  rP  remover  r  r    r   r   )r   ra   r   r  _pypy_builtinrS  rT  r   r   rh  ri  rh  rj  
globs_copyglobsgglob_idsstack_elementclosure
state_dict	fattrnamefattrr   topmost_postproccellpossible_postprocr   s                              rC   save_functionr{    s%   C)X- "#|T:K")22#Kd;F!M(1A1ABq5*d3s:$(M Wh4##GeZ-@c#JWf-Wh,7J5G[$7	 *:DA *:KH*#CtDJ  0EJ *0G0G"G$Wg~FOO
"'CNN,FN3>>4@*dSWaa"#S^^4!e:&= (2'8'8':;!1;H;!* G H,m,33Y
@S4TUG
 $$i%1D%EF//
I 	.ICD1E (-
9%	. s||+),)9)9J~&U"cnnj8I&I'*~~J|$;d"%*Jz"E:%EG&6eS\\33C3C9
 & -	9 #D)9)9);$<dC+# 
'D)04#2N(O%!(//0AB
 (G''):;MM#&
' 	Wf% 	 	Wh,sNGCT,JK  #D9Wf%
C " X <N & ! !s*   *O% O59O:%	O21O2:	PPs   dill._dill._testcapsulec                    t        j                  | d|       t        |      }t        ||      }t	        |      }t        |      }| j                  t        ||||f|       t        j                  | d       y )NzCap: %sr`   z# Cap)r   r   _PyCapsule_GetName_PyCapsule_GetPointer_PyCapsule_GetContext_PyCapsule_GetDestructorr   r<  )r   ra   r   r5  r6  r7  s         rC   save_capsuler  :  si    Wi-!#&'T2',-c2
OgtWj-QWZ[Wg&rB   PyCapsuleType_HAS_DEFAULT_FACTORY_CLASSc                    t        j                  | d|       | j                  t        dz          t        j                  | d       y )Nz	DcHDF: %ss!   dataclasses
_HAS_DEFAULT_FACTORY
z# DcHDFr   r   r  r   r   s     rC   *save_dataclasses_HAS_DEFAULT_FACTORY_CLASSr  P  s2    Wk3/fEEFWi(rB   MISSINGc                    t        j                  | d|       | j                  t        dz          t        j                  | d       y )NzDcM: %ss   dataclasses
MISSING
z# DcMr  r   s     rC   save_dataclasses_MISSING_TYPEr  W  s2    Wi-f889Wg&rB   KW_ONLYc                    t        j                  | d|       | j                  t        dz          t        j                  | d       y )Nz	DcKWO: %ss   dataclasses
KW_ONLY
z# DcKWOr  r   s     rC   save_dataclasses_KW_ONLY_TYPEr  ^  s2    Wk3/f889Wi(rB   _FIELD_BASEc                    t        j                  | d|       | j                  t        dz   |j                  j                         z   dz          t        j                  | d       y )NzDcFB: %ss   dataclasses
   
z# DcFB)r   r   r  r   r   r  r   s     rC   save_dataclasses_FIELD_BASEr  e  sG    Wj#.f//#((//2CCeKLWh'rB   c                Z   |rt         f}nt        t        t        t        t
        f}	 t        | fi |}	 t        |j                         | j                         k(        }t        |d      r|j                         j                         }|ry|sDt        |      t        |       k(  }|r|S t!        t        |            t!        t        |             k(  S y# t        t        f$ r> t        j                  d       || k(  }t        j                  rt        j                  d= Y w xY w# |$ r Y yw xY w)a  
    Quick check if object pickles with dill.

    If *exact=True* then an equality test is done to check if the reconstructed
    object matches the original object.

    If *safe=True* then any exception will raised in copy signal that the
    object is not picklable, otherwise only pickling errors will be trapped.

    Additional keyword arguments are as :func:`dumps` and :func:`loads`.
    r   r   toarrayTF)r  r
  AssertionErrorNotImplementedErrorr   r   r   boolrO   r	  r`  r~  filtersr  r  r\   r  )ra   exactr$  r   
exceptionspikresults          rC   r   r   n  s
    9,Z1DmUde
3$	9#'')swwy01F
 69%^^%))+F$#Y$s)+Ff}S	?d49o55 	* 	9##H-CZFX%5%5a%8	9  sA   D" *C ,D" D" ((D" A
DD" DD" "D*)D*c                   |j                  dd      }|j                  dd      }|ddl}|j                  }t        |t               ddl}d}	 t        | g|i |}d}|r|rt        d       	 |dt        |      d	}	|j                  |	j                  dd
            sdnd}	|rt        |	       y# |r|rt        d       w w w xY w)a$  
    Check pickling of an object across another process.

    *python* is the path to the python interpreter (defaults to sys.executable)

    Set *verbose=True* to print the unpickled object in the other process.

    Additional keyword arguments are as :func:`dumps` and :func:`loads`.
    verboseFpythonNr   TzDUMP FAILEDz" -c import dill; print(dill.loads(z))rr   SUCCESSzLOAD FAILED)ry   r  
executabler  r   
subprocessr   printr  callr?  )
ra   r~   r   r  r  r  r  failr  r   s
             rC   r   r     s     hhy%(GXXh%F~vsD!S(4(4(G-  9?T

KC%??399T!+<=)=Cc

 G-  4s   B3 3Cc                    |du st        | j                  d      sd| j                  v S t        | j                  j	                         v S )z#check the dill-ness of your picklerFmror   )r  r  rH   r	   r  )r   rQ  s     rC   rR  rR    sC    ~WW%6%6>++++g''++---rB   c                     t         j                  j                         D ]  \  } }	 |t        j                  | <    y# t        $ r t        j                  t        d|        Y Cw xY w)z1extend pickle with all of dill's registered typeszskip: %sN)r	   r   r  r   r  r   r   r   r  s     rC   _extendr    sa     ""((* 1$	1'+L!!!$1
   	1LL*a0	1s   <$A#"A#)NNNNrm   r   )NNNNN)F)FF(V  r   
__future__r   __all__rH   r`  r   r   r   _tracelogr{   r  r  r  rc  OLD38r  OLD310r}  r   rz   r   r   r   r
   r  r   r    _threadr!   r"   r  r#   rV  r  r$   ThreadHandleTyper!  r%   r&   r'   r(   r)   r*   r+   r,   
memoryview
BufferTyper\   r  rU  rT  rS  rR  r  	SliceTypeTypeTyper/  
XRangeTyper-   r@  r.   r   r   r   r   r   r   r   rB  r   rA  dataclassesr  r/   r0   r1   r  r2   enumr3   r4   	functoolsr5   operatorr6   r7   r   importlib.machinery	importlibr  	machineryr  ctypes
HAS_CTYPESr  r  r>   r@   r?   
PathFinder	find_specrD   rU   rY   r]   re   rf   rg   rh   ri   rj   r  r(  r   r$  r  r  r
  r%  r&  r'  rv   LRUCacheTyper  r   platform
IS_PYODIDEr)  r-  r*  r+  r,  _pyiorx   r  r1  r.  r/  r0  ior   r   r9  r:  r   
SocketTypemultiprocessing.reductionr   r  __IPYTHON__
IS_IPYTHONr8  r(  	NameErrorr   r   r  r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   Warningr   r   r   r	   r   r  r   r  r  r#  rF  r   ro   _incedental_reverse_typemapr  r  r  r;  re  r  winregr=  set_incedental_typesrO  rD  rG  rJ  rW  rY  ALL_CODE_PARAMSversionnew_attrparamsr  r?  r  intersectionr  r  r  r  r  r  r  r  r  r  r  r  r  r  __dMAPPING_PROXY_TRICKr  r  r  r  r  r  r   r   r+  r<  rB  rD  r&  rN  rU  rY  r^  rj  r  r  r  r  
__dicttype__obj
__funcname
__savefuncr   __tviewr  _GenericAliasr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r.  r6  rE  r   rk  abstractpropertyrc  staticmethodclassmethodabstractstaticmethodabstractclassmethodrf  r{  r8   PyCapsule_Newr3  c_void_pc_char_pargtypes	py_objectrestypePyCapsule_GetPointerr~  PyCapsule_GetDestructorr  PyCapsule_GetContextr  PyCapsule_GetNamer}  PyCapsule_IsValidr2  c_boolPyCapsule_SetContextr4  PyCapsule_SetDestructor_PyCapsule_SetDestructorPyCapsule_SetName_PyCapsule_SetNamePyCapsule_SetPointer_PyCapsule_SetPointer_testcapsule_namecast_testcapsuler  r  addr  r  r  r  r  r  r  r  r   r   rR  r  rA   rB   rC   <module>r     s  ( # 
  % # 	 
		)	#	)	#
..9
$NNY&  H   &=9< < <
	H~.) 	
 > b b   	 
  ? ? #   + 9..AAB J&+..G 
	))+55g>344NJN 	_, 3%% 
 &*66q9:73Q'(y)+./	jm$j,-< ,%L \\\)
+r2'T]5B-O "426 "426 b#%cReD#-4=RT[`3a(%H(%H # 	J ' EJH8  v ,  #
  
;89&0t 	G[ 		m] 		 	S-l S-j	 	@ $,,113 
I" )*    $$	  >>IH  -,,,&000*
   " "O299;'"((*%!&&(^AHHJ'1779o$  .6
+/8,0:-	 >>Yw">B4UY\_[aHbCc>d :;	.4oo
+   3 43::<= <#3#9#9#;<<!" =A<@ +! +!Z "1 GXvx"lln	
 K --XZjX) EN ( (  /0  
 -"47Q"QR  	}%*
)< C("
 =AgFXFXhl /x 
(A AFC 
$ 4 %
$
2  3J LE"0"< 3
J1wuj134'***(2GW%33 z7J 
)  
&

       
(  
) 6 
(	
	
	/      ! " "#"#  ! $ $ 	&	'	 
(	 i	 	 j	 	 #l   
)  j   j  "#"#"##$'( ) % $ $ $
 "#"# $ $ 
(* *X m  m  
)  
*	,	
   *F  
-  
)	
  &] 
*+ +b2* 
(| || 
(	#

"   " 
,	+	#
"
"#	#
!
!"" # $  " 
,o ob '&+.%%33N%QN#--N",,AA&,&6&6%H"$*OO!%//GG)/)9)9(;%'-$",,AA&,&6&6%8"$*OO!));;#)#3#3"5!'));;#)#3#3V__"E!'",,AA&,&6&6%H"%//GG)/)9)96??(K%));;#)#3#3V__"E",,AA&,&6&6%H"2!NFOO4)*L
 &Mm' ' 4A0(5_%-(L ;45k445) 6)
 ;	"d;&&'(' )'
 ;	"d;&&'() ))
 ;&k%%&( '(#J'T. 	)XaD    D  JG  		Z  L4  b]aaa,a/CFZb  JJ%h%	N  		V    s   
t< u
 8u 7u( u4 )6v 6v v< #w <uu
uu	u%$u%(u10u14u?>u?vvv9v&%v9&v0-v9/v00v98v9<wwww