ó
    Ð]jö*  ã                  óH  • S r SSKJr  SSKrSSKrSSKJr  SSKJrJ	r	J
r
  SSKJrJr  SSKJrJr  SSKJr  SS	KJr  SS
KJrJr  SSKJr  \	(       a  SSKJr  \R;                  \R<                   V s0 s H  o S;  d  M
  U SU  3_M     sn 5      rSS jr  " S S5      r!gs  sn f )zSummary reportingé    )ÚannotationsN)ÚIterable)ÚIOÚTYPE_CHECKINGÚAny)ÚConfigErrorÚNoDataError)Úhuman_sorted_itemsÚplural)ÚFileReporter)Úget_analysis_to_report)ÚAnalysisÚNumbers)ÚTMorfs)ÚCoveragez.,/-Ú\c                ó,   • U R                  [        5      $ )zEPrefix all characters meaningful in markdown tables with backslashes.)Ú	translateÚMARKDOWN_ESCAPES)Útexts    ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/coverage/report.pyÚescape_markdownr      s   € à�>‰>Ô*Ó+Ð+ó    c                  ó”   • \ rS rSrSrSS jrSS jrSS jr          SS jr          SS jr	SSS	 jjr
SS
 jrSS jrSrg)ÚSummaryReporteré!   z*A reporter for writing the summary report.c                ó¢  • Xl         U R                   R                  U l        UR                  5       R                  5       U l        S U l        U R                  R                  =(       d    SU l        U R                  S;  a  [        SU R                  < 35      e/ U l	        SU l
        SU l        [        U R                  R                  S9U l        g )Nr   >   r   ÚtotalÚmarkdownzUnknown report format choice: r   )Ú	precision)ÚcoverageÚconfigÚget_dataÚhas_arcsÚbranchesÚoutfileÚformatÚoutput_formatr   Úfr_analysesÚskipped_countÚempty_countr   r    r   )Úselfr!   s     r   Ú__init__ÚSummaryReporter.__init__$   s¦   € Ø ŒØ—m‘m×*Ñ*ˆŒØ ×)Ñ)Ó+×4Ñ4Ó6ˆŒØ'+ˆŒØ!Ÿ[™[×/Ñ/×9°6ˆÔØ×ÑÐ%BÓBÜÐ >¸t×?QÑ?QÑ>TÐUÓVÐVØ@BˆÔØˆÔØˆÔÜ t§{¡{×'<Ñ'<Ñ=ˆ�
