
     hBT                    L   % S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSKrSSKrSSKrSSKrSSKJrJrJr  SSKJrJrJrJrJr  SSKJrJr  SSKJrJ r   \" \
5      r
/ r!S\"S	'   Sr# " S
 S5      r$ " S S\$5      r% " S S\%5      r&S3S jr'S4S jr(        S5S jr)S6S jr*S/r+S\"S'   / r,S\"S'   \S7S j5       r-\S8S j5       r-S9S jr-S7S jr.    S:         S;S jjr/S<S=S jjr0S>S?S jjr1S@S jr2SAS  jr3S!1r4SBS" jr5SCS# jr6SDS$ jr7SES% jr8 " S& S'5      r9 " S( S)5      r: " S* S+5      r; " S, S-5      r<SFSGS. jjr=  SH       SIS/ jjr>SJS0 jr?\	R                  " 5       rA\	R                  " 5       rBS!rC   SK       SLS1 jjrDSMS2 jrEg)Nz'Control of and utilities for debugging.    )annotationsN)IterableIteratorMapping)IOAnyCallableFinaloverload)human_sorted_itemsisolate_module)AnyCallable	TWritablez	list[str]FORCED_DEBUGc                      \ rS rSrSrSr S       SS jjrSS jrSS jr\	R                  SS j5       rSS	.SS
 jjrSrg)DebugControl&   z!Control and output for debugging.FNc                .   [        U5      [        -   U l        SU l        / nU R	                  S5      (       aF  UR                  [        5       R                  5        UR                  [        5       R                  5        U R	                  S5      (       a#  UR                  [        5       R                  5        U R	                  S5      (       a  UR                  [        5        [        R                  UUUS9U l        U R                  R                  U l        g)z4Configure the options and output file for debugging.Fprocesspytestpid)	file_namefiltersN)listr   optionssuppress_callersshouldappend
CwdTrackerfilterProcessTrackerPytestTrackeradd_pid_and_tidDebugOutputFileget_oneoutputoutfile
raw_output)selfr   r&   r   r   s        l/root/racknerd_01/codex-conversation/amazon-q-terraform/.venv/lib/python3.13/site-packages/coverage/debug.py__init__DebugControl.__init__+   s     G}|3 %;;y!!NN:<../NN>+223;;x  NN=?112;;uNN?+%-- . 

 ++--    c                @    SU R                   < SU R                  < S3$ )Nz<DebugControl options=z raw_output=>)r   r(   r)   s    r*   __repr__DebugControl.__repr__E   s"    ''7|DOOCVVWXXr-   c                N    US:X  a  U R                   (       a  gXR                  ;   $ )z@Decide whether to output debug information in category `option`.callersF)r   r   r)   options     r*   r   DebugControl.shouldH   s"    Y4#8#8%%r-   c              #  ^   #    U R                   nSU l          Sv   Xl         g! Xl         f = f7f)z;A context manager to prevent call stacks from being logged.TN)r   )r)   olds     r*   without_callersDebugControl.without_callersN   s.      ## $	($'!C!s   -" -*-excc          	     :   U R                   R                  US-   5        UbI  U R                   R                  SR                  [        R                  " SX"R
                  5      5      5        U R                  S5      (       aW  [        R                  " 5       S   S   R                  R                  S5      nUb   U R                   R                  SU< S35        U R                  S5      (       a  [        U R                   SS	9  U R                   R                  5         g)
zWrite a line of debug output.

`msg` is the line to write. A newline will be appended.

If `exc` is provided, a stack trace of the exception will be written
after the message.


N r)      r   zself: r4   outskip)r&   writejoin	tracebackformat_exception__traceback__r   inspectstackf_localsgetdump_stack_framesflush)r)   msgr=   caller_selfs       r*   rE   DebugControl.writeX   s     	#*%?KKbggi&@&@sL]L]&^_`;;v!--/!,Q/88<<VDK&!!F;/"<=;;y!!$++A6r-   )r   r&   r(   r   N)r   Iterable[str]r&   IO[str] | Noner   
str | NonereturnNone)rW   strr6   rY   rW   boolrW   zIterator[None]rP   rY   r=   zBaseException | NonerW   rX   )__name__
__module____qualname____firstlineno____doc__show_repr_attrr+   r1   r   
contextlibcontextmanagerr:   rE   __static_attributes__ r-   r*   r   r   &   so    +N !%	.. . 	.
 
