+
     Bifr                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
Ht . ROt]! ]4       ! R	 R4      4       t]! R
R7       ! R R4      4       t]! R
R7       ! R R4      4       t ! R R4      t ! R R4      tR tR tR tR tR tR tR t]R8X  d   ^ RIt ^ RIt ! R R]P:                  4      t]! ] P@                  4      ^8  d   ] P@                  ^,          t!MRt! ]! ]!4      t"] P@                  R,           F  t#]"PI                  ]#4       K  	  ]%! R]"PL                  R7       ]"PO                  4        ]%! R]"PL                  R7       R# R#   ] d     Li ; i  ]( d     R# i ; i)     N)StrEnum_simple_enum)
cmp_to_key)	dataclassStatsSortKeyFunctionProfileStatsProfilec                   J   a  ] tR t^#t o R	tR
tRtRtRtRt	Rt
RtRtR tRtV tR# )r   linenamenflpcallsstdnamec                    V^ ,          p\         P                  W4      pW#n        VR,           F  pW0P                  V&   K  	  Wn        V# )r      NN)str__new___value__value2member_map__all_values)clsvaluesvalueobjother_values   &*   /usr/lib/python3.14/pstats.pyr   SortKey.__new__/   sF    q	kk#%!"::K25"";/ & 
     N)callsncalls)
