
    iKjG                        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
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mZ d dlmZ ed   Zd	Zd
j3                  ej4                  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.d/       fd0d1 e%d2      fd3d e&d4d      fd5d6 e)d7d8      fd9d: e)d;      fd<d= e)d>      fd?d- e)d@e"      fgZ*dA Z+dBe,fdCZ-dD Z.dEe/fdFZ0dGe/fdHZ1 e/       dfdBe,dGe/dIe/fdJZ2dK Z3dL Z4dM Z5dN Z6dO Z7dP Z8y)Q    N)	find_spec)AnyUnionTupleDictLiteralpydevd)pydevd_runpy)logsockets)apifilemodulecodepidz2<filename> | -m <module> | -c <code> | --pid <pid>a  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]
               [--parent-session-pid <pid>]]
               [--adapter-access-token <token>]
               [--disable-sys-remote-exec]]
               {1}
               [<arg>]...
c                       e Zd ZU dZeed   df   ed<   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Zee
df   ed	<   dZy)
OptionsN)connectlistenmodeaddressFtargettarget_kindconfigparent_session_pid)__name__
__module____qualname__r   r   r   __annotations__r   r   strintlog_tolog_to_stderrr   r   
TargetKindwait_for_clientadapter_access_tokenr   r   r   r   disable_sys_remote_exec     c/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/debugpy/server/cli.pyr   r   1   s    6:D%+,d2
3:,0GU5c?D()0FM#FE#t)#+/Kz4'(/OFDcN+/c4i(/#r*   r   noneT)qt
subProcessc                       fd}|S )Nc                      |       }|k  rt        dj                              |k\  rt        dj                              |S )Nzmust be >= {0}zmust be < {0})
ValueErrorformat)snparserstartstops     r+   parsezin_range.<locals>.parseD   sV    1IU-44U;<<T	_33D9::r*   r)   )r5   r6   r7   r8   s   ``` r+   in_ranger9   C   s     Lr*   c                 l    t        t        t        j                         t        j                  d       y )Nr   r   )printHELPsysstderrexitswitchits     r+   print_help_and_exitrD   R   s    	$SZZ HHQKr*   c                 `    t        t        j                         t        j                  d       y Nr   )r<   debugpy__version__r>   r@   rA   s     r+   print_version_and_exitrI   W   s    	'

HHQKr*   c                     | S Nr)   xs    r+   <lambda>rN   \   s    qr*   c                       fd}|S )Nc                 J     t        |            }t        t        |       y rK   )nextsetattroptions)argrC   valuer5   varnames      r+   dozset_arg.<locals>.do]   s    tBx %(r*   r)   )rV   r5   rW   s   `` r+   set_argrX   \   s    ) Ir*   c                       fd}|S )Nc                 (    t        t               y rK   )rR   rS   )rT   rC   rU   rV   s     r+   rW   zset_const.<locals>.doe   s    %(r*   r)   )rV   rU   rW   s   `` r+   	set_constr[   d   s    ) Ir*   c                       fd}|S )Nc                 |   t         j                  t        d      t        |      }|j	                  d      \  }}}|j                  d      }|st        j                         }|}	 t        |      }d|cxk  rdk  st        d       t        d      t         _
        ||ft         _        y # t        $ r d}Y Hw xY w)Nz---listen and --connect are mutually exclusive:z[]r   i   zinvalid port number)rS   r   r1   rQ   