.4Y& ( ( >B  r-   r   c                  f    \ rS rSrSrS
S jrSS jr\R                  SS j5       r	SS.SS jjr
S	rg)NoDebuggingm   zBA replacement for DebugControl that will never try to do anything.c                    g rS   rg   r0   s    r*   r+   NoDebugging.__init__p   s    r-   c                    g)z'Should we write debug messages?  Never.Frg   r5   s     r*   r   NoDebugging.shouldt   s    r-   c              #     #    Sv   g7f)z+A dummy context manager to satisfy the api.Nrg   r0   s    r*   r:   NoDebugging.without_callersx   s
      	s   Nr<   c                   [        S5      e)zThis will never be called.z)NoDebugging.write should never be called.)AssertionErrorr)   rP   r=   s      r*   rE   NoDebugging.write}   s    HIIr-   rg   rW   rX   rZ   r\   r]   )r^   r_   r`   ra   rb   r+   r   rd   re   r:   rE   rf   rg   r-   r*   ri   ri   m   s;    L   >B J Jr-   ri   c                  *    \ rS rSrSrSS.SS jjrSrg)DevNullDebug   z)A DebugControl that won't write anywhere.Nr<   c                   g rS   rg   rs   s      r*   rE   DevNullDebug.write   s    r-   rg   r]   )r^   r_   r`   ra   rb   rE   rf   rg   r-   r*   rw   rw      s    3=A  r-   rw   c                0    SR                  SU -   S-   5      $ )zMake a nice header string.z
--{:-<60s} format)labels    r*   info_headerr      s    sU{S011r-   c              #    ^#    [        U 5      n U (       d  gSm[        U4S jU  5       5      (       d   eU  H  u  pU/ :X  a  SnUST 3 S3nU=[        S` =b%  u   [        [	        U5      5      S:  a    U U 3v   MG    =[        S` =b  u   O!  =[         S` =b  u   O  =[
        S` =b  u   O    O  U H  nU U 3v   STS	-   -  nM     M   U U 3v   M     g7f)
zProduce a sequence of formatted lines from info.

`info` is a sequence of pairs (label, data).  The produced lines are
nicely formatted, ready to print.

N   c              3  D   >#    U  H  u  p[        U5      T:  v   M     g 7frS   len).0l_	LABEL_LENs      r*   	<genexpr>!info_formatter.<locals>.<genexpr>   s     3ddas1v	!ds    z-none-r/   : rg   r|      )r   alltupler   rY   set)infor   dataprefixer   s        @r*   info_formatterr      s      :DI3d333332:D!I;'r*CD	NR/'' 6466ECEE)A#HQC.( IM2F  '' s   CCc                `    U " [        U5      5        [        U5       H  nU " SU 35        M     g)a  Write a sequence of (label,data) pairs nicely.

`write` is a function write(str) that accepts each line of output.
`header` is a string to start the section.  `info` is a sequence of
(label, data) pairs, where label is a str, and data can be a single
value, or a list/set/tuple.