cumulativecumtime)filenamemodule)timetottime)__name__
__module____qualname____firstlineno__CALLS
CUMULATIVEFILENAMELINENAMENFLPCALLSSTDNAMETIMEr   __static_attributes____classdictcell____classdict__s   @r   r   r   #   s<     E(J#HDD
CFGD r    T)unsafe_hashc                   ,   a  ] tR t^9t o V 3R ltRtV tR# )r	   c                n   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ ;R&   S[;R&   # )   r#   r)   percall_tottimer%   percall_cumtime	file_nameline_number)r   floatint)formatr:   s   "r   __annotate__FunctionProfile.__annotate__9   sZ     K  N  	 
 N    N   r    r!   Nr*   r+   r,   r-   __annotate_func__r7   r8   r9   s   @r   r	   r	   9         r    c                   ,   a  ] tR t^Ct o V 3R ltRtV tR# )r
   c                H   < V ^8  d   Qh/ S[ ;R&   S[S[S[3,          ;R&   # )r>   total_ttfunc_profiles)rC   dictr   r	   )rE   r:   s   "r   rF   StatsProfile.__annotate__C   s(      O  _,--	 r    r!   NrH   r9   s   @r   r
   r
   C   rJ   r    c                      a  ] tR t^It o RR/R ltR tR tR tR tR t	R	R&R
R&RR'RR'RR(RR)RR(RR*RR+RR,RR-RR.RR./t
R tR tR tR tR tR tR tR tR tR tR  tR! tR/R" ltR# tR$ tR%tV tR# )0r   streamNc                   T;'       g    \         P                  V n        \        V4      '       g   R pMV^ ,          pVR,          pV P	                  V4       V P
                  ! V!   R # )Nr   )sysstdoutrR   leninitadd)selfrR   argsargs   &$* r   __init__Stats.__init__k   sK    **

4yyCq'C8D		#$r    c                   R V n         . V n        R V n        ^ V n        ^ V n        ^ V n        ^ V n        \        4       V n        / V n	        / V n
        V P                  V4        V P                  4        R #   \         dF    \        RT P                  '       d   T P                  R,          MR,          T P                  R7       h i ; i)NzInvalid timing data %s file)all_calleesfilesfcn_listrM   total_calls
prim_callsmax_name_lenset	top_levelstatssort_arg_dict
load_statsget_top_level_stats	ExceptionprintrR   )rY   r[   s   &&r   rW   
Stats.initu   s    

	$$& 	*%)ZZZ4::b>R9?C{{L	s   !A3 3ACc                ^   Vf
   / V n         R # \        V\        4      '       d   \        VR4      ;_uu_ 4       p\        P
                  ! V4      V n         R R R 4        \        P                  ! V4      p\        P                  ! VP                  4      R,           V,           pT.T n        M:\        VR4      '       d)   VP                  4        VP                   V n         / Vn         V P                   '       g   \        RV P                  : RV: 24      hR #   + '       g   i     L; i    L; i)Nrbz    create_statszCannot create or construct a z object from )rk   
isinstancer   openmarshalloadosstatr(   ctimest_mtimerd   hasattrrt   	TypeError	__class__)rY   r[   f
file_statss   &&  r   rm   Stats.load_stats   s    ;DJS!!c4A$\\!_
 !WWS\
jj!4!45>D DJS.))DJCIzzz#~~s4 5 5 !
s   DAD( D%	(D,c                   V P                   P                  4        F  w  pw  r#rEpV ;P                  V,          un        V ;P                  V,          un        V ;P                  V,          un        RV9   d   V P
                  P                  V4       \        \        V4      4      V P                  8  g   K  \        \        V4      4      V n	        K  	  R# )jprofileN)r   r   profiler)
rk   itemsrf   rg   rM   rj   rX   rV   func_std_stringrh   )rY   funcccncttctcallerss   &      r   rn   Stats.get_top_level_stats   s    /3zz/?/?/A+D+227"OO"OMM"M*g5""4(?4()D,=,==$'(=$>! 0Br    c                0   V'       g   V # \        V4       EF{  p\        V 4      \        V4      8w  d   \        V4      pV ;P                  VP                  ,          un        V ;P                  VP                  ,          un        V ;P
                  VP
                  ,          un        V ;P                  VP                  ,          un        VP                   F  pV P                  P                  V4       K   	  V P                  VP                  8  d   VP                  V n	        R V n
        VP                  P                  4        FH  w  r4W0P                  9   d   V P                  V,          pM^ ^ ^ ^ / 3p\        WT4      V P                  V&   KJ  	  EK~  	  V # N)reversedtyper   rd   rf   rg   rM   rj   rX   rh   re   rk   r   add_func_stats)rY   arg_listitemr   rz   old_func_stats   &*    r   rX   	Stats.add   s%   KX&DDzT$Z'T{JJ$**$J 0 00OOt.OMMT]]*M""4( '   4#4#44$($5$5! DM"jj..0
::%$(JJt$4M%&1a$5M#1-#F

4  1 '* r    c                    \        VR 4      ;_uu_ 4       p\        P                  ! V P                  V4       RRR4       R#   + '       g   i     R# ; i)wbN)rv   rw   dumprk   )rY   r&   r   s   && r   
dump_statsStats.dump_stats   s2    (D!!QLLQ' "!!!s   "AA	r"   r#   r%   r$   r&   r   r'   r   r   r   r   r(   r)   c                    V P                   '       g[   / ;V n         p/ pV P                  P                  4        F&  w  r4TpV'       g   K  WQ9   d   ^ W%&   K  WAV&   VRR pK!  	  V F  pW K  	  V P                   # )r   Nrb   )rl   sort_arg_dict_defaultr   )rY   rO   bad_listwordtupfragments   &     r   get_sort_arg_defsStats.get_sort_arg_defs   s    !!!(**DH!77==?	h'-.*%(N'}H @ !J !!!!r    c                   V'       g
   ^ V n         V # \        V4      ^8X  d8   \        V^ ,          \        4      '       d   R
R^ R^R^R/V^ ,          ,          .pMK\        V4      ^8  d<   VR,           F.  p\	        V4      \	        V^ ,          4      8w  g   K%  \        R4      h	  V P                  4       pRpRV n        RpV Fj  p\        V\        4      '       d   VP                  pWCV,          ^ ,          ,           pV ;P                  WSV,          ^,          ,           ,          un        RpKl  	  . pV P                  P                  4        F6  w  pw  rrpVP                  WW3V,           \        V4      V3,           4       K8  	  VP                  \        \!        V4      P"                  4      R	7       . ;V n         pV F  pVP                  VR
,          4       K  	  V # )r   r   r"   r(   r$   r   zCan't have mixed argument typer_   z, )keyrb   r!   )re   rV   ru   rD   r   r~   r   	sort_typer   r   rk   r   appendr   sortr   	TupleCompcompare)rY   fieldr[   sort_arg_defs
sort_tuple	connectorr   
stats_listr   r   r   r   r   r   re   tuples   &*              r   
sort_statsStats.sort_stats   s   DMKu:?z%(C88976<) */q3 5E Z1_Ryy9U1X.#$DEE ! ..0
	D$((zz#D&9!&<<JNNi*=a*@@@NI  
/3zz/?/?/A+D+227rr.5.t4d;< = 0B 	Jy'<'D'DEF#%%EOOE"I&  r    c                ^    V P                   '       d   V P                   P                  4        V # r   )re   reverserY   s   &r   reverse_orderStats.reverse_order  s     ===MM!!#r    c           	     $   V P                   p/ ;V n         p^ pVP                  4        F  w  pw  rVrxp	\        V4      p
\        \	        V
4      4      V8  d   \        \	        V
4      4      p/ pV	P                  4        F  w  rW\        V4      &   K  	  W9   d   \        W*,          WVWxV34      W*&   K  WVWxV3W*&   K  	  V P                  p\        4       ;V n        pV F  pVP                  \        V4      4       K  	  W0n	        RV n
        RV n        V # )r   N)rk   r   func_strip_pathrV   r   r   rj   ri   rX   rh   re   rc   )rY   oldstatsnewstatsrh   r   r   r   r   r   r   newfunc
newcallersfunc2callerold_topnew_tops   &               r   
strip_dirsStats.strip_dirs  s   :: ""
X/7~~/?+D+227%d+G?7+,|;"?7#;<J!(5;?512 "1 "$2(0(9)+(D%F! &(RZ$@! 0@ ..#&5(DKK-.  )r    c                    V P                   '       d   R # / ;V n         pV P                  P                  4        FB  w  pw  r4rVpW!9   g   / W&   VP                  4        F  w  rW9   g   / W&   WV,          V&   K  	  KD  	  R # r   )rc   rk   r   )
rY   rc   r   r   r   r   r   r   r   r   s
   &         r   calc_calleesStats.calc_callees3  s    )++;/3zz/?/?/A+D+227&$&!!(+)+K&,2E"4( "1 0B 	r    c                   Tp\        V\        4      '       dW    \        P                  ! V4      p. pT F6  pTP                  \        T4      4      '       g   K%  TP                  T4       K8  	  M\        V4      p\        V\        4      '       d1   RTu;8:  d   R8  d"   M M\        Wq,          R,           4      pVRV pM/\        V\        4      '       d   ^ Tu;8:  d   V8  d   M MTpVRV p\        V4      \        V4      8w  d)   VR\        V4      : R\        V4      : RV: R2,          pWC3#   \        P                   d    TR T,          ,          pYC3u # i ; i)	z#   <Invalid regular expression %r>
g        g      ?g      ?Nz   List reduced from z to z due to restriction <z>
)ru   r   recompilePatternErrorsearchr   r   rV   rC   rD   )rY   sellistmsgnew_listrexr   counts   &&&&    r   eval_print_amountStats.eval_print_amountF  s%   c3%jjo H::od344OOD)  IE#u%%#*:s*:EK",-<C%%!s*:U*:<t9H%D	3x=#/ /C }' ?? %=CC}$%s   D3 3(EEc           
        V P                   '       d   V P                   R ,          M"\        V P                  P                  4       4      pV'       g   \	        ^ / 4      # \        \        V P                  4      4      p/ p\	        W#4      pV F  pV P                  V,          w  rgrp
Vw  rpWv8X  d   \        V4      M!\        V4      R,           \        V4      ,           p\        \        V4      4      pV^ 8X  d   RM\        \        W,          4      4      p\        \        V	4      4      pV^ 8X  d   RM\        \        W,          4      4      p\        VVVVVVV4      pVW=&   K  	  V# )NNN/rb   )
re   r   rk   keysr
   rC   f8rM   r   r	   )rY   	func_listrM   rN   stats_profiler   r   r   r   r   r   rA   rB   	func_namer#   r)   r?   r%   r@   func_profiles   &                   r   get_stats_profileStats.get_stats_profile`  s"    )-DMM!$4

@Q;R	2&&DMM*+$X=D&*jj&6#BBG04-II "SWs2w}s2w/FFBrFmG$&!Gbr"%y1AOBrFmG$&!Gbr"%y1AO*L (4M$# & r    c                6   V P                   pV P                  '       d/   V P                  R ,          pRV P                  ,           R,           pM%\        V P                  P                  4       4      pRpV F  pV P                  WSV4      w  r4K  	  \        V4      pV'       g   ^ V3# \        W@P                  R7       V\        V P                  4      8  d;   ^ pV F2  p\        \        V4      4      V8  g   K  \        \        V4      4      pK4  	  V^,           V3# )r   z   Ordered by: 
z!   Random listing order was used
r`   )rh   re   r   r   rk   r   r   rV   rp   rR   r   )rY   sel_listwidth	stat_listr   	selectionr   r   s   &&      r   get_print_listStats.get_print_list  s    !!===a(I#dnn4t;CTZZ__./I6C!I!33I#NNIs " Ii<c$3tzz?"E!-.6 56E " Qw	!!r    c                @   V P                    F  p\        W P                  R 7       K  	  V P                   '       d   \        V P                  R 7       RpV P                   F$  p\        V\	        V4      V P                  R 7       K&  	  \        W0P
                  RRV P                  R7       V P
                  V P                  8w  d*   \        RV P                  ,          RV P                  R7       \        RV P                  ,          V P                  R 7       \        V P                  R 7       V P                  V4      w  rVV'       dW   V P                  4        V F  pV P                  V4       K  	  \        V P                  R 7       \        V P                  R 7       V # )r`    zfunction callsendra   z(%d primitive calls)zin %.3f seconds        )rd   rp   rR   rj   func_get_function_namerf   rg   rM   r   print_title
print_line)rY   amountr&   indentr   r   r   s   &*     r   print_statsStats.print_stats  s   

H(- #:::t{{#NND&06T[[I # 	f&&(8cTt.(4??:$++V$--/dkkB4;;))&1% t{{#t{{#r    c                x   V P                  V4      w  r#V'       d   V P                  4        V P                  VR 4       V FJ  pW@P                  9   d&   V P	                  W$V P                  V,          4       K8  V P	                  W$/ 4       KL  	  \        V P                  R7       \        V P                  R7       V # )z	called...r`   )r   r   print_call_headingrc   print_call_linerp   rR   )rY   r   r   r   r   s   &*   r   print_calleesStats.print_callees  s    ))&1##E;7+++((d6F6Ft6LM((b9	 
 t{{#t{{#r    c                   V P                  V4      w  r#V'       dr   V P                  VR 4       V F-  pV P                  V,          w  rVrxp	V P                  W$V	R4       K/  	  \	        V P
                  R7       \	        V P
                  R7       V # )zwas called by...z<-r`   )r   r   rk   r   rp   rR   )
rY   r   r   r   r   r   r   r   r   r   s
   &*        r   print_callersStats.print_callers  sx    ))&1##E+=>*.**T*:'$$U'4@  t{{#t{{#r    c                   \        R P                  V4      V,           V P                  R7       RpV P                  P	                  4        FC  w  rErgpV'       g   K  \        \        VP	                  4       4      4      p	\        V	\        4      p M	  V'       d(   \        RV,          R,           V P                  R7       R# R# )z	Function r`   Fr   z    ncalls  tottime  cumtimeN)	rp   ljustrR   rk   r   nextiterru   r   )
rY   	name_sizecolumn_title	subheaderr   r   r   r   r   r   s
   &&&       r   r   Stats.print_call_heading  s    k	*\9L	'+zz'8'8':#BBGwT'.."234&ue4		 (;
 #i-"@@t{{S r    c           	        \        \        V4      P                  V4      V,           R V P                  R7       V'       g   \        V P                  R7       R# \	        VP                  4       4      pRpV F  p\        V4      pW7,          p	\        V	\        4      '       dt   V	w  rrW8w  d   RW3,          pM
RV
3,          pVP                  ^^\        V4      ,          ,           4      : R \        V4      : R \        V4      : RV: 2pV^,           pM7V: RV	: R	\        V P                  V,          ^,          4      : 2pV^,           p\        Wo,          V,           V P                  R7       R pK  	  R# )
r   r   r`   Nr_   z%d/%dz%dz  (z) )rp   r   r   rR   sortedr   ru   r   rjustrV   r   rk   )rY   r   source	call_dictarrowclistr   r   r   r   r   r   r   r   substats
left_widths   &&&&&           r   r   Stats.print_call_line  s   of%++I6>CdkkZt{{#y~~'(D"4(DOE%''!&8&"1H#re|H-5^^AaFmO-L-/VRVTC&]
*.r$**T:J1:M7NO&]
&#h.T[[AF! r    c                d    \        R RV P                  R7       \        RV P                  R7       R# )z-   ncalls  tottime  percall  cumtime  percallr   r   zfilename:lineno(function)r`   Nrp   rR   r   s   &r   r   Stats.print_title  s"    =3T[[Y)<r    c                   V P                   V,          w  r#rEp\        V4      pW28w  d   VR ,           \        V4      ,           p\        VP                  ^	4      RV P                  R7       \        \        V4      RV P                  R7       V^ 8X  d   \        RRV P                  R7       M'\        \        WC,          4      RV P                  R7       \        \        V4      RV P                  R7       V^ 8X  d   \        RRV P                  R7       M'\        \        WR,          4      RV P                  R7       \        \        V4      V P                  R7       R# )r   r   r   r`   Nr   )rk   r   rp   r  rR   r   r   )rY   r   r   r   r   r   r   cs   &&      r   r   Stats.print_line  s    "&**T"2G8C#b'!Aaggajc4bf#DKK07%St{{3"RU)4;;7bf#DKK07%St{{3"RU)4;;7od#$++6r    )rc   re   rd   rh   rg   rl   r   rk   rR   rj   rf   rM   )))r   rb   z
call count)))   rb   zcumulative time))   r   z	file name))   r   zline number))   r   zfunction name))r  r  r  zname/file/line)))r   rb   zprimitive call count)))   r   zstandard name)))r>   rb   zinternal time)z->)r*   r+   r,   r-   r\   rW   rm   rn   rX   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r8   r9   s   @r   r   r   I   s     DT &,?4( CCHHBDBFGMFFF ""%N
:&4!F"0.	
T2=7 7r    c                   ,   a  ] tR tRt o R tR tRtV tR# )r   i  c                    Wn         R # r   comp_select_list)rY   r   s   &&r   r\   TupleComp.__init__  s     0r    c                z    V P                    F*  w  r4W,          pW#,          pWV8  d   V) u # WV8  g   K(  Vu # 	  ^ # r   r  )rY   leftrightindex	directionlrs   &&&    r   r   TupleComp.compare  s@     $ 5 5EAAu!z!u   !6 r    r  N)r*   r+   r,   r-   r\   r   r7   r8   r9   s   @r   r   r     s     1 r    r   c                 N    V w  rp\         P                  P                  V4      W#3# r   )ry   pathbasename)r   r&   r   r   s   &   r   r   r      s&    $HD77H%t11r    c                     V ^,          # )r>   r!   )r   s   &r   r   r   $  s    7Nr    c                     V R ,          R8X  dF   V ^,          pVP                  R4      '       d$   VP                  R4      '       d   RV^R ,          # V# RV ,          # ):Nr>   N<>z{%s}z	%s:%d(%s))~r   rb   )
startswithendswith)r   r   s   & r   r   r   '  sU    } |??3DMM#$6$6D2J&&KY&&r    c                 j    Vw  r#rEpV w  rxrpW',           W8,           WI,           WZ,           \        W4      3# r   )add_callers)targetr  r   r   r   r   r   t_cct_nct_ttt_ct	t_callerss   &&          r   r   r   8  s=    $BBG(.%DIGRWbgrw)-/ /r    c           	         / pV P                  4        F	  w  r4WBV&   K  	  VP                  4        F  w  r4W29   d}   \        V\        4      '       dQ   \        ;QJ d$    . R  \        WBV,          4       4       F  NK  	  5M! R  \        WBV,          4       4       4      W#&   Kq  W#;;,          V,          uu&   K  WBV&   K  	  V# )c              3   6   "   T F  w  rW,           x  K  	  R # 5ir   r!   ).0ijs   &  r   	<genexpr>add_callers.<locals>.<genexpr>H  s     )[<ZDA!%%<Zs   )r   ru   r   zip)r7  r  new_callersr   r   s   &&   r   r6  r6  ?  s    K"D '&%(($)E)[CTXHY<Z)[EE)[CTXHY<Z)[$[! !V+! & ' r    c                 H    ^ pV P                  4        F  pW,          pK  	  V# r#  )r   )r   r   r"   s   &  r   count_callsrG  P  s$    	
B!
 "Ir    c                     R V ,          # )z%8.3fr!   )xs   &r   r   r   [  s    Q;r    __main__c                      a  ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )ProfileBrowserii  Nc                    \         P                  P                  V 4       R V n        RV n        \
        P                  V n        Ve   V P                  V4       R# R# )% N)	cmdCmdr\   promptrk   rT   rU   rR   do_read)rY   profiles   &&r   r\   ProfileBrowser.__init__j  sD    GGT"DKDJ**DK"W% #r    c                   VP                  4       p. pV F  p VP                  \        V4      4       K   	  V P                  '       d   \        V P                  V4      ! V!   ^ # \        RV P                  R7       ^ #   \         d     Mi ; i \	        T4      pT^8  g   T^ 8  d   \        RT P                  R7       K  TP                  T4       K    \         d     Mi ; iTP                  T4       K  )r   z#Fraction argument must be in [0, 1]r`   No statistics object is loaded.)	splitr   rD   