rpartitionstripr   get_default_localhostr"   	Exceptionr   )rT   rC   rU   hostsepportr   s         r+   rW   zset_address.<locals>.dol   s    ??&LMM R**3/c4zz$002DD	t9D T!E!233 "233,  	D	s   'B- -B;:B;r)   )r   rW   s   ` r+   set_addressrg   k   s    '* Ir*   c                    d}| j                  |      sJ | t        |      d  }t        |      }|t        j                  vrt        dj                  |            t        t        j                  |         }	 |t        u rddd|j                            }n ||      }|t        j                  |<   y # t        $ r& t        dj                  ||j                              w xY w)Nz--configure-zunknown property {0!r}TF)truefalsez{0!r} must be a {1})
startswithlenrQ   rS   r   r1   r2   typeboollowerrc   r   )rT   rC   prefixnamerU   expected_types         r+   
set_configrs      s    F>>&!!!s6{}DHE7>>!188>??-.MUD !E25;;=AE!%(E !GNN4  U.55dM<R<RSTTUs   8'B3 3/C"c                     | S rK   r)   rL   s    r+   rN   rN      s    1r*   Fkindc                       fd}|S )Nc                    t         _         r| n
t        |            }t        |t              r0	 |j                  t        j                               }|t         _        y |t         _        y # t        $ rT 	 |j                  d      }n3# t        $ r' dd l	}|j                  |j                  d            }Y nw xY wY |t         _        y w xY w)Nutf-8r   F)rS   r   rQ   
isinstancebytesdecoder>   getfilesystemencodingUnicodeDecodeErrorlocalegetpreferredencodingr   )rT   rC   r   r~   ru   r5   
positionals       r+   rW   zset_target.<locals>.do   s    "ztBx8fe$Os'@'@'BC   & OO#]]73F) O!#]]6+F+Fu+MNFO
  Os5   #A. .	C8B
	C
-B:7C9B::C
Cr)   )ru   r5   r   rW   s   ``` r+   
set_targetr      s     $ Ir*   z-(\?|h|-help)z-(V|-version)z--log-toz<path>r#   z--log-to-stderrr$   z--listenz	<address>r   z	--connectr   z--wait-for-clientr&   z--configure-.+z<value>z--parent-session-pidz<pid>r   c                      | rt        |       S d S rK   )r"   rL   s    r+   rN   rN      s    fg\_`a\b\qmq\qr*   z--adapter-access-tokenz<token>r'   z--disable-sys-remote-execr(    z
<filename>r   )r   z-mz<module>r   -cz<code>r   z--pidr   c               #      K   t        t        j                        dk\  rFt        j                  d   } t        j                  d= |  t        t        j                        dk\  rEy y w)N      )rl   r>   argv)rU   s    r+   consume_argvr      sE     
chh-1
HHQK chh-1
s   A!A&$A&argsc              #   ~   K   | t         j                  u rt               E d {    y | r| d   }| d= | | ry y 7 wrF   )r>   r   r   )r   rU   s     r+   consume_argsr      s?     sxx>!!GEQK  	"s    =;==c                  @   t               } t        |        t        |        t        j                  t        j                  dk(  rt        dt        z         t        j                  t        d      t        j                  t        j                  dk7  rt        d      t        j                  t        j                  dk7  rt        d      t        j                  dk(  rt        j                  rt        d      t        j                  J t        j                  J y )	Nr   zmissing target: z(either --listen or --connect is requiredr   z)--adapter-access-token requires --connectz'--parent-session-pid requires --connectr   z(--pid does not support --wait-for-client)setparse_args_from_command_lineparse_args_from_environmentrS   r   r1   TARGETr   r'   r   r   r&   r   seens    r+   
parse_argsr      s     5D &% ~~2!5+f455||CDD##/GLLI4MDEE!!-',,)2KBCCe#(?(?CDD***??&&&r*   r   c                 8    t        t        j                  |        y rK   )parse_args_helperr>   r   r   s    r+   r   r      s    chh%r*   seenFromCommandLinec                     t         j                  j                  d      }|sy |j                         }t	               }t        || |d       y )NDEBUGPY_EXTRA_ARGVT)osenvirongetsplitr   r   )r   r   argsListseenFromEnvironments       r+   r   r      s>    ::>>./Dzz|H%h 35H$Or*   r   c                 |   t        |       }	 	 t        |      }|}|j                  d      sd}t        D ]$  \  }}}	t        j                  d|z   dz   |      s$ n t        d|z         |s||v rt        d|z         |r||v rt        d|z         |r||v r|r|j                  |       n|j                  |       	  |	||       |st        j                  y # t        $ r Y y w xY w# t        $ r  |J t        dj                  ||            t        $ r!}
t        d	j                  |||
            d }
