
    cG!                     0    d  Z edk    r e              dS dS )c                    	
 dd l dd ldd l	 dd ln# t          $ r dd lY nw xY wdd ldd ldd ldd l	dd l
dd ldd l G d d          }  G fdd|           
 G fdd|           	d  G 	
f	d	d
          }fdj        d         }j        d         }j        d         }t                      }|                    dt           |d           |dk    r |||          }j        dd= t#          |          5 }t%          |                                |d          }t)          ||           d d d            n# 1 swxY w Y   |dk    r|                                 d S d S )N    c                       e Zd Zd ZdS )/__rope_start_everything.<locals>._MessageSenderc                     d S N )selfdatas     3lib/python3.11/site-packages/rope/base/oi/runmod.py	send_dataz9__rope_start_everything.<locals>._MessageSender.send_data   s    D    N)__name__
__module____qualname__r   r   r   r   _MessageSenderr      s#        	 	 	 	 	r   r   c                   2    e Zd Z fdZ fdZd ZdS ).__rope_start_everything.<locals>._SocketSenderc                                          j        j                  }|                    d|f           |                    d          | _                            |          | _        d S )Nz	127.0.0.1wb)socketAF_INETSOCK_STREAMconnectmakefilemy_file	b64decodekey)r	   portr   sbase64r   s       r   __init__z7__rope_start_everything.<locals>._SocketSender.__init__   s^    fnf.@AAAII{D)***::d++DL'',,DHHHr   c                 R   | j         j        s                                        |j                            }                    | j        |j                                                  }| j         	                                        |          dz   |z   dz              d S d S )N   :   
)
r   closed	b64encodedumpsHIGHEST_PROTOCOLnewr   sha256digestwrite)r	   r
   pickled_datadgstr    hashlibhmacpickles       r   r   z8__rope_start_everything.<locals>._SocketSender.send_data   s    <& Y%//LLv'>??    xx,GGNNPP""6#3#3D#9#9D#@<#ORW#WXXXXXY Yr   c                 8    | j                                          d S r   r   closer	   s    r   r4   z4__rope_start_everything.<locals>._SocketSender.close%       L     r   Nr   r   r   r!   r   r4   )r    r/   r0   r1   r   s   r   _SocketSenderr      sr        	- 	- 	- 	- 	- 	-	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y	! 	! 	! 	! 	!r   r8   c                   &    e Zd Zd Z fdZd ZdS ),__rope_start_everything.<locals>._FileSenderc                 0    t          |d          | _        d S )Nr   )openr   )r	   	file_names     r   r!   z5__rope_start_everything.<locals>._FileSender.__init__)   s    	400DLLLr   c                 Z    | j         j        s                    || j                    d S d S r   )r   r%   dump)r	   r
   marshals     r   r   z6__rope_start_everything.<locals>._FileSender.send_data,   s6    <& 1T4<000001 1r   c                 8    | j                                          d S r   r3   r5   s    r   r4   z2__rope_start_everything.<locals>._FileSender.close0   r6   r   Nr7   )r@   s   r   _FileSenderr:   (   sL        	1 	1 	1	1 	1 	1 	1 	1	! 	! 	! 	! 	!r   rB   c                      i  fd}|S )Nc                 B    |v r|         S  | |          }||<   |S r   r   )r	   argresultcachefuncs      r   newfuncz9__rope_start_everything.<locals>._cached.<locals>.newfunc6   s6    e| "Sz!T$__FE#JMr   r   )rH   rI   rG   s   ` @r   _cachedz(__rope_start_everything.<locals>._cached3   s.    	 	 	 	 	 	 r   c                      	 e Zd Z fdZd Zd ZfdZfd            Zfd            Zd Z	fdZ