r|   N)r   r   )rE   headerr   lines       r*   write_formatted_infor      s.     
+f
t$$j %r-   c                r    [         R                  " [        U 5      U 5      nSR                  S U 5       5      $ )zIGet a one-line summary of an exception, including class name and message.|c              3  @   #    U  H  oR                  5       v   M     g 7frS   )rstrip)r   r   s     r*   r   exc_one_line.<locals>.<genexpr>   s     .1HHJJ   )rG   format_exception_onlytyperF   )r=   liness     r*   exc_one_liner      s-    ++DIs;E88....r-   )z5.*[/\\]pytest-of-.*[/\\]pytest-\d+([/\\]popen-gw\d+)?ztmp:list[tuple[str, str]]_FILENAME_REGEXES_FILENAME_SUBSc                    g rS   rg   filenames    r*   short_filenamer          r-   c                    g rS   rg   r   s    r*   r   r      r   r-   c                   [         (       d  [        R                   H  n[         R                  US45        M     SSKn[         R                  [
        R                  R                  UR                  5      S45        [         R                  S SS9  U bF  [         H  u  p4[        R                  " X4U 5      n M     [          H  u  pVU R                  XV5      n M     U $ )zIShorten a file name. Directories are replaced by prefixes like 'syspath:'zsyspath:r   Nzcov:c                    [        U S   5      $ Nr   r   )pairs    r*   <lambda> short_filename.<locals>.<lambda>   s    c$q'lr-   T)keyreverse)r   syspathr   coverageosdirname__file__sortr   resubreplace)r   pathdirr   patr   beforeafters          r*   r   r      s    >xxG!!7J"78  rwwx/@/@A6JK!:TJ)HCvvc1H *+MF''6H ,Or-   c                     [         R                  " U 5      n[        R                  R                  UR                  5      nUR
                   SU 3nU$ ! [         a    Sn U$ [         a  nSU 3n SnAU$ SnAff = f)z/A one-line summary of a file, for log messages.z bytes, modified zdoes not existzerror: N)r   statdatetimefromtimestampst_mtimest_sizeFileNotFoundError	Exception)r   smodsummaryr   s        r*   file_summaryr      s    7GGH --ajj9YYK06N  #" N   A3- N s   A A<#	A<,A77A<c                   / SQn[         R                  " 5       SU S2   nU(       d$  U H  n[        R                  " U4S jU5      nM      / nU Hx  nUR                  S S3n	U(       a  U	[        UR                  5      S S3-  n	UR                  n
U(       a  [        U
5      n
X S	UR                   3-  n	UR                  U	5        Mz     S
R                  U5      $ )a&  Return a string summarizing the call stack.

The string is multi-line, with one line per stack frame. Each line shows
the function name, the file name, and the line number:

    ...
    start_import_stop : /Users/ned/coverage/trunk/tests/coveragetest.py:95
    import_local_file : /Users/ned/coverage/trunk/tests/coveragetest.py:81
    import_local_file : /Users/ned/coverage/trunk/coverage/backward.py:159
    ...

`skip` is the number of closest immediate frames to skip, so that debugging
functions can call this and not be included in the result.

If `full` is true, then include all frames.  Otherwise, initial "boring"
frames (ones in site-packages and earlier) are omitted.

`short_filenames` will shorten filenames using `short_filename`, to reduce
the amount of repetitive noise in stack traces.

)z<string>z
\bigor.py$z\bsite-packages\bNc                B    [         R                  " XR                  5      $ rS   )r   searchr   )fir   s     r*   r   short_stack.<locals>.<lambda>  s    RYYsKK%@r-   z>30sz : z#xr|   :r?   )rJ   rK   	itertools	dropwhilefunctionidframer   r   linenor   rF   )rD   full	frame_idsshort_filenamesBORING_PRELUDErK   r   r   
frame_infor   r   s              r*   short_stackr      s    :N *1$r)BE!C'' #@E "
 E
%%d+3/r***+B/q11D&&%h/H*Aj//011T  99Ur-   c                @    U R                  [        US-   S9S-   5        g)z&Print a summary of the stack to `out`.rA   )rD   r?   N)rE   r   rB   s     r*   rN   rN   (  s    IIktax(4/0r-   c                Z    [         R                  " 5       nXl        UR                  U 5      $ )z(`repr(text)`, but limited to `numchars`.)reprlibRepr	maxstringrepr)textnumcharsrs      r*   clipped_reprr   -  s     AK66$<r-   c                F    Sn[        SSS5       H
  nXU-	  -  nM     US-  $ )z-Given a 64-bit id, make a shorter 16-bit one.r   @      i  )range)id64id16offsets      r*   short_idr   4  s0    D2r" #&=r-   c                    [        [        R                  " 5       5      S n[        R                  " 5       S SU SU  3n U $ )z.A filter to add pid and tid to debug messages.04x5d.r   )r   _thread	get_identr   getpid)r   tids     r*   r#   r#   <  s@     g'')*3/Ciik"Qse2dV,DKr-   z$coverage.object_idc                    S U R                   R                  5        5       nSR                  U R                  R                  [        U 5      SR                  S U 5       5      S9$ )z<A function implementing an automatic __repr__ for debugging.c              3     #    U  HG  u  p[        US S5      (       d  M  [        R                  " U5      (       a  M6  U[        ;  d  MB  X4v   MI     g7f)rc   TN)getattrrJ   ismethodAUTO_REPR_IGNOREr   kvs      r*   r   auto_repr.<locals>.<genexpr>I  sO      )DA1&- 	   # 	 %%	 	)s   AAA
Az<{klass} @{id:#x}{attrs}>r@   c              3  8   #    U  H  u  pS U SU< 3v   M     g7f)r|   =Nrg   r  s      r*   r   r  S  s     ;
!AaUm
   )klassr   attrs)__dict__itemsr~   	__class__r^   r   rF   )r)   