~
ww xY w)
N-r   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   rQ   StopIterationrk   switchesrematchr1   addr2   rc   rS   r   )r   r   r   isFromEnvironmentiteratorrT   rB   patternplaceholderactionexcs              r+   r   r     sx    D!H
	x.C   %F,4(G[&xxw-v6 -5 3f<== !V/B%BAFJKK6-@#@BVKLL6-@#@ !#''/#''/	V3! !W^^%?Y   		>  	M***/66v{KLL 	V3::6;PSTUU	Vs)   C >	C* 	C'&C'*0D;D66D;c                 
   | t         j                  d<   t        j                  dt         j                         t	        j
                  t        j                         t        j                  j                  dd      dk7  rt        j                  dk(  r4t        j                  $t	        j                  t        j                         nt        j                  dk(  rSt        j                  Ct	        j                  t        j                  t        j                  t        j                          n"t#        t%        t        j                              t        j&                  rt	        j&                          dt        j                  d<   y )	Nr   zsys.argv after patching: {0!r}DEBUGPY_RUNNINGrj   ri   r   r   )access_tokenr   )r>   r   r   debugrG   	configurerS   r   r   r   r   r   r   r   r   r'   r   AssertionErrorreprr&   )argv_0s    r+   start_debuggingr   ?  s     CHHQKII.9gnn%	zz~~'1V;<<8#(CNN7??+\\Y&7??+FOOGOO':V:Vkr  lF  lF  G gll!344""##%$*BJJ !r*   c                     t         j                  } t        |        | _t        j                  j                  |       r@t        j                  j                  |       }t        j                  j                  d|       nt        j                  d|        t        j                  d       t        j                  d|        t        j                  | d       y )Nr   zNot a file: {0!r}Pre-launch environment:zRunning file {0!r}__main__)run_name)rS   r   r   r   pathisfiledirnamer>   insertr   r   describe_environmentinforunpyrun_path)r   dirs     r+   run_filer   W  s    ^^FF bggnnV4ggoof%3		%v.67HH!6*	NN6J/r*   c                     t         j                  j                  dt        d             t         j                  d   } 	 t
        j                  d nt        t
        j                        }||j                  } t        |        t        j                  d       t        j                  dt
        j                         	 t        j                   } |t
        j                  d       y # t        $ r t        j                  d       Y w xY w# t"        $ r= t        j$                  d       t        j&                  t
        j                  d	       Y y w xY w)
Nr   r   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)r>   r   r   r!   r   rS   r   r   originrc   r   swallow_exceptionr   r   r   r   _run_module_as_mainAttributeErrorwarning
run_module)r   specrun_module_as_mains      r+   r   r   l  s     HHOOAs2w XXa[FL~~-t9W^^3L[[F F67HH#W^^4<"66
 	7>>d;%  LJKL  9WX489s$   9C% <D	 %DD	AEEc                     t         j                  t        j                  j	                  dt        d             t        t         j                  t        d      t        d            } t        t        d             t        j                  d       t        j                  dt         j                         t        | i        y t        j                  d       y )	Nr   r   z<string>execr   r   zRunning code:

{0}zNo target to run.)rS   r   r>   r   r   r!   compiler   r   r   r   evalerror)r   s    r+   run_coder     s    ~~!3r7#w~~s:FDD	"  !:;'8T2		%&r*   c                     t         j                  } t        j                  d|        d }t        j
                  j                  t        j                  j                        }t        j
                  j                  |      sJ  ||      }t         j                  t         j                  t         j                  t         j                  t         j                  d} |t!        j"                  |            }d}|j%                  dd      j%                  dd      j'                  ||      }t         j(                  st+        t,        d	      rd}	 d
d l}|j1                  d      5 }|j2                  }t        j                  d|       |j5                  |j7                                |j5                  dj'                  |      j7                                |j9                          |j;                          t-        j<                  | |       d d d        y t        j                  d|j%                  dd             h dtE        |      z  rJ d       t        j
                  jG                  t        j
                  j                  tH        j                        d      }	t        j
                  j                  |	      sJ t,        j
                  jK                  |	       	 d
