
    Mh?                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 dej        v sJ d dlZd dlmZ d dlZd dlZd dlmZ d dlmZ dZd	                    ej        e          Z G d
 de          Z e            Zddde_        d Z eed d          Zd Z d Z!d fdZ"d Z#d Z$d Z%d dfde&fdZ'dde fdde!fdd e"d          fd d e#d!d          fd"d# e$d$          fd%d# e$d&          fd'd e#d(d          fd)d*e%fd+d, e"d-          fd.d/ e'd0d1          fd2d3 e'd4          fd5d6 e'd7          fd8d9 e'd:e          fgZ(d; Z)d<e*fd=Z+d> Z,d?e-fd@Z.dAe-fdBZ/ e-            dfd<e*dAe-dCe-fdDZ0dE Z1dF Z2dG Z3dH Z4dI Z5dJ Z6dS )K    N)	find_spec)AnyUnionTupleDictpydevd)pydevd_runpy)log)apiz2<filename> | -m <module> | -c <code> | --pid <pid>a0  debugpy {0}
See https://aka.ms/debugpy for documentation.

Usage: debugpy --listen | --connect
               [<host>:]<port>
               [--wait-for-client]
               [--configure-<name> <value>]...
               [--log-to <path>] [--log-to-stderr]
               {1}
               [<arg>]...
c                       e Zd ZU dZdZeeeef         df         e	d<   dZ
dZdZeedf         e	d<   dZeedf         e	d<   dZdZi Zeeef         e	d<   dS )OptionsNaddressFtargettarget_kindconfig)__name__
__module____qualname__moder   r   r   strint__annotations__log_tolog_to_stderrr   r   wait_for_clientadapter_access_tokenr   r   r        R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/debugpy/server/cli.pyr   r   ,   s         D,0GU5c?D()000FM#FE#t)###$(KsDy!(((OFDcNr   r   noneT)qt
subProcessc                       fd}|S )Nc                      |           }(|k     r"t          d                                        (|k    r"t          d                                        |S )Nzmust be >= {0}zmust be < {0})
ValueErrorformat)snparserstartstops     r   parsezin_range.<locals>.parse=   sj    F1IIU-44U;;<<<T		_33D99:::r   r   )r)   r*   r+   r,   s   ``` r   in_ranger-   <   s/           Lr   c                 n    t          t          t          j                   t          j        d           d S )Nfiler   )printHELPsysstderrexitswitchits     r   print_help_and_exitr9   K   s(    	$SZ    HQKKKKKr   c                 `    t          t          j                   t          j        d           d S Nr   )r1   debugpy__version__r3   r5   r6   s     r   print_version_and_exitr>   P   s$    	'
HQKKKKKr   c                     | S Nr   xs    r   <lambda>rC   U   s    q r   c                       fd}|S )Nc                 d     t          |                    }t          t          |           d S r@   )nextsetattroptions)argr8   valuer)   varnames      r   dozset_arg.<locals>.doV   s0    tBxx  %(((((r   r   )rK   r)   rL   s   `` r   set_argrM   U   s)    ) ) ) ) ) ) Ir   c                       fd}|S )Nc                 4    t          t                     d S r@   )rG   rH   )rI   r8   rJ   rK   s     r   rL   zset_const.<locals>.do^   s    %(((((r   r   )rK   rJ   rL   s   `` r   	set_constrP   ]   s)    ) ) ) ) ) ) Ir   c                       fd}|S )Nc                 P   t           j        t          d          t          |          }|                    d          \  }}}|sd}|}	 t          |          }n# t          $ r d}Y nw xY wd|cxk    rdk     sn t          d          t           _        ||ft           _        d S )Nz---listen and --connect are mutually exclusive:z	127.0.0.1r   i   zinvalid port number)rH   r   r%   rF   	partitionr   	Exceptionr   )rI   r8   rJ   hostsepportr   s         r   rL   zset_address.<locals>.doe   s    ?&LMMM R//#..c4 	DD	t99DD 	 	 	DDD	T!!!!E!!!!2333,s   A A+*A+r   )r   rL   s   ` r   set_addressrZ   d   s#    ' ' ' ' '( Ir   c                    d}|                      |          sJ | t          |          d          }t          |          }|t          j        vr"t          d                    |                    t          t          j        |                   }	 |t          u rddd|	                                         }n ||          }n6# t          $ r) t          d                    ||j                            w xY w|t          j        |<   d S )Nz--configure-zunknown property {0!r}TF)truefalsez{0!r} must be a {1})
startswithlenrF   rH   r   r%   r&   typeboollowerrV   r   )rI   r8   prefixnamerJ   expected_types         r   
set_configrf   |   s   F>>&!!!!!s6{{}}DHHE7>!!188>>???-..MUD  !E225;;==AEE!M%((E U U U.55dM<RSSTTTU !GN4s   2C 3C6c                     | S r@   r   rA   s    r   rC   rC      s    A r   Fkindc                       fd}|S )Nc                    t           _         r| nt          |                    }t          |t                    r	 |                    t          j                              }nc# t          $ rV 	 |                    d          }n<# t          $ r/ dd l	}|                    |
                    d                    }Y nw xY wY nw xY w|t           _        d S )Nutf-8r   F)rH   r   rF   