r   c                óª   • U R                   c   eU R                   R                  UR                  5       5        U R                   R                  S5        g)z-Write a line to the output, adding a newline.NÚ
)r&   ÚwriteÚrstrip)r,   Úlines     r   r1   ÚSummaryReporter.write1   s<   € à�|‰|Ñ'Ð'Ð'Ø�‰×Ñ˜4Ÿ;™;›=Ô)Ø�‰×Ñ˜4Õ r   c                óD   • U R                  SR                  U5      5        g)z)Write a list of strings, joined together.Ú N)r1   Újoin)r,   Úitemss     r   Úwrite_itemsÚSummaryReporter.write_items7   s   € à�
‰
�2—7‘7˜5“>Õ"r   c                ó’  ^^^• [        U Vs/ s H  n[        US   5      PM     snS/-   5      S-   m[        [        X1R                  S5         5      S-   [        S5      5      S-   m[        T/U Vs/ s H"  n[        XQR                  S5         5      S-   PM$     sn-   5      m[        SSSSSS	S
S9mU Vs/ s H  nTU   R	                  UTTS9PM     nnSR                  U5      nS[        U5      -  n	U R                  U5        U R                  U	5        TR                  [        SSS95        U H)  n
U R                  UUU4S j[        X5       5       5        M+     U(       a  U R                  U	5        U R                  UUU4S j[        X5       5       5        U H  nU R                  U5        M     gs  snf s  snf s  snf )a  Internal method that prints report data in text format.

`header` is a list with captions.
`lines_values` is list of lists of sortable values.
`total_line` is a list with values of the total line.
`end_lines` is a list of ending lines with information about skipped files.

r   é   é   ÚCoveré   z Coverz{:{name_len}}z{:>7}z{:>{n}}z{:>10}©ÚNameÚStmtsÚMissÚBranchÚBrPartr>   ÚMissing©Úname_lenÚnr6   Ú-z{:>{n}}%z   {:9})r>   rF   c              3  óh   >#   • U  H'  u  pTU   R                  [        U5      TTS -
  S9v •  M)     g7f©r=   rG   N©r'   Ústr©Ú.0ÚitemÚvalueÚformatsÚmax_nÚmax_names      €€€r   Ú	<genexpr>Ú.SummaryReporter.report_text.<locals>.<genexpr>h   s9   øé € ð â':™˜ð ˜D‘M×(Ñ(¬¨U«¸hÈ%ÐRSÉ)Ð(ÕTÚ':ùó   ƒ/2c              3  óh   >#   • U  H'  u  pTU   R                  [        U5      TTS -
  S9v •  M)     g7frL   rM   rO   s      €€€r   rV   rW   s   s8   øé € ð â#:‘K�Dð ˜‘×$Ñ$¤S¨£Z¸(ÀeÈaÁiÐ$ÕPÚ#:ùrX   N)
ÚmaxÚlenÚindexÚdictr'   r7   r1   Úupdater9   Úzip)r,   ÚheaderÚlines_valuesÚ
total_lineÚ	end_linesr3   rQ   Úheader_itemsÚ
header_strÚruleÚvaluesÚend_linerS   rT   rU   s               @@@r   Úreport_textÚSummaryReporter.report_text;   s½  ú€ ô  ±Ó>²¨œ˜D ™Gž±Ñ>À!ÀÑDÓEÈÑIˆÜ”C˜
§<¡<°Ó#8Ñ9Ó:¸QÑ>ÄÀHÃÓNÐQRÑRˆÜ�U�GÑP\Ó]ÒP\Èœs 4¯©°WÓ(=Ñ#>Ó?À!ÔCÑP\Ñ]Ñ]Ó^ˆÜØ ØØØØØØñ
ˆñ \bÓbÒ[aÐSW˜ ™×,Ñ,¨T¸HÈÐ,ÓNÑ[aˆÐbØ—W‘W˜\Ó*ˆ
Ø”S˜“_Ñ$ˆð 	�
‰
�:ÔØ�
‰
�4Ôð 	�‰ÜØ Ø!ñô	
ó #ˆFØ×Ñöä'*¨6Ô':óöñ #ö Ø�J‰J�tÔà×Ñöä#& vÔ#:óô	
ó "ˆHØ�J‰J�xÖ ò "ùò] ?ùâ]ùò cs   �F:Á3)F?
Â8Gc                ó  ^^^• [        S U 5       SS9m[        T[        S5      5      S-   m[        SSSSSSS	S
9m[        [        X1R                  S5         5      S-   [        S5      5      mU Vs/ s H  nTU   R	                  UTTS9PM     nnSR                  U5      nSSR                  SR                  [        US   5      S-
  S5      /USS  Vs/ s H!  nSR                  [        U5      S-
  S5      PM#     sn-   5      -   nU R                  U5        U R                  U5        U HA  n	TR                  [        SS95        U R                  UUU4S j[        X5       5       5        MC     TR                  [        SSS95        / n
[        X5       H8  u  p[US:X  a  UnOUS:X  a  SU S3nOSU S3nU
TU   R	                  UTTS9-  n
M:     U R                  U
5        U H  nU R                  U5        M     gs  snf s  snf )a,  Internal method that prints report data in markdown format.

`header` is a list with captions.
`lines_values` is a sorted list of lists containing coverage information.
`total_line` is a list with values of the total line.
`end_lines` is a list of ending lines with information about skipped files.

c              3  óP   #   • U  H  n[        [        US    5      5      v •  M     g7f)r   N)r[   r   )rP   r3   s     r   rV   Ú2SummaryReporter.report_markdown.<locals>.<genexpr>�   s!   é € ÐOÂ,¸$œœO¨D°©GÓ4×5Ð5Â,ùs   ‚$&r   )Údefaultz	**TOTAL**r=   z| {:{name_len}}|z{:>9} |z	{:>{n}} |z{:>10} |r@   r>   é   z Cover rG   r6   Ú|Ú z- |rJ   Nz-: |z
{:>{n}}% |)r>   c              3  óz   >#   • U  H0  u  pTU   R                  [        [        U5      5      TTS -
  S9v •  M2     g7frL   )r'   r   rN   rO   s      €€€r   rV   rm   ¬   sG   øé € ð ò (;™˜ð ˜D‘M×(Ñ(Ü'¬¨E«
Ó3¸hÈ%ÐRSÉ)ð )õ ò (;ùs   ƒ8;z|{:{name_len}} |)rA   r>   z **z%**z**)rZ   r[   r]   r\   r'   r7   Úrjustr1   r^   r9   r_   )r,   r`   ra   rb   rc   rQ   rd   re   Úrule_strrg   Útotal_line_itemsrR   Úinsertrh   rS   rT   rU   s                 @@@r   Úreport_markdownÚSummaryReporter.report_markdown|   s2  ú€ ô" ÑOÁ,ÓOÐYZÑ[ˆÜ�x¤ [Ó!1Ó2°QÑ6ˆÜØ#ØØØØØØñ
ˆô ”C˜
§<¡<°Ó#8Ñ9Ó:¸QÑ>ÄÀIÃÓOˆÙ[aÓbÒ[aÐSW˜ ™×,Ñ,¨T¸HÈÐ,ÓNÑ[aˆÐbØ—W‘W˜\Ó*ˆ
Ø˜Ÿ™Ø�[‰[œ˜\¨!™_Ó-°Ñ1°3Ó7Ð8Ø<HÈÈÑ<LÓMÒ<L°Dˆv�|‰|œC ›I¨™M¨3Ö/Ñ<LÑMñNó
ñ 
ˆð 	�
‰
�:ÔØ�
‰
�8Ôó #ˆFØ�N‰NÜØ&ñôð
 ×Ñöô (+¨6Ô':ó	öñ #ð  	�‰ÜØ'Ø!ñô	
ð ')ÐÜ˜vÖ2‰KˆDØ˜‹{Ø‘Ø˜“Ø˜u˜g SÐ)‘à˜u˜g R˜�Ø ¨¡× 4Ñ 4°VÀhÐRWÐ 4Ð XÑXÒñ 3ð 	×ÑÐ)Ô*ã!ˆHØ�J‰J�xÖ ò "ùò[ cùò Ns   Á2HÃ(HNc                óh  • U=(       d    [         R                  U l        U R                  R	                  5       R                  U R                  R                  5        [        U R                  U5       H  u  p4U R                  X45        M     U R                  R                  (       d  U R                  (       d  [        S5      eU R                  S:X  a;  U R                  U R                  R                   5        U R                  R$                  $ U R#                  5         U R                  R$                  $ )z|Writes a report summarizing coverage statistics per module.

`outfile` is a text-mode file object to write the summary to.

zNo data to report.r   )ÚsysÚstdoutr&   r!   r#   Úset_query_contextsr"   Úreport_contextsr   Úreport_one_filer   Ún_filesr*   r	   r(   r1   Úpc_covered_strÚtabular_reportÚ
pc_covered)r,   Úmorfsr&   ÚfrÚanalysiss        r   ÚreportÚSummaryReporter.reportÉ   sÖ   € ð ×,¤#§*¡*ˆŒà�‰×ÑÓ ×3Ñ3°D·K±K×4OÑ4OÔPÜ2°4·=±=À%ÖH‰LˆBØ× Ñ  Ö.ñ Ið �z‰z×!×!¨$×*<×*<ÜÐ2Ó3Ð3à×Ñ Ó(Ø�J‰J�t—z‘z×0Ñ0Ô1ð �z‰z×$Ñ$Ð$ð ×ÑÔ!à�z‰z×$Ñ$Ð$r   c                óô  ^• / SQnU R                   (       a  USS/-  nUS/-  nU R                  R                  (       a  US/-  n[        SSSS	S
9nU R                   (       a  UR	                  [        SSS95        / nU R
                   H¿  u  pEUR                  nUR                  5       UR                  UR                  /nU R                   (       a  XvR                  UR                  /-  nXvR                  /-  nU R                  R                  (       a  XuR                  SS9/-  nXvR                  /-  nUR                  U5        MÁ     U R                  R                   =(       d    SR#                  5       nSn	US   S:X  a  Sn	USS nOUS   S:X  a  USS nUR%                  U5      mTc#  ['        SU R                  R                   < 35      eUS:X  a
  [)        X9S9nOUR!                  U4S jU	S9  SU R*                  R                  U R*                  R                  /n
U R                   (       a.  X R*                  R                  U R*                  R                  /-  n
X R*                  R                  /-  n
U R                  R                  (       a  U
S/-  n
/ nU R                  R,                  (       a:  U R.                  (       a)  UR                  S[1        U R.                  S5       S35        U R                  R2                  (       a:  U R4                  (       a)  UR                  S[1        U R4                  S5       S35        U R6                  S :X  a  U R8                  nOU R:                  nU" XX«5        g)!zWrites tabular report formats.)rA   rB   rC   rD   rE   r>   rF   r   r=   r?   éÿÿÿÿ)ÚnameÚstmtsÚmissÚcoveré   é   )ÚbranchÚbrpartT)r%   rŠ   FrJ   NÚ+zInvalid sorting option: )Úreversec                ó   >• U T   U S   4$ )Nr   © )r3   Úsort_idxs    €r   Ú<lambda>Ú0SummaryReporter.tabular_report.<locals>.<lambda>
  s   ø€  $ x¡.°$°q±'Ñ!:r   )Úkeyr“   ÚTOTALr6   r0   Úfilez" skipped due to complete coverage.z
empty filez	 skipped.r   )r%   r"   Úshow_missingr]   r^   r)   ÚnumbersÚrelative_filenameÚn_statementsÚ	n_missingÚ
n_branchesÚn_partial_branchesr€   Úmissing_formattedr‚   ÚappendÚsortÚlowerÚgetr   r
   r   Úskip_coveredr*   r   Ú
skip_emptyr+   r(   rw   ri   )r,   r`   Úcolumn_orderra   r„   r…   ÚnumsÚargsÚsort_optionr“   rb   rc   Ú	formatterr–   s                @r   r�   ÚSummaryReporter.tabular_reportß   s  ø€ ò +ˆØ�=�=Ø�x Ð*Ñ*ˆFØ�7�)ÑˆØ�;‰;×#×#Ø�y�kÑ!ˆFä ¨!°!¸2Ñ>ˆØ�=�=Ø×Ñ¤¨A°aÑ 8Ô9ð ˆà ×,Ô,‰LˆBØ×#Ñ#ˆDØ×(Ñ(Ó*¨D×,=Ñ,=¸t¿~¹~ÐNˆDØ�}�}ØŸ™¨$×*AÑ*AÐBÑB�Ø×(Ñ(Ð)Ñ)ˆDØ�{‰{×'×'Ø×3Ñ3¸TÐ3ÐBÐCÑC�Ø—_‘_Ð%Ñ%ˆDØ×Ñ Ö%ñ -ð —{‘{×'Ñ'×1¨6×8Ñ8Ó:ˆØˆØ�q‰>˜SÓ ØˆGØ% a b˜/‰KØ˜‰^˜sÓ"Ø% a b˜/ˆKØ×#Ñ# KÓ0ˆØÑÜÐ 8¸¿¹×9IÑ9IÑ8LÐMÓNÐNØ˜&Ó Ü-¨lÑL‰Là×ÑÜ:Øð ñ ð ˜tŸz™z×6Ñ6¸¿
¹
×8LÑ8LÐMˆ
Ø�=�=ØŸ:™:×0Ñ0°$·*±*×2OÑ2OÐPÑPˆJØ—z‘z×0Ñ0Ð1Ñ1ˆ
Ø�;‰;×#×#Ø˜2˜$ÑˆJð ˆ	Ø�;‰;×#×#¨×(:×(:Ø×ÑØ”V˜D×.Ñ.°Ó7Ð8Ð8ZÐ[ôð �;‰;×!×! d×&6×&6Ø×Ñ˜r¤&¨×)9Ñ)9¸<Ó"HÐ!IÈÐSÔTà×Ñ Ó+Ø×,Ñ,‰Ià×(Ñ(ˆIÙ�&¨
Õ>r   c                óº  • UR                   nU =R                  U-  sl        UR                  S:H  nUR                  S:H  nU R                  R
                  (       a$  U(       a  U(       a  U =R                  S-  sl        gU R                  R                  (       a&  UR                  S:X  a  U =R                  S-  sl	        gU R                  R                  X45        g)z4Report on just one file, the callback from report().r   r=   N)r�   r   r    r¢   r"   r¨   r*   r©   rŸ   r+   r)   r¤   )r,   r„   r…   r«   Úno_missing_linesÚno_missing_branchess         r   r~   ÚSummaryReporter.report_one_file%  s    € à×ÑˆØ�
Š
�dÑ�
à ŸN™N¨aÑ/ÐØ#×6Ñ6¸!Ñ;ÐØ�;‰;×#×#Ö(8Ö=Pà×Ò !Ñ#ÖØ�[‰[×#×#¨×(9Ñ(9¸QÓ(>à×Ò Ñ!Öà×Ñ×#Ñ# R NÕ3r   )	r%   r"   r!   r+   r)   r&   r(   r*   r   )r!   r   ÚreturnÚNone)r3   rN   r´   rµ   )r8   zIterable[str]r´   rµ   )
r`   ú	list[str]ra   zlist[list[Any]]rb   z	list[Any]rc   r¶   r´   rµ   )N)rƒ   r   r&   zIO[str] | Noner´   Úfloat)r´   rµ   )r„   r   r…   r   r´   rµ   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r-   r1   r9   ri   rw   r†   r�   r~   Ú__static_attributes__r•   r   r   r   r   !   s—   † Ù4ô>ô!ô#ð?!àð?!ð &ð?!ð ð	?!ð
 ð?!ð 
ô?!ðBK!àðK!ð &ðK!ð ð	K!ð
 ðK!ð 
ôK!öZ%ô,D?÷L4r   r   )r   rN   r´   rN   )"r¼   Ú
__future__r   Ústringrz   Úcollections.abcr   Útypingr   r   r   Úcoverage.exceptionsr   r	   Úcoverage.miscr
   r   Úcoverage.pluginr   Úcoverage.report_corer   Úcoverage.resultsr   r   Úcoverage.typesr   r!   r   rN   Ú	maketransÚpunctuationr   r   r   )Úchars   0r   Ú<module>rË      s‡   ðñ å "ã Û 
Ý $ß )Ñ )ç 8ß 4Ý (Ý 7ß .Ý !æÝ!à—=‘=Ø#)×#5Ò#5ÓLÒ#5˜4ÀVÑ9KÓ€TˆR�ˆvˆ;ÒÑ#5ÑLóÐ ô
,÷
R4ò R4ùò Ms   Á1	BÁ>
B