d l&}
t        j                  d|        |
jO                  | |dtQ        t	        jR                  dd                   t        j                  d|        y # 1 sw Y   y xY w# t>        $ rV}t        j
                  j                  |      rt	        j@                  |       t        jB                  d|       Y d }~d }~ww xY w# t>        $ r t        jT                  d|        Y w xY w)Nz!Attaching to process with PID={0}c                 P    | #t        t        | j                  d                  S d S )Nrx   )list	bytearrayencode)r3   s    r+   rN   zattach_to_pid.<locals>.<lambda>  s$    Q]tIahhw&789TPTTr*   )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);
r   
)
script_dirsetupremote_execr   F)deletezFAttempting to inject code at '{tmp_file_path}' using sys.remote_exec())tmp_file_pathz'import os;os.remove("{tmp_file_path}");z]Injecting code using sys.remote_exec() failed with error:
"{e}"
Will reattempt using pydevd.
)ezCode to be injected: 
{0};z;
>   r   r   "'zOInjected code should not contain any single quotes, double quotes, or newlines.pydevd_attach_to_processz,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.)+rS   r   r   r   r   r   r   rG   server__file__existsr   r   r&   r#   r'   jsondumpsreplacer2   r(   hasattrr>   tempfileNamedTemporaryFilerq   writer   flushcloser   rc   remover   r   joinr	   appendadd_code_to_python_processrun_python_coder"   getenvreraise_exception)r   r   r   r   python_coder   r   tmp_filer   pydevd_attach_to_process_pathr   s              r+   attach_to_pidr     s   
..CHH0#6TF!8!89J77>>*%%%
#J ??"22.. ' < <E 4::e$%EK" 	D"%	r		:U	3  ++m1L	,,E,:h (\"/ {1134AHH&3 I fh
   ]3 ;  HH);+>+>sE+JK 	[!11YXY  %'GGLL
(*D%! 77>>7888HHOO12J)?E"22%)		*Lc RS	 	3 	
 HH5s;e ;  	ww~~m,		-(KKr 	@  JCSIJsK   M
 !B(L>	M
 AN, >MM
 M
 
	N)AN$$N),OOc                  f   t        t        j                        } 	 t                t        j                  #t        j                  t        j                         t        j                  r#t        j                  t        j                         t        j                          t!        j"                  t        d      | t        j                         	 t        j$                  0t&        t(        t*        t,        dt        j$                     } |        y y # t        $ r`}t        t        t              t        d      z   t        |      z   t        j                         t        j                  d       Y d }~Nd }~ww xY w# t.        $ r,}t!        j0                  d|j2                  d       Y d }~y d }~ww xY w)	Nz
Error: r;   r   z=sys.argv before parsing: {0!r}
         after parsing:  {1!r}r   z%Debuggee exited via SystemExit: {0!r}r   )level)r   r>   r   r   rc   r<   r!   r=   r?   r@   rS   r#   rG   r$   r   ensure_loggingr   r   r   r   r   r   r   
SystemExitr   r   )original_argvr   runs      r+   mainr    s,   NM
 ~~!w~~&szz"HHOP
* $ $	
 !!#C E +%  c$i#k**SX5CJJG4  
3SXXW	
 	

s0   
D ?E; 	E8AE33E8;	F0"F++F0)9r   r   r   r>   importlib.utilr   typingr   r   r   r   r   modulesr	   _pydevd_bundler
   r   rG   debugpy.serverdebugpy.commonr   r   r   r%   r   r2   rH   r=   objectr   rS   r   r9   r"   r   rD   rI   rX   r[   rg   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r)   r*   r+   <module>r     sO  
  	 	 
 $ 3 3
 3;;   1   ' 45
	= F &$f $ )d3	 sAt

 ) 2!* *5% Z 8 4GH4JKGH4EFIot4TUK4IJK	4JKI>OQU4VW	J?G<PRq4rsG<R4ST $I>WY]4^_ JvRV4WX	
Jx4HI	Jv4FGJuc4JK-8t '2&s &PS P  #u	4
44 4n+00*<B' a<H!
r*   