isinstancebytesdecoder3   getfilesystemencodingUnicodeDecodeErrorlocalegetpreferredencodingr   )rI   r8   r   rq   rh   r)   
positionals       r   rL   zset_target.<locals>.do   s    "z7tBxx88fe$$ 
	OOs'@'B'BCC% O O OO#]]733FF) O O O!MMM#]]6+F+Fu+M+MNNFFFOO  s6    &A' '
C2BC6C>C CCCr   )rh   r)   rs   rL   s   ``` r   
set_targetrt      s/                 $ Ir   z-(\?|h|-help)z-(V|-version)z--log-toz<path>r   z--log-to-stderrr   z--listenz	<address>listenz	--connectconnectz--wait-for-clientr   z--configure-.+z<value>z--adapter-access-tokenz<token>r    z
<filename>r0   )rs   z-mz<module>module-cz<code>codez--pidz<pid>pidc               #      K   t          t          j                  dk    rBt          j        d         } t          j        d= | V  t          t          j                  dk    @d S d S )N      )r_   r3   argv)rJ   s    r   consume_argvr      sW      
ch--1

HQK ch--1





r   argsc              #   |   K   | t           j        u rt                      E d {V  d S | r| d         }| d= |V  | d S d S r;   )r3   r   r   )r   rJ   s     r   consume_argsr      st      sx>>!!!!!!!!! 	GEQKKK  	 	 	 	 	r   c                     t                      } t          |            t          |            t          j        t          j        dk    rt          dt          z             t          j        t          d          t          j        t          j        dk    rt          d          t          j	        dk    rt          j
        rt          d          t          j	        J t          j        J d S )Nrw   zmissing target: z(either --listen or --connect is requiredrv   z)--adapter-access-token requires --connectr{   z(--pid does not support --wait-for-client)setparse_args_from_command_lineparse_args_from_environmentrH   r   r%   TARGETr   r   r   r   r   seens    r   
parse_argsr      s     55D &&&%%% ~2!5!5+f4555|CDDD#/GLI4M4MDEEEe##(?#CDDD***?&&&&&r   r   c                 :    t          t          j        |            d S r@   )parse_args_helperr3   r   r   s    r   r   r      s    ch%%%%%r   seenFromCommandLinec                     t           j                            d          }|sd S |                                }t	                      }t          || |d           d S )NDEBUGPY_EXTRA_ARGVT)osenvirongetsplitr   r   )r   r   argsListseenFromEnvironments       r   r   r      sV    :>>.//D zz||H%%h 35H$OOOOOr   r   c                    t          |           }	 	 t          |          }n# t          $ r Y d S w xY w|}|                    d          sd}t          D ]#\  }}}	t          j        d|z   dz   |          r n$t          d|z             |s||v rt          d|z             |r||v rt          d|z             |r||v r|r|                    |           n|                    |           	  |	||           nf# t          $ r( |J t          d		                    ||                    t          $ r)}
t          d
	                    |||
                    d }
~
ww xY w|st          j        d S b)NT-rw   z^(z)$zunrecognized switch z"duplicate switch on command line: z#duplicate switch from environment: z{0}: missing {1}zinvalid {0} {1}: {2})r   rF   StopIterationr^   switchesrematchr%   addr&   rV   rH   r   )r   r   r   isFromEnvironmentiteratorrI   r7   patternplaceholderactionexcs              r   r   r      s    D!!H,	x..CC 	 	 	EE	   %% 	F,4 	> 	>(G[&xw-v66  3f<=== ! 	0V/B%B%BAFJKKK 
	06-@#@#@BVKLLL 	06-@#@#@ ! 0#''////#''///	VF3!!!! 	M 	M 	M***/66v{KKLLL 	V 	V 	V3::6;PSTTUUU	V ! 	W^%?EY,s$   " 
00.C; ;:E5$EEc                    | t           j        d<   t          j        dt           j                   t	          j        t          j                   t          j	        
                    dd          dk    rt          j        dk    r+t          j        t	          j        t          j                   nmt          j        dk    r7t          j        +t	          j        t          j        t          j                   n&t!          t#          t          j                            t          j        rt	          j                     dt          j	        d<   d S )	Nr   zsys.argv after patching: {0!r}DEBUGPY_RUNNINGr]   r\   ru   rv   )access_token)r3   r   r
   debugr<   	configurerH   r   r   r   r   r   r   ru   rv   r   AssertionErrorreprr   )argv_0s    r   start_debuggingr   5  s     CHQKI.999gn%%%	z~~'11V;;<8##(CN7?++++\Y&&7?+FOGO':VWWWWW gl!3!3444" 	&#%%%$*BJ !!!r   c                     t           j        } t          |            | _t          j                            |           r@t          j                            |           }t          j                            d|           nt          j
        d|            t          j        d           t          j        d|            t          j        | d           d S )Nr   zNot a file: {0!r}Pre-launch environment:zRunning file {0!r}__main__)run_name)rH   r   r   r   pathisfiledirnamer3   insertr
   r   describe_environmentinforunpyrun_path)r   dirs     r   run_filer   M  s    ^FF bgnnV44goof%%3	%v...6777H!6***	N6J//////r   c                     t           j                            dt          d                     t           j        d         } 	 t
          j        d nt          t
          j                  }||j        } n$# t          $ r t          j        d           Y nw xY wt          |            t          j        d           t          j        dt
          j                   	 t          j        } |t
          j        d           d S # t"          $ r8 t          j        d           t          j        t
          j        d	           Y d S w xY w)
Nr   rw   z*Error determining module path for sys.argvr   zRunning module {0!r}T)
alter_argvzArunpy._run_module_as_main is missing, falling back to run_module.)	alter_sys)r3   r   r   r   r   rH   r   r   originrV   r
   swallow_exceptionr   r   r   r   _run_module_as_mainAttributeErrorwarning
run_module)r   specrun_module_as_mains      r   r   r   b  sF    HOOAs2ww Xa[FL~-tt9W^3L3L[F L L LJKKKKKL F6777H#W^444<"6
 	7>d;;;;;;	  9 9 9WXXX488888889s$   0A2 2BBC> >>E ?E c                     t           j        t          j                            dt          d                     t          t           j        t          d          t          d                    } t          t          d                     t          j	        d           t          j
        dt           j                   t          | i            d S t          j        d           d S )	Nr   rw   z<string>execry   r   zRunning code:

{0}zNo target to run.)rH   r   r3   r   r   r   compiler   r
   r   r   evalerror)rz   s    r   run_coder     s    ~!3r77###w~s:FDDD		""" !:;;;'888T2	%&&&&&r   c                     t           j        } t          j        d|            d }t          j                            t          j        j	                  }t          j        
                    |          sJ  ||          }t           j        t           j        t           j        t           j        t           j        d} |t!          j        |                    }d}|                    dd                              dd                              ||          }t          j        d	|                    d
d                     h dt)          |          z  r
J d            t          j                            t          j                            t,          j	                  d          }t          j        
                    |          sJ t.          j                            |           	 dd l}t          j        d|            |                    | |dt7          t	          j        dd                               n%# t:          $ r t          j        d|            Y nw xY wt          j        d|            d S )Nz!Attaching to process with PID={0}c                 h    | /t          t          |                     d                              nd S )Nrk   )list	bytearrayencode)r'   s    r   rC   zattach_to_pid.<locals>.<lambda>  s,    Q]tIahhw&7&788999PT r   )r   r   r   r   r   a9  
import codecs;
import json;
import sys;

decode = lambda s: codecs.utf_8_decode(bytearray(s))[0] if s is not None else None;

script_dir = decode({script_dir});
setup = json.loads(decode({setup}));

sys.path.insert(0, script_dir);
import attach_pid_injected;
del sys.path[0];

attach_pid_injected.attach(setup);
rw   
)
script_dirsetupzCode to be injected: 
{0};z;
>   r   r   "'zOInjected code should not contain any single quotes, double quotes, or newlines.pydevd_attach_to_processr   z,Injecting code into process with PID={0} ...T DEBUGPY_ATTACH_BY_PID_DEBUG_INFO0)connect_debugger_tracingshow_debug_infoz#Code injection into PID={0} failed:z&Code injection into PID={0} completed.)rH   r   r
   r   r   r   r   r<   server__file__existsr   r   r   r   r   jsondumpsreplacer&   r   joinr   r3   appendadd_code_to_python_processrun_python_coder   getenvrV   reraise_exception)r{   r   r   r   python_codepydevd_attach_to_process_pathr   s          r   attach_to_pidr     sd   
.CH0#666TTF!899J7>>*%%%%%
##J ?"2. ' < E F4:e$$%%EK" 	D"%%	r			:U	3	3 
 H);+>+>sE+J+JKKK 	[!1!11Y YXY Y Y %'GLL
((*D% %! 7>>788888HOO1222J))))?EEE"22%)	*Lc R RSS	 	3 	
 	
 	
 	
  J J JCSIIIIIJH5s;;;;;s   &AH9 9IIc                  `   t          t          j                  } 	 t                       nx# t          $ rk}t          t          t                    t          d          z   t          |          z   t          j                   t          j	        d           Y d }~nd }~ww xY wt          j        t          j        t          j                   t          j        rt          j        t          j                   t          j                     t!          j        t          d          | t          j                   	 t          j        7t&          t(          t*          t,          dt          j                 } |             d S d S # t.          $ r'}t!          j        d|j        d           Y d }~d S d }~ww xY w)	Nz
