nHdd ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlmZGddeZgdZdZdZGdd eZGd d eZGd d eZdZGddejejZeFgdZ e D].Z!ee"ede!zj#dzz Z/eej$jz Z[ [!d"dZ%d"dZ&dZ'dZ(dddZ)d#dZ*dZ+dZ,dZ-dZ.dZ/d Z0e1d!krddl2Z2e2j0dSdS)$N)UnionceZdZ dS)RestartN)__name__ __module__ __qualname__*/opt/alt/python311/lib64/python3.11/pdb.pyrrZsLDr r) runpmPdbrunevalrunctxruncall set_trace post_mortemhelpcZtjdtj|z} tj|}n#t $rYdSwxYw|5t |dD]-\}}||r|||fccdddS. dddn #1swxYwYdS)Nzdef\s+%s\s*[(])start)recompileescapetokenizeopenOSError enumeratematch)funcnamefilenamecrefplinenolines r find_functionr&as1 *&8)<)<< = =C ]8 $ $ tt 22%b222 2 2LFDyy 2611122222222 2 2222222222222222 4s)A A A2B B  B$'B$cttj|}||D]\}}||kr|cSdSNr)listdisfindlinestartsreverse)codelasti linestartsir$s r lasti2linenor1ns[c(..//J 6 A::MMM  1r ceZdZ dZdS)_rstrc|SNr selfs r __repr__z_rstr.__repr__ys r N)rrrr8r r r r3r3ws&-r r3cfeZdZfdZdZedZedZedZxZ S) _ScriptTargetct|tj|}||_|Sr5)super__new__ospathrealpathorig)clsvalres __class__s r r=z_ScriptTarget.__new__~s8ggooc27#3#3C#8#899 r ctj|s*td|jdt jdtj|t jd<dS)NzError:zdoes not existrr)r>r?existsprintrAsysexitdirnamer6s r checkz_ScriptTarget.checksYw~~d##  (DI'7 8 8 8 HQKKKgood++ r c|Sr5r r6s r r!z_ScriptTarget.filenames r c0td|tS)N__main__)r__file__ __builtins__)dictrQr6s r namespacez_ScriptTarget.namespaces"%    r ctj|5}d|d|dcdddS#1swxYwYdS)Nz exec(compile(z, z , 'exec')))io open_coderead)r7r#s r r-z_ScriptTarget.codes \$   E2D27799DD$DDD E E E E E E E E E E E E E E E E E Es=AA) rrrr=rLpropertyr!rSr- __classcell__)rEs@r r:r:}s,,,X  X EEXEEEEEr r:ceZdZdZejdZedZedZ edZ edZ dS) _ModuleTargetc |jdS#t$r+tjt jdYdSwxYwNr)_details Exception traceback print_excrIrJr6s r rLz_ModuleTarget.checksO  MMMM      ! ! ! HQKKKKKK s 1AAc4ddl}||Sr()runpy_get_module_details)r7rcs r r^z_ModuleTarget._detailss ((...r c|jjSr5)r- co_filenamer6s r r!z_ModuleTarget.filenames y$$r c|j\}}}|Sr5r^r7namespecr-s r r-z_ModuleTarget.code=dD r c|j\}}}|Sr5rhris r _specz_ModuleTarget._specrlr ctdtjtj|j|jj|jj|jtS)NrO)rrP __package__ __loader____spec__rQ) rRr>r?normcaseabspathr!rnparentloaderrQr6s r rSz_ModuleTarget.namespacesWW%%bgoodm&D&DEE )z(Z%     r N) rrrrL functoolscached_propertyr^rXr!r-rnrSr r r r[r[s///%%X%XX  X   r r[z -> ceZdZdZ dVdZdZdZdZd Zd Z d Z d Z d Z dZ dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZeZdWdZd ZeZ eZ!eZ"d!Z#eZ$d"Z%d#Z&d$Z'eZ(d%Z)eZ*d&Z+eZ,d'Z-eZ.d(Z/e/Z0eZ1eZ2d)Z3e3Z4e3Z5d*Z6d+Z7e7Z8d,Z9e9Z:d-Z;e;Zd/Z?e?Z@d0ZAeAZBd1ZCeCZDd2ZEeExZFZGd3ZHeHZId4ZJeZKd5ZLeLZMeLZNd6ZOd7ZPePZQd8ZReRZSd9ZTdXd:ZUd;ZVd<ZWd=ZXd>ZYeZZeZ[eZ\d?Z]e]Z^d@Z_e_Z`dAZaeZbdYdCZcdDZdeZedEZfeZgdFZhdGZidHZjdIZkdJZldKZmgdLZndMZoepfdNZqdOZrerZsdPZtdQZudRZvdSewexeyffdTZzdUZ{dS)ZrNtabFTcrtj||tj||||t jd|rd|_d|_i|_ i|_ d|_ d|_ i|_ ddl}|dn#t $rYnwxYwd|_||_g|_|r t)t*jdd 5}|j|dddn #1swxYwYn#t2$rYnwxYw t)d d 5}|j|dddn #1swxYwYn#t2$rYnwxYwi|_i|_i|_d|_d|_dS) N)skipzpdb.Pdbrz(Pdb) Fz `@#$%^&*()=+[{]}\|;:'",<>?z~/.pdbrczutf-8)encodingz.pdbrc)bdbBdb__init__cmdCmdrIaudit use_rawinputpromptaliases displaying mainpyfile_wait_for_mainpyfile tb_linenoreadlineset_completer_delims ImportError allow_kbdintnosigintrcLinesrr>r? expanduserextendrcommandscommands_dopromptcommands_silentcommands_defining commands_bnum) r7 completekeystdinstdoutr|rreadrcrrcFiles r rz Pdb.__init__sk D))) {E6::: )  " !D   $)!  OOO  ) )*M N N N N    D !     "',,Z887KKK0vL''///000000000000000     (W5550L''///000000000000000     !#!!&!s~ B&& B32B3.D/<D# D/#D''D/*D'+D// D<;D<FE8, F8E<<F?E<F FFc|jrt|d|||dS)Nz- Program interrupted. (Use 'cont' to resume).)rKeyboardInterruptmessageset_stepr)r7signumframes r sigint_handlerzPdb.sigint_handlersK   $# # EFFF  ur cltj||dSr5)rrresetforgetr6s r rz Pdb.reset s'  d r cpd|_g|_d|_d|_|jdSr()r$stackcurindexcurframerclearr6s r rz Pdb.forget s8     r cf||||\|_|_|r7t |jj|j}||j|j<|j }|7|j|jd|_ |j j |_ | Sr()r get_stackrrr1tb_framef_codetb_lastirtb_nextrf_localscurframe_locals execRcLines)r7ftbr$s r setupz Pdb.setups $(NN1b$9$9! DM ""+"4bkBBF*0DN2; 'B   4=1!4  $}5!!!r c8|jsdS|j}|g|_|rl|}|r@|ddkr4||r|xjt |z c_dS|jdSdS)Nr#T)rr,popstriponecmdreversed)r7rr%s r rzPdb.execRcLines&s|  F,  ;;==&&((D Q3;;t$$ LLHW$5$55LL4     r c |jrdS||r-|d||ddSdS)Nz--Call--)r stop_herer interaction)r7r argument_lists r user_callz Pdb.user_call:sc 7  $  F >>%  * LL $ $ $   UD ) ) ) ) ) * *r c |jr<|j||jjks |jdkrdSd|_||r||ddSdS)NrF)rrcanonicrrff_lineno bp_commandsr)r7rs r user_linez Pdb.user_lineCsI  $ .4<< 0H#I#III>Q&&(-D %   E " " *   UD ) ) ) ) ) * *r c t|ddr|j|jvr|j}d|_|j}||d|j|D]}||||_|j|s%||j|j |j |r| | dSdS)N currentbpFrr) getattrrrlastcmdrrrprint_stack_entryrrr_cmdloopr)r7rr lastcmd_backr%s r rzPdb.bp_commandsMs  4e , , ~..IDNsingle) rr f_globalsrrIrrrexec _error_exc)r7r%localsglobalsr- save_stdout save_stdinsave_displayhooks r defaultz Pdb.defaults 8s??48D%-) 4$; 8< % 17>>$-- -**400 0r c ||\}}}|sdS|dkrd|j|j<dS|dkr g|_dS|j|j}|r||dz|zn|| t |d|z}n#t$r |j}YnwxYw|j |j vrd|j |j<g|_dSdS)NsilentTendrrdo_F) parselinerrr rrrAttributeErrorrrcommands_resumingr)r7r%rargcmdlistfuncs r rzPdb.handle_command_defsF--S$  F (??7;D !3 4 F E\\DM1- 23  NN3s73; ' ' ' ' NN3    4--DD   D "4#5 6DM1s BB32B3c2t||jdS)NfilerHrr7msgs r rz Pdb.message s c $$$$$$r c4td||jdS)Nz***r#r%r&s r errorz Pdb.errors eSt{++++++r c8|drgS |||||}n#t$rg}YnwxYwt jt j|dz}|D]}t j|r| |dz:t j |r?| dr| |dz|S)N):,*/).pyz.pywr+) rendswith_complete_expressionr_globrr>r?isdirrisfilelower)r7textr%begidxendidxretglobsfns r _complete_locationzPdb._complete_locations ::<<  , , I ++D$GGCC   CCC  $+d++c122 % %Bw}}R   % 28$$$$## % (;(;O(L(L % 28$$$ sA AAcXfdttjjDS)Nc|g|]8\}}|t|)t|9Sr5)r  startswith).0r0bpr6s r z*Pdb._complete_bpnumber..-sG???51b>c!ff&7&7&=&=>A!>>r )rr Breakpoint bpbynumberr7r6r%r7r8s ` r _complete_bpnumberzPdb._complete_bpnumber)s:????Icn.G$H$H??? ?r c |jsgSi|jj|j}dvrd |d}ddD]}t ||}n#t t f$rgcYSwxYwddddz  fdt|DSfd| DS)N.rrrcPg|]"}|d|z#S)rr?)r@ndottedrs r rBz,Pdb._complete_expression..Ds2MMM1ALL4L4LMFQJMMMr c>g|]}||Sr rJ)r@rKr6s r rBz,Pdb._complete_expression..Gs*???!ALL,>,>?A???r ) rrrrrKeyErrorrr dirkeys) r7r6r%r7r8nsrpartrLrs ` @@r r1zPdb._complete_expression0s} IA ' @4+? @ $;;ZZ__F m"1R4L--D!#t,,CC-n-     XXfSbSk**S0FMMMMMCMMM M@???rwwyy??? ?s+A((A>=A>c` |s"ttjjdz }n. t |}n#|dYdSxYw ||n0#t$r#}|d|zYd}~dSd}~wwxYw||_||j vr'|j ||j ||j |f}nd}g|j |<d|j |<d|j |<|j }d|_ d|_ |np#t$rc|r1|d|j |<|d|j |<|d|j |<n|j |=|j |=|j |=|d YnwxYwd|_ ||_ dS#d|_ ||_ wxYw) Nrz.Usage: commands [bnum] ... endzcannot set commands: %sTFz(com) rrz1command definition aborted, old commands restored)lenrrCrDintr)get_bpbynumberrrrrrrrrr)r7rbnumerrold_command_defs prompt_backs r do_commandszPdb.do_commandsMs%# H s~011A5DD 3xx  MNNN     % % % %    JJ036 7 7 7 FFFFF " 4= $ d 3 $ 6t < $ 4T : <   $   d'+t$%*T"k  !% & LLNNNN L L L /&6q&9 d#/?/B&t,-=a-@$T**M$'*40(. JJJ K K K K K L&+D "%DKKK&+D "%DK % % % %sL7AA++ B5BBDFA*F F F  FF-rc |s[|jrR|dtjjD]+}|r'||,dSd}d}d}|d}|dkr;||dzd}|d|}| d}d} |dkr|d|}| |} | s| d|zdS| }||dzd} t|}n#t$r| d|zYdSwxYw t|}n#t$r t||jj|j} n #|} YnxYw t%| dr| j} | j} | j} | j}| j}nO#||\} }}| s| d |zYYdS| } t|}YnxYwYnwxYw|s|}|||}|rz|||||| }|r| |dS|||d }|d |j|j|jfzdSdS) Nz!Num Type Disp Enb Wherer,rrr+z%r not found from sys.pathzBad lineno: %s__func__zJThe specified object %r is not a function or was not found along sys.path.rzBreakpoint %d at %s:%d) breaksrrrCrDbpformatr r rrfind lookupmoduler)rUrevalrrrhasattrr]__code__co_nameco_firstlinenorflineinfo defaultFile checkline set_break get_breaksnumberr$r%)r7r temporaryrAr!r$condcommacolonr rr!r-oklnr%rXs r do_breakz Pdb.do_breaks~  { 4 @AAA.344B4 R[[]]333 F  199uQwxx=''))Dfuf+$$&&C # A::6E6{))++H!!(++A  7(BCCCeAghh-&&((C S    +c1222   %S % % % $ 7 $ 466DDDDD%tZ00-#}=D $|H!0F#/HH%)-s););&R2 $FHK$LMMM!H WWFFF1 %2 *''))H~~h//  <..4D(KKC < 3__Xt44R8 5 i"':;<<<<< < )rrrfr)r7r!s r rhzPdb.defaultFiles0+='3 z ! !do !Hr c4 ||ddSr])rsr7rs r do_tbreakz Pdb.do_tbreak s#  c1r cDd}|d}t|dkr|d}n0t|dkr|d}n|S|dkr|S|d}|ddkr|d=t|dkr|S|}t|dkr |d}n'||d}|r|}|d}t ||} | p|S) N)NNN'rrr}rHr7)rrTrrhrar&) r7 identifierfailedidstringidpartsfnameitemranswers r rgz Pdb.lineinfos)###C(( x==A  !""$$BB ]]a  !""$$BBM 88F]  8v  a5zzQ   "" u::??8DD!!%(++A 8DtU++r cH t|dd}|r|jnd}tj|||}|s|ddS|}|r(|ddks|dddks|dddkr|ddS|S) Nrz End of filerrrzz"""z'''zBlank or comment)rr linecachegetlinerrr))r7r!r$rr:r%s r riz Pdb.checkline5s j$//#(2d 6599  LL ' ' '1zz|| aC2A2h%D!H$5$5 JJ) * * *1 r c |}|D]p} ||}||d|zE#t$r}||Yd}~id}~wwxYwdS)Nz Enabled %s)rrVenablerrr)r7rrr0rArXs r do_enablez Pdb.do_enableKs yy{{ 0 0A 0((++  \B.////     3  0 0A B'BBc |}|D]p} ||}||d|zE#t$r}||Yd}~id}~wwxYwdS)Nz Disabled %s)rrVdisablerrr)rs r do_disablezPdb.do_disable\s yy{{ 1 1A 1((++  ]R/0000     3  1 1rc |dd} |d}n#t$rd}YnwxYw ||d}||_|s|d|jzdS|d|jzdS#t$r|dYdSt$r }||Yd}~dSd}~wwxYw)Nrrrz#Breakpoint %d is now unconditional.z$New condition set for breakpoint %d.Breakpoint number expected) r IndexErrorrVrrnrrlr)r)r7rrrnrArXs r do_conditionzPdb.do_conditionps1 yya   7DD   DDD  Q$$T!W]]__55B BG Q BRYNOOOOO CbiOPPPPP 5 5 5 JJ3 4 4 4 4 4 4    JJsOOOOOOOOO s)" 11-B))C4 C4C//C4c> |} t|d}n #d}YnxYw ||d}||_|dkr/|dkrd|z}nd}|d||jfzdS|d|jzdS#t$r|dYdSt$r }||Yd}~dSd}~wwxYw)Nrrz %d crossingsz 1 crossingz%Will ignore next %s of breakpoint %d.z-Will stop next time breakpoint %d is reached.r) rrUrrVignorerrlrr)r)r7rrcountrAcountstrrXs r do_ignorez Pdb.do_ignoresc yy{{ Q ((EE EEE *$$T!W]]__55B BIqyy199-5HH+H D& 2344444 L!y)***** 5 5 5 JJ3 4 4 4 4 4 4    JJsOOOOOOOOO s''?A -CD3 D<DDc |s td}n#t$rd}YnwxYw|}|dvrLdtjjD}||D]}|d|zdSd|vr| d}|d|}||dzd} t|}| ||dd}| ||}n#t$rd|z}YnwxYw|r||n|D]}|d|zdS|} | D]q} ||}|||d|zF#t$r}||Yd}~jd}~wwxYwdS) NzClear all breaks? no)yyescg|]}||Sr r )r@rAs r rBz Pdb.do_clear..sGGGBG"GGGr z Deleted %sr+rzInvalid line number (%s))inputEOFErrorrr5rrCrDclear_all_breaksrr`rUrk clear_breakrr)rrVclear_bpbynumber) r7rreplybplistrAr0r!r$rX numberlists r do_clearz Pdb.do_clears]   233    KKMM''))E $$GGs~'@GGG%%''' 44BLL!23333 F #:: #A2A2wHacdd)C 9S6::111=&&x88  7 7 7036 7  4 3 44BLL!23333 FYY[[  0 0A 0((++%%a((( \B.////     3  0 0s6 $$DD&%D&9F<< G%G  G%c0 |dSr5)print_stack_tracervs r do_wherez Pdb.do_wheres!      r c||_|j|jd|_|jj|_||j|jd|_dSr()rrrrrrr$)r7rls r _select_framezPdb._select_framesS  4=1!4 #}5 tz$-8999 r c0 |jdkr|ddS t|pd}n)#t$r|d|zYdSwxYw|dkrd}nt d|j|z }||dS)Nrz Oldest framerInvalid frame count (%s))rr)rUrmaxrr7rrnewframes r do_upz Pdb.do_ups  =A   JJ~ & & & F qMMEE    JJ1C7 8 8 8 FF  199HH1dme344H 8$$$$$s7"AAc |jdzt|jkr|ddS t |pd}n)#t $r|d|zYdSwxYw|dkrt|jdz }n-t t|jdz |j|z}||dS)Nrz Newest framerr)rrTrr)rUrminrrs r do_downz Pdb.do_downs  =1 DJ / / JJ~ & & & F qMMEE    JJ1C7 8 8 8 FF  1994:*HH3tz??Q. 0EFFH 8$$$$$sA "A21A2c  |rb t|}n)#t$r|d|zYdSwxYw||jjkr|ddSnd}||j|dS)NError in argument: %rz7"until" line number is smaller than current line numberr)rUrr)rr set_until)r7rr$s r do_untilz Pdb.do_untils    S    2S8999 /// )***0 F t}f---qs ";;c0 |dSr])rrvs r do_stepz Pdb.do_step3s qr c< ||jdSr])set_nextrrvs r do_nextz Pdb.do_next=s"  dm$$$qr c |r}ddl}tjdd} ||t_n3#t$r&}|d|d|Yd}~dSd}~wwxYw|tjdd<t )Nrrz Cannot run r)shlexrIargvrrr)r)r7rrargv0es r do_runz Pdb.do_runFs  ! LLLHQqSME  ;;s++    ###qq9::: !CHRaRL s= A-A((A-c< ||jdSr]) set_returnrrvs r do_returnz Pdb.do_return[s"   &&&qr c |js@ tjtj|jt_n#t $rYnwxYw|dSr])rrrrrrr set_continuervs r do_continuezPdb.do_continuecsr }  M&-1DEE,,       qs.9 AAc |jdzt|jkr|ddS t |} ||j_|j|jd|f|j|j<||j|jdS#t$r#}|d|zYd}~dSd}~wwxYw#t$r|dYdSwxYw)Nrz)You can only jump within the bottom framerzJump failed: %sz)The 'jump' command requires a line number) rrTrr)rUrrrr)r7rrs r do_jumpz Pdb.do_jumpus&  =1 DJ / / JJB C C C F 2c((C 2*- &,0Jt},Ea,H#,M 4=)&&tz$-'@AAAAA 2 2 2 ,q0111111111 2 D D D JJB C C C C C C Ds*C AB$$ C.C  CC76C7c tjd|jj}|j}t |j|j|j}d|j z|_ | d tj |j |||fn$#t$r|YnwxYw| dtj|j|j|_dS)Nz(%s) zENTERING RECURSIVE DEBUGGERzLEAVING RECURSIVE DEBUGGER)rIsettracerrrrrrrrrr call_tracingr r_rtrace_dispatchr)r7rrrps r do_debugz Pdb.do_debugs T-)%  $*dk : :T[..000 2333   QUS'6$: ; ; ; ;    OO       1222 T()))y sBB?>B?c> d|_|dS)NTr)_user_requested_quitset_quitrvs r do_quitz Pdb.do_quits# %)! qr ch |dd|_|dS)Nr}Tr)rrrrvs r do_EOFz Pdb.do_EOFs5  R$(! qr ch |jj}|j}|j|jz}|jt jzr|dz}|jt jzr|dz}t|D]L}|j |}||vr!| |d||4| |dMdS)Nr = z = *** undefined ***) rrr co_argcountco_kwonlyargcountco_flagsinspect CO_VARARGSCO_VARKEYWORDSrange co_varnamesr)r7rcorRrKr0rjs r do_argsz Pdb.do_argss ] !# NR1 1 ;+ +41Q ;/ /8QqSq A AA>!$Dt|| $$$T ;<<<< ?@@@@  A Ar c d|jvr/|t|jddS|ddS)NrzNot yet returned!)rrrr)rvs r do_retvalz Pdb.do_retvalsX  4/ / / LLd2<@AA B B B B B JJ* + + + + +r cx t||jj|jS#|xYwr5)rbrrrrrvs r _getvalz Pdb._getvals= T]4d6JKK K  OO    s"9c2 | t||jj|jSt||j|jS#t jdd}tj|d }td|zcYSxYw)Nrrz** raised %s **) rbrrrrrIrr`rrr3)r7rrrrXs r rzPdb._getval_excepts 2}C!8$:NOOOC%.AAA 2|~~bqb)H18>"1"% 92H=bAGGIIJJJJJr c ||}n#YdSxYw |||dS#|YdSxYwr5)rrr)r7rr!rCs r _msg_val_funczPdb._msg_val_funcsq ,,s##CC  FF  LLc # # # # #  OO      sAAc> ||tdSr5)rrrvs r do_pzPdb.do_ps%  3%%%%%r cH ||tjdSr5)rpprintpformatrvs r do_ppz Pdb.do_pps'  3/////r c` d|_d}|r|dkr d|vrf|d\}}t|}t|}||kr||z}n4t|}t d|dz }n^#t $r|d|zYdSwxYw|j|dkrt d|jj dz }n |jdz}||dz}|jj j }| dr6|jj d }t|t r|}||} t%j||jj }|||dz ||||jt+|t-||_t-||kr|d dSdS#t0$rYdSwxYw) Nr)rHr,rr zz>> ) rrrrr rjustrTrr) r7rrr^rcurrent_lineno exc_linenor$r%ss r rzPdb._print_lines_s%  -"^N++E266JJ*, ,NZ%eU33 3 3LFDF !!!$$A1vvzzSSS''T :%%T  LLTDKKMM1 2 2 2 2 3 3r c ||}n#YdSxYwd} |jj}n#t$rYnwxYw|r|d|jzdS |j}n#t$rYnwxYw|r|d|jzdS|jtur'|d|jd|j dS|t|dS)Nz Method %sz Function %szClass rH) rr]rdr_rrerEtyperr)r7rvaluer-s r do_whatisz Pdb.do_whatists7  LL%%EE  FF >*DD    D    LLt|3 4 4 4 F >DD    D    LL5 6 6 6 F ?d " " LLL%*:*:*:E>#A++ A87A8cz |sd|d|j|jiD]}|d|zdS||}||j|ji|<|d|d|dS)NzCurrently displaying:z%s: %rrr)rrrrrr setdefault)r7rrrCs r do_displayzPdb.do_displays  8 LL0 1 1 1++DM2>>DDFF . . X_---- . .%%c**CADDO & &t}b 9 9# > LLLSSS##6 7 7 7 7 7r c |rM |j|ji|=dS#t$r|d|zYdSwxYw|j|jddS)Nznot displaying %s)rrrrNr)rrvs r do_undisplayzPdb.do_undisplays  5 6O'' r::3??? 6 6 6 .4555555 6 O   t 4 4 4 4 4s!("A Ac\fd|j|jiDS)Nc>g|]}||Sr rJ)r@rr6s r rBz*Pdb.complete_undisplay..s9'''a<<%%''''r )rrrrEs ` r complete_undisplayzPdb.complete_undisplaysA''''4?..t}bAA''' 'r c^ i|jj|j}tjd|dS)Nz *interactive*)local)rrrr-interact)r7rrQs r do_interactzPdb.do_interacts< A ' @4+? @ oR000000r c |}t|dkrRt|j}|D]'}||d|j|(dS|d|jvrFt|dkr3||dd|j|ddSd|dd|j|d<dS)Nrrrr)rrTsortedrrPrr )r7rrrPrs r do_aliasz Pdb.do_aliass .yy{{ t99>>$,++--..D G G %%%e1D1DEFFFF F 7dl " "s4yyA~~ LLd1gggt|DG/D/DE F F F F F$'HHT!""X$6$6DLa ! ! !r c |}t|dkrdS|d|jvr|j|d=dSdSr()rrTr)r7rrs r do_unaliaszPdb.do_unaliassV yy{{ t99>>66 7dl " " T!W%%% # "r c*fd|jDS)Nc>g|]}||Sr rJ)r@ar6s r rBz(Pdb.complete_unalias..s*>>>a1<<+=+=>>>>r )rrEs ` r complete_unaliaszPdb.complete_unaliass>>>>4<>>>>r )rrrrrrch |jD]}||dS#t$rYdSwxYwr5)rrr)r7 frame_linenos r rzPdb.print_stack_traces[  $  5 5 &&|4444 5 5     DD s # 11c|\}}||jurd}nd}|||||zdS)Nz> z )rrformat_stack_entry)r7r% prompt_prefixrr$rs r rzPdb.print_stack_entrysd$ v DM ! !FFF V,,\=IIJ K K K K Kr c |s tj||S t|d|z}|S#t$rt|d|z}YnwxYw t jjdkr|d|zdS|j |d|zdS| |j dS#t$r|d|zYdSwxYw)Nhelp_rrzJNo help for %r; please do not run Python with -OO if you need command helpz&No help for %r; __doc__ string missingzNo help for %r) rrdo_helprrrIflagsoptimizer)__doc__rr)r7rtopiccommands r r+z Pdb.do_helpsG  .7??4-- - 3 5gm44uww! 5 5 5!$ 44 5y!Q&& 68;<===& CcIJJJ LL//11 2 2 2 2 2 / / / JJ'#- . . . . . . /s)AA# C%"A##C%%"D  D cn ||jjpddS)Nr})r help_execr.rr6s r r2z Pdb.help_exec0s7  dn,299;;<<<<r?isabsrGr rIrrsplitextislinkreadlink)r7r!rrootextrKfullnames r razPdb.lookupmoduleAsX 7== " " x(@(@ O GLL!h / / GNN1   $,,q//T_"D"DHG$$X.. c "99%'H 7== " " Ox  G'..)) /+g..'..)) /w||GX66Hw~~h''  tr targetc d|_d|_||j|_ddl}|j|j|j | |j dS)NTFr) rrrr!rrO__dict__rupdaterSr r-)r7r=rOs r _runzPdb._runYs} %)!$)!,,v77 !!!  !1222 r cXtj|\}}td|}||fSr])rgetsourcelinesr)r7rrr$s r rzPdb._getsourcelinesns/  .s33 vQf}r )rzNNNFT)rr5)r N)|rrrrrrrrrrrrrrrrrrrrrrrrr)r<rFr1r[complete_commandsrsrhdo_bcomplete_break complete_brwcomplete_tbreakrgrircomplete_enablercomplete_disablercomplete_conditionrcomplete_ignorerdo_clcomplete_clear complete_clrdo_wdo_btrrdo_urdo_drdo_untrdo_srdo_nr do_restartrdo_rrdo_cdo_contrdo_jrcomplete_debugrdo_qdo_exitrrdo_ardo_rvrrrrrrcomplete_print complete_p complete_pprdo_lrdo_llrcomplete_sourcerrcomplete_whatisrcomplete_displayrrrrrr#rr line_prefixrr+do_hr2r4rarr[r:rArr r r rrs #HL(,,",",","^"""$   (******0&&&///( 6 6 6 = = =$$$$*2 1 1 1<%%%,,, &???@@@:Q&Q&Q&f+Z<Z<Z<Z*r r)"rwheredownupbreaktbreakrrrr conditionrstepruntiljumpreturnretvalr continuer)longlistrrppwhatissourcedisplay undisplayrrunaliasdebugquitrz cLt|||dSr5)rr  statementrrs r r r s"EEIIi&)))))r cHt|||Sr5)rr) expressionrrs r rrs 55==Wf 5 55r c(t|||dSr5)r rs r rrs 7F#####r c4tj|i|Sr5)rr)rkwdss r rrs 355=$ '$ ' ''r )headerct}||j||jtjjdSr5)rrrrI _getframef_back)rpdbs r rrsD %%C  FCM#-//()))))r c|tjd}|tdt}||d|dS)NrzAA valid traceback must be passed if no exception is being handled)rIrrrrr)trs r rrsgy LNN1 y677 7 AGGIIIMM$r c8ttjdSr5)rrIlast_tracebackr r r r r s"#####r zimport x; x.main()c.ttdSr5)r TESTCMDr r r testrsLLLLLr cBddl}|tdSr()pydocpagerr.)rs r rrs#LLL KKr ausage: pdb.py [-c command] ... [-m module | pyfile] [arg] ... Debug the Python program given by pyfile. Alternatively, an executable module or package to debug can be specified using the -m switch. Initial commands are read from .pdbrc files in your home directory and in the current directory, if they exist. Commands supplied with -c are executed after commands from .pdbrc files. To let the script run until an exception occurs, use "-c continue". To let the script run up to a given line X in the debugged file, use "-c 'until X'".c 8ddl}|tjdddddg\}}|s(tttjdt d|Dr'tttjd|D}t d |D}|rtnt}||d}| |tjdd<t}|j | |j ||jrdStd n>#t$rKtd |d tddtjddzYnt"$r:tddttjdYnt&$r*t)jtjdYnvt)jtdtdtjd}|jd|td|zdzYnxYwk)Nrrzmhc:rzcommand=rc3$K|] \}}|dvV dS))z-hz--helpNr r@optoptargs r zmain..s, ; ;{sF3" " ; ; ; ; ; ;r c g|] \}}|dv | S))z-cz --commandr rs r rBzmain..s'MMM;3#9L2L2L2L2L2Lr c3$K|] \}}|dvV dS))z-mNr rs r rzmain..s*AA[S&3&=AAAAAAr Tz*The program finished and will be restarted Restartingzwith arguments:rrz/The program exited via sys.exit(). Exit status:)rz2Uncaught exception. Entering post mortem debuggingz1Running 'cont' or 'step' will restart the programz#Post mortem debugger finished. The z will be restarted)getoptrIrrH_usagerJanyr[r:rLrrrrArrr  SystemExitr SyntaxErrorr`rar) roptsrrmodule_indicatedrBr=rrs r mainrsMMMsx|Vfj5IJJJD$  f    ; ;d ; ; ;;; f   MM$MMMHAADAAAAA+ >--C Sa\\F LLNNNCHQQQK %%CKx   ( ( CHV   '  > ? ? ? ? 1 1 1 ,(9 : : : $#(122,/// 0 0 0 0 0 % % % C M M M M #,..# $ $ $ $ $      ! ! ! HQKKKKK (   ! ! ! F G G G E F F F q!A COD! $ $ $ 7&@&' ( ( ( ( (-(s'2E EAJ0AJ20J$A1JrO)NNr5)3r>rUrrIrrr*r-r2rrrrrwr`rtypingrr_r__all__r&r1r r3r:r[rirrrr. _help_order_commandrrr2r rrrrrr rrrrrrrr r r rs<?F      i    " " "      C !E!E!E!E!EC!E!E!EH$ $ $ $ $ C$ $ $ X ggggg#'37gggV- K KK773 0119??AAFJJ s}$$GX ****6666$$$(((*****    $$$   4(4(4(p zJJJ CHJJJJJr