o
    g                     @   sZ  djddZ dd Ze  e e dd Zedd Zd	d
 Zdd
 Zdd
 Zdd Zdd Zdd Z	d dd
 d gZ
dd Zedd
  dd Zdd
 d gZdd ZdZdd Zd\ZZd ZG d!d" d"Zd\ZZd Zd#d$ Zd%d& Ze jZd'd(d)d*Zd+efd,d-Zd.d/ Ze d0d
 d1d2 Z G d3d4 d4Z!d5d6l"m#Z# d7d8 Z$e$d9d: Z%G d;d< d<Z&G d=d> d>Z'G d?d@ d@Z(	 G dAdB dBZ)G dCdD dDZ*G dEdF dFZ+G dGdH dHZ,G dIdJ dJZ-dKdL Z.e.e.G dMdN dNZ/G dOdP dPZ0dQdR Z1G dSdT dTZ2dUdV Z3G dWdX dXZ4	 G dZd[ d[Z5d]d^ Z6d_d` Z7dadb Z8dkdedfdgdhdiZ9d S )lNc                 C      dd }|S )Nc                 S      | S N funcr   r   J/Users/admin/.pyenv/versions/3.10.0/lib/python3.10/test/inspect_fodder2.pywrapper      zwrap.<locals>.wrapperr   )Zfoor   r   r   r   wrap      r
   c                 C   r   )Nc                   S   s   t d d S )NZhello)printr   r   r   r   insteadfunc	      zreplace.<locals>.insteadfuncr   )r   r   r   r   r   replace   r   r   c                   C      d S r   r   r   r   r   r   wrapped   s   r   c                   C   r   r   r   r   r   r   r   gone      r   c                 C   r   r   r   mr   r   r   <lambda>       r   c                 C   s   | o| o| S r   r   )gr   r   r   r      s    c                 C      | o| S r   r   )dr   r   r   r   !   s    c                   C   r   r   r   r   r   r   r   onelinefunc%   r   r   c                 C   r   r   r   )arg1arg2Zarg3Zarg4r   r   r   manyargs(   r	   r   c                 C   r   r   r   r   r   r   r   twolinefunc,   s    r   c                 C   r   r   r   )xr   r   r   r   1   r   c                 C   s   | t  d< d S )NZ	anonymous)globalsr   r   r   r   setfunc5   s   r"   c                 C   s   | | S r   r   r    yr   r   r   r   7   s    c                   C   s   t  d S r   )Zworldr   r   r   r   with_comment:      r%   c                 C   s   | | S r   r   r#   r   r   r   r   ?   r&   c                  C      G dd d} | S )Nc                   @      e Zd Zdd ZdS )zfunc69.<locals>.cls70c                   S   r   r   r   r   r   r   r   func71G   r	   zfunc69.<locals>.cls70.func71N)__name__
__module____qualname__r)   r   r   r   r   cls70F       r-   r   )r-   r   r   r   func69E   s   r/   J   c                   C   r   r   r   r   r   r   r   func77M   r   r1   Zxystopc                   @   r(   )cls82c                   C   r   r   r   r   r   r   r   func83S   r   zcls82.func83N)r*   r+   r,   r4   r   r   r   r   r3   R   r.   r3   c                   C      dS )NZ   r   r   r   r   r   func88X   r   r7   c                  C   r'   )Nc                   @   r(   )zf.<locals>.Xc                   S   s   	 dS N*   r   r   r   r   r   r   _   s   zf.<locals>.X.gN)r*   r+   r,   r   r   r   r   r   X^   r.   r:   r   )r:   r   r   r   f]   s   r;      )r   c                 G   r   r   r   )r   r   r   r   r   	keywordedf   r	   r=   r   c                 C   r   r   r   )r   r   r   r   	annotatedj   r	   r>   c                 C   r   r   r   )argr   r   r   keyword_only_argn   r	   r@   c                   C   r   r   r   r   r   r   r   r   q   r   c                   C   r5   )Ns   r   r   r   r   r   func114q   r   rB   c                   @   r(   )ClassWithMethodc                 C   r   r   r   selfr   r   r   methodv   r	   zClassWithMethod.methodN)r*   r+   r,   rF   r   r   r   r   rC   u   r.   rC       wrapsc                 C   s   t | dd }|S )Nc                   S   r5   r8   r   r   r   r   r   fake|   r   zdecorator.<locals>.fakerH   )r   rJ   r   r   r   	decorator{   s   
rK   c                   C   r5   )N   r   r   r   r   r   real   r   rM   c                   @   r(   )cls135c                  C   s   dd } d S )Nc                   S   s   t  t d S r   )Znever_reached1Znever_reached2r   r   r   r   func137   s   zcls135.func136.<locals>.func137r   )rO   r   r   r   func136   r   zcls135.func136N)r*   r+   r,   rP   r   r   r   r   rN      r.   rN   c                   @      e Zd ZdZdS )cls142z
class cls149:
    ...