fd	            Zd
 ZfdZdS )8__rope_start_everything.<locals>._FunctionCallDataSenderc                 :    | _         |d                                         r8|                    dd          \  }} t          |          |           _        n |           _         fd}                    |           	                    |           d S )Nr   :   c                 @                         |           rj        S d S r   )_is_an_interesting_callon_function_call)frameeventrE   r	   s      r   global_tracezW__rope_start_everything.<locals>._FunctionCallDataSender.__init__.<locals>.global_traceH   s.     //66 1001 1r   )project_rootisdigitsplitintsendersettrace)
r	   	send_inforV   r   r   rU   rB   r8   sys	threadings
   `     r   r!   zA__rope_start_everything.<locals>._FunctionCallDataSender.__init__@   s     ,D|##%% 5%OOC33	c+mCIIs;;)k)441 1 1 1 1 LL&&&|,,,,,r   c                 0   |dk    rd S g }d}|j         }|j        d |j                 D ]d}	 |                     |j        |                   }|                    |           9# t          t          f$ r |                    d           Y aw xY w	 |                     |          }n# t          t          f$ r Y nw xY w	 |                     |j                   t          |          |f}	| j	        
                    |	           n# t          $ r Y nw xY w| j        S )Nreturnunknown)f_codeco_varnamesco_argcount_object_to_persisted_formf_localsappend	TypeErrorAttributeErrortuplerZ   r   rR   )
r	   rS   rT   rE   argsreturnedcodeargnameargvaluer
   s
             r   rR   zI__rope_start_everything.<locals>._FunctionCallDataSender.on_function_callQ   s_     D#H<D+,>d.>,>? . ..#==enW>UVVHKK))))!>2 . . .KK-----.99#>>~.   225<@@$KK
 %%d++++   ((s6   5A!!&B
	B
B$ $B87B8<AD 
DDc                     |                      |j                  s(|j        r|                      |j        j                  sdS dS )NFT)_is_code_inside_projectrc   f_back)r	   rS   s     r   rQ   zP__rope_start_everything.<locals>._FunctionCallDataSender._is_an_interesting_calll   sM    
 //== L33EL4GHH u4r   c                     |                      |j                  }|d uo<j                            |          o" |                              | j                  S r   )_pathco_filenamepathexists
startswithrV   )r	   rn   source	_realpathoss      r   rr   zP__rope_start_everything.<locals>._FunctionCallDataSender._is_code_inside_projectx   s_    ZZ 011Fd" DGNN6**DIf%%001BCCr   c                     |                      |j                  }j                            |          st	          d          d |          t          |j                  fS )Nz	no sourcedefined)ru   rv   rw   rx   ri   strco_firstlineno)r	   object_rz   r{   r|   s      r   _get_persisted_codezL__rope_start_everything.<locals>._FunctionCallDataSender._get_persisted_code   s]    ZZ 344F7>>&)) -,,,yy00#g6L2M2MNNr   c                     	 d                      |                    |j        fS # t          t          f$ r Y dS w xY wNr~   ra   )getsourcefiler   ri   rj   )r	   r   r{   inspects     r   _get_persisted_classzM__rope_start_everything.<locals>._FunctionCallDataSender._get_persisted_class   s_    $Ig33G<<==$ 
 ~. $ $ $#||$s   %) >>c                    t          |t                    rdS t          |t                    r5d }t          |          dk    r|d         }dd|                     |          fS t          |t
                    rod }d }t          |          dk    r,d |                                D             d         }||         }dd|                     |          |                     |          fS t          |t                    rg }t          |          dk     r.|D ]*}|                    |                     |                     +n.|                    |                     |d                              t          ddg|z             S t          |t                    r4d }t          |          dk    r|D ]}|} dd	|                     |          fS d
S )N)builtinr   r   r   listc                     g | ]
}|d k    |S )
__locals__r   ).0r   s     r   
<listcomp>zc__rope_start_everything.<locals>._FunctionCallDataSender._get_persisted_builtin.<locals>.<listcomp>   s"    QQQCSL=PQCQQQr   dict   rk   setra   )

isinstancer   r   lenrf   r   keysrk   rh   r   )r	   r   holdingr   valuesobjectsos          r   _get_persisted_builtinzO__rope_start_everything.<locals>._FunctionCallDataSender._get_persisted_builtin   s   '3'' *))'4(( Tw<<!# )%ajG!64+I+I'+R+RSS'4(( w<<!# + RQ7<<>>QQQRSTD$T]F22488226::	  '5)) =w<<!# O#* P Pt'E'Eg'N'NOOOOP NN4#A#A'!*#M#MNNNi1G;<<<'3'' Sw<<!# $  "#!5$*H*H*Q*QRR<r   c                    |dS t          |j                  r|                     |          S t          |j                  r|                     |j                  S t          |j                  r|                     |j        j                  S t          |j                  r|                     |          S t          |t          t          t          t          t          f          r|                     |          S t          |t                    r|                     |          S d|                     t          |                    fS )N)noneinstance)r   CodeTyper   FunctionType__code__
MethodType__func__
ModuleType_get_persisted_moduler   r   r   rk   r   r   typer   )r	   r   typess     r   rf   zR__rope_start_everything.<locals>._FunctionCallDataSender._object_to_persisted_form   s4    ! y'5>22 9//888'5#566 B//0@AAA'5#344 K//0@0IJJJ'5#344 ;11':::'CtUC#@AA <227;;;'4(( :00999 9 9$w-- H HIIr   c                     |                      |j                  }|r'j                            |          rd |          fS dS r   )ru   __file__rw   rx   )r	   r   rw   r{   r|   s      r   r   zN__rope_start_everything.<locals>._FunctionCallDataSender._get_persisted_module   sL    ::g.//D 4t,, 4!99T??33<r   c                 r    |                     d          r
|d d         }|                     d          r|S d S )Nz.pycz.py)endswith)r	   rw   s     r   ru   z>__rope_start_everything.<locals>._FunctionCallDataSender._path   sF    }}V$$ !CRCy}}U##  r   c                 d    | j                                                              d            d S r   )rZ   r4   r[   )r	   r]   s    r   r4   z>__rope_start_everything.<locals>._FunctionCallDataSender.close   s/    KLLr   N)r   r   r   r!   rR   rQ   rr   r   r   r   rf   r   ru   r4   )	rB   r8   rJ   r{   r   r|   r]   r^   r   s	   r   _FunctionCallDataSenderrL   ?   sS       	- 	- 	- 	- 	- 	- 	- 	-"	) 	) 	)6
	 
	 
		 	 	 	 	 	 
	O 	O 	O 	O 	O 
	O 
	$ 	$ 	$ 	$ 	$ 
	$%	  %	  %	 N	J 	J 	J 	J 	J" 
	  	  	  	  	  
	 	 	 		 	 	 	 	 	 	r   r   c                     j                             j                             j                             |                               S r   )rw   realpathabspath
expanduser)rw   r|   s    r   r{   z*__rope_start_everything.<locals>._realpath   s7    w0B0B40H0H I IJJJr   rO      r   __main__)r   __builtins__r   -   exec)r|   r   r]   cPickleImportErrorr1   r    r/   r0   r   r@   r^   r   argvglobalsupdater   r<   compilereadr   r4   )r   r   r\   rV   file_to_runrun_globalsdata_senderfrn   rB   r8   rJ   r{   r    r/   r0   r   r@   r|   r1   r   r]   r^   r   s            @@@@@@@@@@@@@@@r   __rope_start_everythingr      s"   IIIMMMJJJ        MMMNNNKKKNNNNNNLLL       ! ! ! ! ! ! ! ! ! ! ! ! ! !$	! 	! 	! 	! 	! 	! 	!n 	! 	! 	!
 
 
Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ZxK K K K K I8A;L(1+K))K;WW   C G--iFF1	k		  aqvvxxf55T;                              C  s   " 33 4E  E$'E$r   N)r   r   r   r   r   <module>r      sF   l l l^ z  r   