ValueErrorrC   rp   rR   rk   getattr)rY   fnr   rZ   	processedtermfracs   &&&    r   genericProfileBrowser.genericr  s    ::<DI$$SY/   zzz

B'3  7dkkJ! "  ;Dax4!8C$++V $$T*!   &s)   A>>BB0CCC#"C#c                   \        R V P                  R7       \        RV P                  R7       \        RV P                  R7       \        RV P                  R7       \        RV P                  R7       \        RV P                  R7       R# )zArguments may be:r`   z0* An integer maximum number of entries to print.z:* A decimal fractional number between 0 and 1, controllingz-  what fraction of selected entries to print.z8* A regular expression; only entries with function namesz  that match it are printed.Nr  r   s   &r   generic_helpProfileBrowser.generic_help  sb    %DKK8D4;;WNUYU`U`aATLSWS^S^_0t{{Cr    c                   V P                   '       d    V P                   P                  V4       ^ # \        RV P                  R7       ^ #   \         d+   p\        R T: RT: 2T P                  R7        Rp?^ # Rp?ii ; i)zFailed to load statistics for z: r`   NrV  )rk   rX   OSErrorrp   rR   )rY   r   es   && r   do_addProfileBrowser.do_add  sl    zzz`JJNN4(
  7dkkJ	  `D!LSWS^S^__ 	`s   A
 