Nr*   r+   r,   ar   r   r   r   rR          rR   c                   @   r(   )cls149c                 C   r   r   r   rD   r   r   r   func151   r	   zcls149.func151N)r*   r+   r,   rW   r   r   r   r   rV          rV   c                   @   r(   )cls160c                 C   r   r   r   rD   r   r   r   func162   r	   zcls160.func162N)r*   r+   r,   rZ   r   r   r   r   rY      rX   rY   c                   @   rQ   )cls166z#
    class cls175:
        ...
    NrS   r   r   r   r   r[      rU   r[   c                   @      e Zd ZG dd dZdS )cls173c                   @      e Zd ZdS )zcls173.cls175Nr*   r+   r,   r   r   r   r   cls175       r`   N)r*   r+   r,   r`   r   r   r   r   r]          r]   c                   @   r^   )cls179Nr_   r   r   r   r   rc      ra   rc   c                   @   r\   )cls183c                   @   r(   )zcls183.cls185c                 C   r   r   r   rD   r   r   r   func186   r	   zcls183.cls185.func186N)r*   r+   r,   re   r   r   r   r   cls185   rX   rf   N)r*   r+   r,   rf   r   r   r   r   rd      rb   rd   c                 C   r   r   r   )clsr   r   r   class_decorator   r	   rh   c                   @   s"   e Zd ZeeG dd dZdS )cls196c                   @   r^   )zcls196.cls200Nr_   r   r   r   r   cls200   s    rj   N)r*   r+   r,   rh   rj   r   r   r   r   ri      s    ri   c                   @   s(   e Zd ZG dd dZG dd dZdS )cls203c                   @   r\   )zcls203.cls204c                   @   r^   )zcls203.cls204.cls205Nr_   r   r   r   r   cls205   ra   rl   Nr*   r+   r,   rl   r   r   r   r   cls204       rn   c                   @   r\   )zcls203.cls207c                   @   r^   )zcls203.cls207.cls205Nr_   r   r   r   r   rl      ra   rl   Nrm   r   r   r   r   cls207   ro   rp   N)r*   r+   r,   rn   rp   r   r   r   r   rk      s    rk   c                  C   r'   )Nc                   @   r^   )zfunc212.<locals>.cls213Nr_   r   r   r   r   cls213   ra   rq   r   )rq   r   r   r   func212      rr   c                   @   r(   )rq   c                 C   s   G dd d}|S )Nc                   @   r^   )zcls213.func219.<locals>.cls220Nr_   r   r   r   r   cls220   ra   rt   r   )rE   rt   r   r   r   func219   rs   zcls213.func219N)r*   r+   r,   ru   r   r   r   r   rq      r.   rq   c                     s   G dd d} | S )Nc                   @   r^   )zfunc225.<locals>.cls226Nr_   r   r   r   r   cls226   ra   rv   r   )rv   r   r   r   func225      rw   c                   @   r(   )rv   c                    s   G dd d}|S )Nc                   @   r^   )zcls226.func232.<locals>.cls233Nr_   r   r   r   r   cls233   ra   ry   r   )rE   ry   r   r   r   func232   rx   zcls226.func232N)r*   r+   r,   rz   r   r   r   r   rv      r.   rv   Tc                   @   r\   )cls238c                   @   r^   zcls238.cls239Nr_   r   r   r   r   cls239   ra   r}   Nr*   r+   r,   r}   r   r   r   r   r{      ro   r{   c                   @   r\   )r{   c                   @   s   e Zd Z	 dS r|   r_   r   r   r   r   r}      s    r}   Nr~   r   r   r   r   r{      ro   c                C   r   r   r   )rT   r   r   r   positional_only_arg   r	   r   c               C   r   r   r   rT   bcr   er;   r   r   r   all_markers   r	   r   c               O   r   r   r   )rT   r   r   r   r   r;   argskwargsr   r   r    all_markers_with_args_and_kwargs   r	   r               )r   r;   c               C   r   r   r   r   r   r   r   all_markers_with_defaults  r	   r   r   )r<   r   r   ):r
   r   r   r   ZollZtllZtllir   r   r   rT   r"   r%   Zmultiline_sigr/   Zextra74r1   Zextra78Zstuff78Zextra79r3   Zextra84Zstuff84Zextra85r7   r;   r   Zmethod_in_dynamic_classr=   listr>   r@   rB   rC   	functoolsrI   rK   rM   rN   rR   rV   rY   r[   r]   rc   rd   rh   ri   rk   rr   rq   rw   rv   r{   r   r   r   r   r   r   r   r   <module>   s   




	