show_attrss     r*   	auto_reprr  G  s^    MM'')J '--nn%%d8gg;
;; .  r-   c                   [        U [        5      (       a/  U R                  5        VVs0 s H  u  pU[        U5      _M     snn$ [        U [        [
        45      (       a  [        U 5      " S U  5       5      $ [        U S5      (       a<  [        U R                  R                  5        VV s0 s H  u  pSU-   U _M     sn n5      $ U $ s  snnf s  sn nf )z>Turn things which are nearly dict/list/etc into dict/list/etc.c              3  8   #    U  H  n[        U5      v   M     g 7frS   )simplify)r   vvs     r*   r   simplify.<locals>.<genexpr>\  s     0ax||ar  r
  r   )	
isinstancedictr  r  r   r   r   hasattrr
  )r  r  r  s      r*   r  r  W  s    !T-.WWY7YEA8B<Y77	Ae}	%	%Aw0a000	J		

0@0@0BC0Bq!0BCDD 8 Ds   C+C
c                B    [         R                   " [        U 5      5        g)zEDebug helper to pretty-print data, including SimpleNamespace objects.N)pprintr  )r  s    r*   ppr  c  s     MM(1+r-   c                    U R                  5       nU [        U5      S nUn U HR  n/ nU R                  5        H(  nUR                  U" U5      R                  5       5        M*     SR	                  U5      n MT     X-   $ )a9  Run `text` through a series of filters.

`filters` is a list of functions. Each takes a string and returns a
string.  Each is run in turn. After each filter, the text is split into
lines, and each line is passed through the next filter.

Returns: the final string that results after all of the filters have
run.

Nr?   )r   r   
splitlinesextendrF   )r   r   
clean_textending	filter_fnr   r   s          r*   filter_textr   i  sv     J#j/#$FD	OO%DLL43356 &yy	 
 =r-   c                  ,    \ rS rSrSrSS jrSS jrSrg)	r   i  z*A class to add cwd info to debug messages.c                    S U l         g rS   cwdr0   s    r*   r+   CwdTracker.__init__  s	    #r-   c                l    [         R                  " 5       nX R                  :w  a  SU< SU 3nX l        U$ )z#Add a cwd message for each new cwd.zcwd is now r?   )r   getcwdr$  )r)   r   r$  s      r*   r    CwdTracker.filter  s2    iik((? r$0DHr-   r#  Nru   r   rY   rW   rY   r^   r_   r`   ra   rb   r+   r    rf   rg   r-   r*   r   r     s    4$r-   r   c                  ,    \ rS rSrSrSS jrSS jrSrg)	r!   i  z)Track process creation for debug logging.c                F    [         R                  " 5       U l        SU l        g )NF)r   r   r   did_welcomer0   s    r*   r+   ProcessTracker.__init__  s    		 r-   c                h   Sn[         R                  " 5       nU R                  U:w  a  SU R                   SU S3nX0l        O^U R                  (       dM  [	        [
        SS5      nSU< S[
        R                  < S3S	U< S3-   S
[         R                  " 5       < S3-   nU(       a  SU l        X!-   $ U$ )z1Add a message about how new processes came to be.r@   zNew process: forked z -> r?   argvNzNew process: pid=z, executable: zNew process: cmd: zNew process parent pid: T)r   r   r   r-  r   r   
executablegetppid)r)   r   welcomer   r0  s        r*   r    ProcessTracker.filter  s    iik88s?,TXXJd3%rBGH!!3-D$v^CNN3ERH&thb12,RZZ\,<B?@  #D>!Kr-   )r-  r   Nru   r)  r*  rg   r-   r*   r!   r!     s    3!r-   r!   c                  ,    \ rS rSrSrSS jrSS jrSrg)	r"   i  z<Track the current pytest test name to add to debug messages.c                    S U l         g rS   	test_namer0   s    r*   r+   PytestTracker.__init__  s	    %)r-   c                l    [         R                  " S5      nX R                  :w  a  SU SU 3nX l        U$ )z+Add a message when the pytest test changes.PYTEST_CURRENT_TESTzPytest context: r?   )r   getenvr8  )r)   r   r8  s      r*   r    PytestTracker.filter  s7    II34	&%i[4&9D&Nr-   r7  Nru   r)  r*  rg   r-   r*   r"   r"     s    F*r-   r"   c                      \ rS rSr% Sr    SS jr\    S         SS jj5       rSrS\	S'   S	r
S\	S
'   \SS j5       r\SS j5       r\SS j5       rSS jrSS jrSrg)r$   i  z9A file-like object that includes pid and cwd information.c                d    Xl         [        U5      U l        [        R                  " 5       U l        g rS   )r'   r   r   r   r   r   )r)   r'   r   s      r*   r+   DebugOutputFile.__init__  s!    
 G}99;r-   Nc                   Ub  U " X5      $ U R                  5       u  pVUb  U(       a  Ub  [        USSS9nOu[        R                  " S[        5      nUS;   a  [        [        U5      nOCU(       a,  [        USSS9n[        R                  " UR                  5        O[        R                  nU " X5      nU R                  XT5        UR                  (       d  [        U5      Ul        U$ )a  Get a DebugOutputFile.

If `fileobj` is provided, then a new DebugOutputFile is made with it.

If `fileobj` isn't provided, then a file is chosen (`file_name` if
provided, or COVERAGE_DEBUG_FILE, or stderr), and a process-wide
singleton DebugOutputFile is made.

`filters` are the text filters to apply to the stream to annotate with
pids, etc.

If `interim` is true, then a future `get_one` can replace this one.

azutf-8)encodingCOVERAGE_DEBUG_FILE)stdoutstderr)_get_singleton_dataopenr   r<  FORCED_DEBUG_FILEr   r   atexitregistercloserF  _set_singleton_datar   r   )clsfileobjr   r   interimthe_one
is_interims          r*   r%   DebugOutputFile.get_one  s    , w((!557?j$y#@ II&;=NO	 44%c95G"9cGDGOOGMM2!jjG'+G##G5"7mGOr-   z'$coverage.debug.DebugOutputFile.the_onez
Final[str]SYS_MOD_NAMEthe_one_and_is_interimSINGLETON_ATTRc                    [         R                  " U R                  5      n[        X0R                  X45        U[
        R                  U R                  '   g)z-Set the one DebugOutputFile to rule them all.N)types
ModuleTyperT  setattrrV  r   modules)rN  rQ  rP  singleton_modules       r*   rM  #DebugOutputFile._set_singleton_data  sC     !++C,<,<= "4"4w6HI(8C$$%r-   c                    [         R                  R                  U R                  5      n[	        XR
                  S5      $ )zGet the one DebugOutputFile.)NT)r   r[  rM   rT  r   rV  )rN  r\  s     r*   rG  #DebugOutputFile._get_singleton_data  s1     ;;??3+;+;<'););\JJr-   c                x    U R                   [        R                  ;   a  [        R                  U R                   	 gg)z6Delete the one DebugOutputFile, just for tests to use.N)rT  r   r[  )rN  s    r*   _del_singleton_data#DebugOutputFile._del_singleton_data
  s-     s{{*C,,- +r-   c                    U R                   c   eU R                   R                  (       dI  U R                   R                  [        XR                  5      5        U R                   R                  5         gg)z9Just like file.write, but filter through all our filters.N)r'   closedrE   r   r   rO   )r)   r   s     r*   rE   DebugOutputFile.write  sO    ||'''||""LL{4>?LL  #r-   c                    U R                   c   eU R                   R                  (       d  U R                   R                  5         gg)zFlush our file.N)r'   rd  rO   r0   s    r*   rO   DebugOutputFile.flush  s4    ||'''||""LL  #r-   )r   r'   r   )r'   rU   r   Iterable[Callable[[str], str]])NNrg   F)
rO  rU   r   rV   r   rh  rP  r[   rW   r$   )rQ  r$   rP  r[   rW   rX   )rW   z#tuple[DebugOutputFile | None, bool]ru   )r   rY   rW   rX   )r^   r_   r`   ra   rb   r+   classmethodr%   rT  __annotations__rV  rM  rG  ra  rE   rO   rf   rg   r-   r*   r$   r$     s    C 0  #' $24,, , 0	,
 , 
, ,f  IL*H!9NJ99 9 K K
 . .
!!r-   r$   c                v    [         R                  SS9nUR                  U S-   5        U(       a  [        USS9  gg)z.Write a log message as forcefully as possible.TrP  r?   rA   rB   N)r$   r%   rE   rN   )rP   rK   rC   s      r*   logrm    s7    

!
!$
!
/CIIcDjc* r-   c                   ^ ^^ UU U4S jnU$ )z2A class decorator to apply a decorator to methods.c                  > [         R                  " U [         R                  5       HU  u  pXR                  ;  a  M  US:w  a  T(       d  UR	                  S5      (       a  M;  UT;   a  MC  [        XT" U5      5        MW     U $ )Nr+   r   )rJ   
getmembers	isroutiner
  
startswithrZ  )rN  namemethbutnot	decoratorprivates      r*   
_decorator$decorate_methods.<locals>._decorator-  sk    !,,S'2C2CDJD<<'z!4??3#7#7v~Cy/ E 
r-   rg   )rv  ru  rw  rx  s   ``` r*   decorate_methodsrz  &  s    
 r-   c                J   ^  [         R                  " T 5      SU 4S jj5       nU$ )z;A function decorator to stop in the debugger for each call.c                 n   > SS K n[        R                  [        l        UR	                  5         T" U 0 UD6$ r   )pudbr   
__stdout__rE  	set_trace)argskwargsr}  funcs      r*   _wrapperbreak_in_pudb.<locals>._wrapper?  s+    ^^
T$V$$r-   )r  r   r  r   rW   r   	functoolswraps)r  r  s   ` r*   break_in_pudbr  <  s'     __T% % Or-   c                    ^ ^^ SU UU4S jjnU$ )z:A method decorator to debug-log each call to the function.c                R   >^  [         R                  " T 5      SU UUU4S jj5       nU$ )Nc                $  > [        U [        S 5      nUc:  [        R                  " 5       S S[	        [
        5      S 3n[        U [        U5        SnT(       aj  SR                  [        [        U5      5      nSR                  S UR                  5        5       5      nUS-  nXE-  nU(       a  U(       a  US-  nXF-  nUS-  nT(       a.  US	-  nUS
R                  [        SS9R                  5       5      -  n[	        [        5      nU SUS ST
R                   U S3n[        R!                  SS9R#                  U5        T
" U /UQ70 UD6n	T(       a<  U SUS ST
R                   SU	< S3n[        R!                  SS9R#                  U5        U	$ )N08dr|   04dr@   z, c              3  @   #    U  H  nS R                   " U6 v   M     g7f)z{}={!r}Nr}   )r   items     r*   r   Cshow_calls.<locals>._decorator.<locals>._wrapper.<locals>.<genexpr>`  s     #WI$4$4d$;r   ()z @ z; T)r   r?   rl  z return )r   OBJ_ID_ATTRr   r   nextOBJ_IDSrZ  rF   mapr   r  r   r  CALLSr^   r$   r%   rE   )r)   r  r  oidextraeargsekwargscallidrP   retr  	show_argsshow_return
show_stacks             r*   r  0show_calls.<locals>._decorator.<locals>._wrapperW  sw   $T2C{S)4=*=>k3/E		#dD/2))#W#WWWTME ;t#D#O#O#QRR%[FE6#,augR@C##D#177<t-d-f-CQvcl!DMM?(3'L'''5;;C@Jr-   )r)   r   r  r   r  r   rW   r   r  )r  r  r  r  r  s   ` r*   rx  show_calls.<locals>._decoratorV  s*    			 	 
	6 r-   r  r   rW   r   rg   )r  r  r  rx  s   ``` r*   
show_callsr  O  s     > r-   c                  ^	 SS1n1 Skn1 SknS1nSn/ nU R                  5        H  u  m	nSnT	U;   a  SnO[        U	4S	 jU 5       5      (       a  SnU(       d  M6  [        U	4S
 jU 5       5      (       a  [        R                  " SSU5      nT	U;   a  [	        U5      U:  a  USUS-
   S-   nUR                  T	U45        M     [        U5      $ )a0  Filter environment variables for a debug display.

Select variables to display (with COV or PY in the name, or HOME, TEMP, or
TMP), and also cloak sensitive values with asterisks.

Arguments:
    env: a dict of environment variable names and values.

Returns:
    A list of pairs (name, value) to show.

COVPY>   TMPHOMETEMP>   APIKEYPASSTOKENSECRET	SIGNATURECOVERAGE_PROCESS_CONFIG<   FTc              3  ,   >#    U  H	  oT;   v   M     g 7frS   rg   r   slugrs  s     r*   r   /relevant_environment_display.<locals>.<genexpr>  s     0%$%   c              3  ,   >#    U  H	  oT;   v   M     g 7frS   rg   r  s     r*   r   r    s     2ED4<Er  z\w*N   z...)r  anyr   r   r   r   r   )
envSLUGSINCLUDECLOAKTRUNCATETRUNCATE_LENto_showvalshowrs  s
            @r*   relevant_environment_displayr  x  s     DME%GBE)*HLGYY[	c7?D0%000D42E222ffUC-xs8l*0q 01E9CNND#;' ! g&&r-   )r   rY   rW   rY   )r   Iterable[tuple[str, Any]]rW   zIterator[str])rE   zCallable[[str], None]r   rY   r   r  rW   rX   )r=   r   rW   rY   )r   rY   rW   rY   )r   rX   rW   rX   )r   rV   rW   rV   )r   FFF)
rD   intr   r[   r   r[   r   r[   rW   rY   )r   )rC   r   rD   r  rW   rX   )2   )r   rY   r   r  rW   rY   )r   r  rW   r  r)  )r)   r   rW   rY   )r  r   rW   r   )r  r   rW   rX   )r   rY   r   rh  rW   rY   )F)rP   rY   rK   r[   rW   rX   )rg   F)rv  Callable[..., Any]ru  rT   rw  r[   rW   r  r  )TFF)r  r[   r  r[   r  r[   rW   r  )r  zMapping[str, str]rW   r   )Frb   
__future__r   r   rJ  rd   r   r  rJ   r   r   r  r   r   r   rG   rX  collections.abcr   r   r   typingr   r   r	   r
   r   coverage.miscr   r   coverage.typesr   r   r   rj  rI  r   ri   rw   r   r   r   r   r   r   r   r   r   rN   r   r   r#   r   r  r  r  r   r   r!   r"   r$   rm  rz  r  countr  r  r  r  r  rg   r-   r*   <module>r     sM   . "        	  	  
   7 7 5 5 < 1B i  D DNJ, J*; 2
(6  $ 
	$/ G, (  )+% * 
	 
	 
	 
	" !	5
5
5 5 	5
 	5p1
 **  	,  : a! a!H+ !  	, //
# &&& & 	&R!'r-   