A?A::A?c                4    \        R V P                  R7       R# )z>Add profile info from given file to current statistics object.r`   Nr  r   s   &r   help_addProfileBrowser.help_add  s    RY]YdYder    c                &    V P                  R V4      # )r   r^  rY   r   s   &&r   
do_calleesProfileBrowser.do_callees      <<66r    c                T    \        R V P                  R7       V P                  4        R# )z6Print callees statistics from the current stat object.r`   Nrp   rR   ra  r   s   &r   help_calleesProfileBrowser.help_callees       JQUQ\Q\]r    c                &    V P                  R V4      # )r   rl  rm  s   &&r   
do_callersProfileBrowser.do_callers  rp  r    c                T    \        R V P                  R7       V P                  4        R# )z6Print callers statistics from the current stat object.r`   Nrr  r   s   &r   help_callersProfileBrowser.help_callers  ru  r    c                4    \        R V P                  R7       ^# )r_   r`   r  rm  s   &&r   do_EOFProfileBrowser.do_EOF  s    "4;;'r    c                4    \        R V P                  R7       R# zLeave the profile browser.r`   Nr  r   s   &r   help_EOFProfileBrowser.help_EOF      .T[[Ar    c                    ^# )r   r!   rm  s   &&r   do_quitProfileBrowser.do_quit  s    r    c                4    \        R V P                  R7       R# r  r  r   s   &r   	help_quitProfileBrowser.help_quit  r  r    c                   V'       d"    \        V4      V n        TR,           T n	        ^ # \        V P                  4      ^8  d#   V P                  RR pV P                  V4       ^ # \        RV P
                  R7       ^ #   \         d4   p\        TP                  ^,          T P
                  R7        Rp?R# Rp?i\         d>   p\        TP                  P                  R,           Y P
                  R7        Rp?R# Rp?ii ; i)r   r`   N:rN  z1No statistics object is current -- cannot reload.)r   rk   rd  rp   rZ   rR   ro   r   r*   rQ  rV   rR  )rY   r   errs   && r   rR  ProfileBrowser.do_read  s    !&tDJ #Tk  T[[!A%{{3B'T"  IPTP[P[\  #((1+DKK8  #--0036++Ns)   A? ?D