Error: r/   r}   z=sys.argv before parsing: {0!r}
         after parsing:  {1!r})r0   rx   rz   r{   z%Debuggee exited via SystemExit: {0!r}r   )level)r   r3   r   r   rV   r1   r   r2   r4   r5   rH   r   r<   r   r   ensure_loggingr
   r   r   r   r   r   r   
SystemExitr   rz   )original_argvr   runs      r   mainr     s   NNM   c$ii#k***SXX5CJGGGG ~!w~&&& #sz"""HOPP  
* $ $	 
 !#C CEEEEE +*  
 
 
3SXW	
 	
 	
 	
 	
 	
 	
 	
 	
 	

s.   * 
BA!BB7AE< <
F-F((F-)7r   r   r   r3   importlib.utilr   typingr   r   r   r   modulesr   _pydevd_bundler	   r   r<   debugpy.serverdebugpy.commonr
   r   r   r&   r=   r2   objectr   rH   r   r-   r   r{   r9   r>   rM   rP   rZ   rf   r   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s  
  				 				 



 $ $ $ $ $ $ * * * * * * * * * * * *
 3;  1 0 0 0 0 0                  
>
 F  	  	  	  	  	 f 	  	  	  '))d33	 	 	 hsAt  
  
 )[        0! ! !* #.+5  S    8 4GH4JKGGH4E4EFIIot4T4TUKK4I4IJKK	4J4JKII>OQU4V4VW	J? GG<R4S4ST JJvRV4W4W4WX	
JJx4H4HI	JJv4F4FGJJuc4J4JK-8  t    ' ' '.&s & & & &PS P P P P  #suu	4 4
44 4 4 4 4n+ + +00 0 0*< < <B' ' ' B< B< B<J!
 !
 !
 !
 !
r   