(B88DD2C>>Dc                b    \        R V P                  R7       \        RV P                  R7       R# )z+Read in profile data from a specified file.r`   z*Without argument, reload the current file.Nr  r   s   &r   	help_readProfileBrowser.help_read  s     ?dkkR>T[[Qr    c                    V P                   '       d   V P                   P                  4        ^ # \        R V P                  R7       ^ # )rV  r`   )rk   r   rp   rR   rm  s   &&r   
do_reverseProfileBrowser.do_reverse  s4    zzz

((*  7dkkJr    c                4    \        R V P                  R7       R# )z/Reverse the sort order of the profiling report.r`   Nr  r   s   &r   help_reverseProfileBrowser.help_reverse  s    C$++Vr    c                t  a V P                   '       g   \        R V P                  R7       R# V P                   P                  4       oV'       d   \        ;QJ d-    V3R lVP                  4        4       F  '       d   K   RM"	  RM! V3R lVP                  4        4       4      '       d+   V P                   P                  ! VP                  4       !   ^ # \        RV P                  R7       \        P                  P                  4        F*  w  r#\        V: RV^,          : 2V P                  R7       K,  	  ^ # )rV  r`   Nc              3   ,   <"   T F	  qS9   x  K  	  R # 5ir   r!   )r?  rI  abbrevss   & r   rB  )ProfileBrowser.do_sort.<locals>.<genexpr>  s     ALq'\Ls   FTz/Valid sort keys (unique prefixes are accepted):z -- )
rk   rp   rR   r   allrW  r   r   r   r   )rY   r   r   r   r  s   &&  @r   do_sortProfileBrowser.do_sort  s    :::7dkkJjj224GADJJLAADJJLAAA

%%tzz|4
  GdkkZ$)$?$?$E$E$GLSU1X6T[[I %Hr    c                b    \        R V P                  R7       \        RV P                  R7       R# )z.Sort profile data according to specified keys.r`   z3(Typing `sort' without arguments lists valid keys.)Nr  r   s   &r   	help_sortProfileBrowser.help_sort  s     BUGdkkZr    c                |    \         P                   Uu. uF  q3P                  V4      '       g   K  VNK  	  up# u upi r   )r   r   r3  )rY   textrZ   as   &&* r   complete_sortProfileBrowser.complete_sort  s-    $::Q:!ll4>PAA:QQQs   99c                &    V P                  R V4      # )r   rl  rm  s   &&r   do_statsProfileBrowser.do_stats  s    <<t44r    c                T    \        R V P                  R7       V P                  4        R# )z.Print statistics from the current stat object.r`   Nrr  r   s   &r   
help_statsProfileBrowser.help_stats  s    BUr    c                    V P                   '       d   V P                   P                  4        R# \        R V P                  R7       R# )rV  r`   N)rk   r   rp   rR   rm  s   &&r   do_stripProfileBrowser.do_strip  s*    zzz

%%'7dkkJr    c                4    \        R V P                  R7       R# )z<Strip leading path information from filenames in the report.r`   Nr  r   s   &r   
help_stripProfileBrowser.help_strip  s    PW[WbWbcr    c                4    \        R V P                  R7       R# )zShow help for a given command.r`   Nr  r   s   &r   	help_helpProfileBrowser.help_help  s    2Er    c                    V'       d   V# R # r   r!   )rY   stopr   s   &&&r   postcmdProfileBrowser.postcmd  s    r    )rQ  rk   rR   r   ) r*   r+   r,   r-   r\   r^  ra  rf  ri  rn  rs  rw  rz  r}  r  r  r  rR  r  r  r  r  r  r  r  r  r  r  r  r  r7   r8   r9   s   @r   rL  rL  i  s     	&	0	D		f	7	 	7	 		B		B	"	R		W		[	R	5	 	K
	d	F	 	r    rL  :r>   NNz*Welcome to the profile statistics browser.r`   zGoodbye.)r   r   r	   r
   ))rT   ry   r(   rw   r   enumr   r   	functoolsr   dataclassesr   __all__r   r	   r
   r   r   r   r   r   r   r6  rG  r   r*   rO  readlineImportErrorrP  rL  rV   argvinitprofilebrowserrS  rf  rp   rR   cmdloopKeyboardInterruptr!   r    r   <module>r     s  .  	   	 &   !
Ag  * t   t. . .
|7 |7| 22	'"/" zP Pd 388}qhhqk -xx||GNN7# $:Pjw~~.G   @  s%   #E *A+E& E#"E#&E10E1