Ë
    æØjj¾Z  ã                  óœ  — d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZd dlm	Z	 d dl
Z
d dlmZ d dlZd d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dl m!Z! d dl"m#Z# d dl$m%Z% d dl$m&Z& d dl'm(Z( d dl'm)Z) ejT                  d k  rd d!l+m,Z, erd d"l-m.Z. d d#l/m0Z0 d$„ Z1 G d%„ d&«      Z2	 	 	 	 	 	 d4d'„Z3	 	 	 	 	 	 d5d(„Z4	 	 	 	 	 	 d6d)„Z5 G d*„ d+e2«      Z6e G d,„ d-e2«      «       Z7 G d.„ d/e«      Z8	 	 	 	 d7d0„Z9	 	 	 	 d8d1„Z:d9d2„Z;d:d3„Z<y);é    )Úannotations)ÚIterable)ÚIterator)ÚMapping)ÚSequenceN)ÚStringIO)Úpprint)ÚAny)Úcast)Úfinal)ÚLiteral)ÚNoReturn)ÚTYPE_CHECKING)ÚExceptionChainRepr)ÚExceptionInfo)ÚExceptionRepr)Ú	ReprEntry)ÚReprEntryNative)ÚReprExceptionInfo©ÚReprFileLocation)ÚReprFuncArgs)Ú
ReprLocals©ÚReprTraceback)ÚTerminalRepr)ÚTerminalWriter)ÚConfig)Ú	Collector)ÚItem)Úfail)Úskip)é   é   )ÚBaseExceptionGroup)ÚSelf)ÚCallInfoc                óÈ   — 	 | j                   S # t        $ rJ | j                  } dj                  |d   d d Ž }dj                  |d   |d   ||d   «      x| _         }|cY S w xY w)Nz{}.{}.{}Úversion_infor#   z[{}] {} -- Python {} {}ÚidÚsysplatformÚ
executable)Ú_workerinfocacheÚAttributeErrorÚ
workerinfoÚformat)ÚnodeÚdÚverÚss       úQ/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/_pytest/reports.pyÚgetworkerinfoliner6   1   s€   € ðØ×$Ñ$Ð$øÜò Ø�O‰OˆØˆj×Ñ  >Ñ!2°2°AÐ!6Ð7ˆØ$=×$DÑ$DØˆd‰G�Q�}Ñ% s¨A¨l©Oó%
ð 	
ˆÔ ð Šðús   ‚ ŽAA!Á A!c                  óP  — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   dd„Zerd d„Zd!d„Zd"d„Ze	d#d„«       Z
e	d#d„«       Ze	d#d„«       Ze	d#d„«       Ze	d$d„«       Ze	d$d„«       Ze	d$d„«       Ze	d#d„«       Ze	d$d„«       Ze	d%d„«       Z	 	 	 	 	 	 d&d„Zd'd„Zed(d„«       Zy))Ú
BaseReportú
str | NoneÚwhenú"tuple[str, int | None, str] | NoneÚlocationúONone | ExceptionInfo[BaseException] | tuple[str, int, str] | str | TerminalReprÚlongreprzlist[tuple[str, str]]ÚsectionsÚstrÚnodeidú&Literal['passed', 'failed', 'skipped']Úoutcomec                ó:   — | j                   j                  |«       y ©N)Ú__dict__Úupdate)ÚselfÚkws     r5   Ú__init__zBaseReport.__init__G   s   € Ø�‰×Ñ˜RÕ ó    c                 ó   — y rE   © )rH   Úkeys     r5   Ú__getattr__zBaseReport.__getattr__L   s   � rK   c                óB  — t        | d«      r(t        | j                  «      }|r|j                  |«       | j                  }|€y t        |d«      r"t        t        |«      }|j                  |«       y 	 t        |«      }|j                  |«       y # t        $ r d}Y Œw xY w)Nr1   Ú
toterminalz<unprintable longrepr>)
Úhasattrr6   r1   Úliner>   r   r   rQ   r@   ÚUnicodeEncodeError)rH   ÚoutÚworker_infor>   Úlongrepr_terminalr4   s         r5   rQ   zBaseReport.toterminalN   s‘   € Ü�4˜Ô Ü+¨D¯I©IÓ6ˆKÙØ—‘˜Ô%à—=‘=ˆØÐØä�8˜\Ô*Ü $¤\°8Ó <ÐØ×(Ñ(¨Õ-ð-Ü˜“M�ð �H‰H�Q�Køô &ò -Ø,’ð-ús   Á3B ÂBÂBc              #  ód   K  — | j                   D ]  \  }}|j                  |«      sŒ||f–— Œ y ­wrE   )r?   Ú
startswith)rH   ÚprefixÚnameÚcontents       r5   Úget_sectionszBaseReport.get_sectionsb   s3   è ø€ Ø!Ÿ]™]ò 	&‰MˆD�'Ø�‰˜vÕ&Ø˜g�oÓ%ñ	&ùs   ‚$0§	0c                óœ   — t        «       }t        |«      }d|_        | j                  |«       |j	                  «       }|j                  «       S )zRead-only property that returns the full string representation of
        ``longrepr``.

        .. versionadded:: 3.0
        F)r   r   Ú	hasmarkuprQ   ÚgetvalueÚstrip)rH   ÚfileÚtwÚexcs       r5   ÚlongreprtextzBaseReport.longreprtextg   s?   € ô ‹zˆÜ˜DÓ!ˆØˆŒØ�‰˜ÔØ�m‰m‹oˆØ�y‰y‹{ÐrK   c                óP   — dj                  d„ | j                  d«      D «       «      S )z_Return captured log lines, if log capturing is enabled.

        .. versionadded:: 3.5
        ú
c              3  ó&   K  — | ]	  \  }}|–— Œ y ­wrE   rM   ©Ú.0rZ   r\   s      r5   ú	<genexpr>z$BaseReport.caplog.<locals>.<genexpr>{   s   è ø€ ò 
Ù)˜ ŒGñ
ùó   ‚zCaptured log©Újoinr]   ©rH   s    r5   ÚcaplogzBaseReport.caplogu   s-   € ð �y‰yñ 
Ø-1×->Ñ->¸~Ó-Nô
ó 
ð 	
rK   c                óP   — dj                  d„ | j                  d«      D «       «      S )zbReturn captured text from stdout, if capturing is enabled.

        .. versionadded:: 3.0
        Ú c              3  ó&   K  — | ]	  \  }}|–— Œ y ­wrE   rM   ri   s      r5   rk   z'BaseReport.capstdout.<locals>.<genexpr>…   ó   è ø€ ò 
Ù)˜ ŒGñ
ùrl   zCaptured stdoutrm   ro   s    r5   Ú	capstdoutzBaseReport.capstdout   ó.   € ð �w‰wñ 
Ø-1×->Ñ->Ð?PÓ-Qô
ó 
ð 	
rK   c                óP   — dj                  d„ | j                  d«      D «       «      S )zbReturn captured text from stderr, if capturing is enabled.

        .. versionadded:: 3.0
        rr   c              3  ó&   K  — | ]	  \  }}|–— Œ y ­wrE   rM   ri   s      r5   rk   z'BaseReport.capstderr.<locals>.<genexpr>�   rt   rl   zCaptured stderrrm   ro   s    r5   Ú	capstderrzBaseReport.capstderr‰   rv   rK   c                ó    — | j                   dk(  S )zWhether the outcome is passed.Úpassed©rC   ro   s    r5   r{   zBaseReport.passed“   ó   € ð �|‰|˜xÑ'Ð'rK   c                ó    — | j                   dk(  S )zWhether the outcome is failed.Úfailedr|   ro   s    r5   r   zBaseReport.failed˜   r}   rK   c                ó    — | j                   dk(  S )zWhether the outcome is skipped.Úskippedr|   ro   s    r5   r�   zBaseReport.skipped�   s   € ð �|‰|˜yÑ(Ð(rK   c                ó>   — | j                   j                  d«      d   S )z3The path portion of the reported node, as a string.z::r   )rA   Úsplitro   s    r5   ÚfspathzBaseReport.fspath¢   s   € ð �{‰{× Ñ  Ó& qÑ)Ð)rK   c                 ó   — y)a6  **Experimental** Whether this report should be counted towards the
        totals shown at the end of the test session: "1 passed, 1 failure, etc".

        .. note::

            This function is considered **experimental**, so beware that it is subject to changes
            even in patch releases.
        TrM   ro   s    r5   Úcount_towards_summaryz BaseReport.count_towards_summary§   s   € ð rK   c                ó@   — | j                   �| j                   \  }}}|S y)a¢  **Experimental** The head line shown with longrepr output for this
        report, more commonly during traceback representation during
        failures::

            ________ Test.foo ________


        In the example above, the head_line is "Test.foo".

        .. note::

            This function is considered **experimental**, so beware that it is subject to changes
            even in patch releases.
        N)r<   )rH   Ú_fspathÚ_linenoÚdomains       r5   Ú	head_linezBaseReport.head_line³   s&   € ð  �=‰=Ð$Ø'+§}¡}Ñ$ˆG�W˜fØˆMØrK   c                ó  — |j                   j                  | |¬«      \  }}}t        |t        «      r||fS t        |t        «      r7t        |«      dk(  r)|\  }}t        |t        «      rt        |t        «      r||fS t        d|›d�«       y )N)ÚreportÚconfigé   zSpytest_report_teststatus() hook (from a plugin) returned an invalid verbose value: z8.
Expected either a string or a tuple of (word, markup).)ÚhookÚpytest_report_teststatusÚ
isinstancer@   r   Úlenr   r!   )rH   rŽ   Údefault_markupÚ	_categoryÚ_shortÚverboseÚwordÚmarkups           r5   Ú_get_verbose_word_with_markupz(BaseReport._get_verbose_word_with_markupÈ   s˜   € ð &,§[¡[×%IÑ%IØ ð &Jó &
Ñ"ˆ	�6˜7ô �gœsÔ#Ø˜NÐ*Ð*ä�gœxÔ(¬S°«\¸QÒ->Ø"‰LˆD�&Ü˜$¤Ô$¬°F¼GÔ)DØ˜V�|Ð#äð)Ø)0¨ð 4,ð,õ	
rK   c                ó   — t        | «      S )zÞReturn the contents of this report as a dict of builtin entries,
        suitable for serialization.

        This was originally the serialize_report() function from xdist (ca03269).

        Experimental method.
        )Ú_report_to_jsonro   s    r5   Ú_to_jsonzBaseReport._to_jsonÝ   s   € ô ˜tÓ$Ð$rK   c                ó(   — t        |«      } | di |¤ŽS )a  Create either a TestReport or CollectReport, depending on the calling class.

        It is the callers responsibility to know which class to pass here.

        This was originally the serialize_report() function from xdist (ca03269).

        Experimental method.
        rM   )Ú_report_kwargs_from_json)ÚclsÚ
reportdictÚkwargss      r5   Ú
_from_jsonzBaseReport._from_jsonç   s   € ô *¨*Ó5ˆÙ‰}�V‰}ÐrK   N)rI   r
   ÚreturnÚNone)rN   r@   r¤   r
   ©rU   r   r¤   r¥   )rZ   r@   r¤   zIterator[tuple[str, str]]©r¤   r@   )r¤   Úbool)r¤   r9   )rŽ   r   r”   zMapping[str, bool]r¤   ztuple[str, Mapping[str, bool]])r¤   údict[str, Any])r¡   zdict[str, object]r¤   r&   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rJ   r   rO   rQ   r]   Úpropertyre   rp   ru   ry   r{   r   r�   r„   r†   r‹   rš   r�   Úclassmethodr£   rM   rK   r5   r8   r8   =   s>  … Ø
ÓØ0Ó0àWóð $Ó#ØƒKØ3Ó3ó!ñ ã3óó(&ð
 òó ðð ò
ó ð
ð ò
ó ð
ð ò
ó ð
ð ò(ó ð(ð ò(ó ð(ð ò)ó ð)ð ò*ó ð*ð ò	ó ð	ð òó ðð(
Øð
Ø.@ð
à	'ó
ó*%ð ò
ó ñ
rK   r8   c                óú   — d}t        «       }t        d|¬«       t        d| › �|¬«       t        d|› �|¬«       t        ||¬«       t        d|› �|¬«       t        d|¬«       t        |j                  «       «      ‚)Nz+https://github.com/pytest-dev/pytest/issueszd----------------------------------------------------------------------------------------------------)Ústreamz,INTERNALERROR: Unknown entry type returned: zreport_name: zPlease report this bug at )r   r	   ÚRuntimeErrorr`   )Ú	type_nameÚreport_classr¡   Úurlr±   s        r5   Ú_report_unserialization_failurer¶   õ   su   € ð 8€CÜ‹Z€FÜ
ˆ9˜VÕ$Ü
Ð9¸)¸ÐEÈfÕUÜ
ˆ]˜<˜.Ð)°&Õ9Ü
ˆ:˜fÕ%Ü
Ð'¨ uÐ-°fÕ=Ü
ˆ9˜VÕ$Ü
�v—‘Ó(Ó
)Ð)rK   c                ó¤   — |j                   dk(  r| j                  |«      }|S | j                  || j                  j	                  dd«      ¬«      }|S )NÚcallÚtbstyleÚauto)Ústyle)r:   Úrepr_failureÚ_repr_failure_pyrŽ   Ú	getoption)Úitemr¸   Úexcinfor>   s       r5   Ú_format_failed_longreprrÁ     s[   € ð ‡y�y�FÒØ×$Ñ$ WÓ-ˆð €Oð ×(Ñ(Ø˜4Ÿ;™;×0Ñ0°¸FÓCð )ó 
ˆð €OrK   c                óH  — |j                  «       }|€J d«       ‚t        d„ |j                  j                  D «       «      r7| j	                  «       d d \  }}|€J ‚t        j                  |«      |dz   f}d}n-t        |j                  «      |j                  f}|j                  }g }|j                  j                  D ]G  }t        |dd «      xs |j                  r|j                  d   nd }	|	sŒ2|	|vsŒ7|j                  |	«       ŒI |rdj                  |«      n|}
g |¢|
‘­}|S )	Nú=There should always be a traceback entry for skipping a test.c              3  ó6   K  — | ]  }t        |d d«      –— Œ y­w)Ú_use_item_locationFN)Úgetattr)rj   r"   s     r5   rk   z?_format_exception_group_all_skipped_longrepr.<locals>.<genexpr>  s   è ø€ ò Ø7;Œ�Ð*¨E×2ñùs   ‚r�   é   r�   Úmsgr   z; )Ú_getreprcrashÚallÚvalueÚ
exceptionsÚ
reportinfoÚosr„   r@   ÚpathÚlinenoÚmessagerÆ   ÚargsÚappendrn   )r¿   rÀ   ÚrrÏ   rS   ÚlocÚdefault_msgÚmsgsÚ	exceptionÚmÚreasonr>   s               r5   Ú,_format_exception_group_all_skipped_longreprrÛ     s+  € ð 	×ÑÓ€AØˆ=ð ØGóˆ=ô ñ Ø?F¿}¹}×?WÑ?Wôô ð —_‘_Ó& r¨Ð*‰
ˆˆdØÐÐÐÜ�y‰y˜‹  q¡Ð)ˆØ‰ä�1—6‘6‹{˜AŸH™HÐ%ˆØ—i‘iˆð €DØ—]‘]×-Ñ-ò ˆ	Ü�I˜u dÓ+ò 
Ø!*§¢ˆI�N‰N˜1Ò°Tð 	
ò �˜$’Ø�K‰K˜�Nðñ !%ˆT�Y‰Y�tŒ_¨+€FØ�ˆ~�f‰~€HØ€OrK   c                  ó|   — e Zd ZU dZdZded<   	 	 	 	 	 d		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zdd„Zedd„«       Z	y)Ú
TestReportz�Basic test report object (also used for setup and teardown calls if
    they fail).

    Reports can contain arbitrary extra attributes.
    Fr@   ÚwasxfailNc                ó   — || _         || _        || _        || _        || _        || _        t        |xs g «      | _        t        |«      | _        || _	        |	| _
        |
| _        | j                  j                  |«       y rE   )rA   r<   ÚkeywordsrC   r>   r:   ÚlistÚuser_propertiesr?   ÚdurationÚstartÚstoprF   rG   )rH   rA   r<   rà   rC   r>   r:   r?   rã   rä   rå   râ   Úextras                r5   rJ   zTestReport.__init__>  s„   € ð( ˆŒð 6>ˆŒð ,4ˆŒð ˆŒð !ˆŒð ;?ˆŒ	ô  $ OÒ$9°rÓ:ˆÔô ˜X›ˆŒð  (ˆŒð "ˆŒ
àˆŒ	à�‰×Ñ˜UÕ#rK   c           	     ó„   — d| j                   j                  › d| j                  ›d| j                  ›d| j                  ›d�	S )Nú<ú z when=ú	 outcome=ú>)Ú	__class__rª   rA   r:   rC   ro   s    r5   Ú__repr__zTestReport.__repr__|  s?   € Ø�4—>‘>×*Ñ*Ð+¨1¨T¯[©[¨O¸6À$Ç)Á)ÀÈiÐX\×XdÑXdÐWgÐghÐiÐirK   c                ón  — |j                   }|dk7  sJ ‚|j                  }|j                  }|j                  }|j                  D �ci c]  }|d“Œ }}|j
                  }	g }
|j
                  sd}d}�nat        |	t        «      sd}|	}�nKt        |	j                  t        j                  «      ržd}|	j                  «       }|€J d«       ‚|	j                  j                  r@|j                  «       dd \  }}|€J ‚t        j                  |«      |dz   |j                   f}n¶t#        |j$                  «      |j&                  |j                   f}n‰t        |	j                  t(        «      r`|	j                  j+                  t        j                  «      d   €4d}t-        t        t(        t.        t(        z        |	«      }	t1        ||	«      }nd}t3        |||	«      }|j4                  D ]  \  }}}|
j7                  d	|› d
|› �|f«       Œ!  | |j8                  |j:                  |||||
||||j<                  ¬«      S c c}w )z‹Create and fill a TestReport with standard item and call info.

        :param item: The item.
        :param call: The call info.
        ÚcollectrÇ   r{   Nr   r�   rÃ   r�   z	Captured ré   )râ   )r:   rã   rä   rå   rà   rÀ   r’   r   rË   r"   Ú	ExceptionrÉ   rÅ   rÍ   rÎ   r„   rÑ   r@   rÏ   rÐ   r%   rƒ   r   ÚBaseExceptionrÛ   rÁ   Ú_report_sectionsrÓ   rA   r<   râ   )r    r¿   r¸   r:   rã   rä   rå   Úxrà   rÀ   r?   rC   r>   rÔ   rÏ   rS   ÚrwhenrN   r\   s                      r5   Úfrom_item_and_callzTestReport.from_item_and_call  s'  € ð �y‰yˆà�yÒ Ð Ð Ø—=‘=ˆØ—
‘
ˆØ�y‰yˆØ"&§-¡-Ö0˜Q�A�q‘DÐ0ˆÐ0Ø—,‘,ˆØˆØ�|Š|Ø>FˆGð ò ô ˜g¤}Ô5Ø"�Ø"’Ü˜GŸM™M¬4¯>©>Ô:Ø#�Ø×)Ñ)Ó+�Ø�}ð ØSó�}ð —=‘=×3Ò3Ø!%§¡Ó!2°2°AÐ!6‘J�D˜$ØÐ+Ð+Ð+Ü "§	¡	¨$£°¸±¸1¿9¹9ÐE‘Hä # A§F¡F£¨Q¯X©X°q·y±yÐA‘HÜ˜GŸM™MÔ+=Ô>Ø—‘×#Ñ#¤D§N¡NÓ3°AÑ6Ð>ð $�ÜÜ!Ü*¬=Ô;MÑ+MÑNñð ó	�ô HÈÈgÓV‘à"�Ü2°4¸¸wÓG�Ø#'×#8Ñ#8ò 	BÑˆE�3˜Ø�O‰O˜y¨¨¨Q¨u¨gÐ6¸Ð@ÕAð	BáØ�K‰KØ�M‰MØØØØØØØØØ ×0Ñ0ô
ð 	
ùò[ 1s   Á
H2)rM   r   r   r   N)rA   r@   r<   ztuple[str, int | None, str]rà   zMapping[str, Any]rC   rB   r>   r=   r:   z$Literal['setup', 'call', 'teardown']r?   úIterable[tuple[str, str]]rã   Úfloaträ   r÷   rå   r÷   râ   z#Iterable[tuple[str, object]] | Noner¤   r¥   r§   )r¿   r    r¸   úCallInfo[None]r¤   rÝ   )
rª   r«   r¬   Ú__doc__Ú__test__r­   rJ   rí   r¯   rõ   rM   rK   r5   rÝ   rÝ   1  s¾   … ñð €Hð ƒMð /1ØØØØ?Cð!<$àð<$ð .ð<$ð $ð	<$ð
 8ð<$ðð<$ð 3ð<$ð ,ð<$ð ð<$ð ð<$ð ð<$ð  =ð!<$ð$ 
ó%<$ó|jð òE
ó ñE
rK   rÝ   c                  óT   — e Zd ZdZdZ	 d	 	 	 	 	 	 	 	 	 	 	 dd„Ze	 	 d	d„«       Zd
d„Zy)ÚCollectReportzSCollection report object.

    Reports can contain arbitrary extra attributes.
    rï   c                óš   — || _         || _        || _        |xs g | _        t	        |«      | _        | j                  j                  |«       y rE   )rA   rC   r>   Úresultrá   r?   rF   rG   )rH   rA   rC   r>   rþ   r?   ræ   s          r5   rJ   zCollectReport.__init__Ñ  sI   € ð ˆŒð ˆŒð !ˆŒð ’l ˆŒô ˜X›ˆŒà�‰×Ñ˜UÕ#rK   c                ó4   — | j                   d | j                   fS rE   )r„   ro   s    r5   r<   zCollectReport.locationò  s   € ð —‘˜T 4§;¡;Ð/Ð/rK   c                óh   — d| j                   ›dt        | j                  «      › d| j                  ›d�S )Nz<CollectReport z lenresult=rê   rë   )rA   r“   rþ   rC   ro   s    r5   rí   zCollectReport.__repr__ø  s4   € Ø  §¡ ¨{¼3¸t¿{¹{Ó;KÐ:LÈIÐVZ×VbÑVbÐUeÐefÐgÐgrK   N)rM   )rA   r@   rC   rB   r>   r=   rþ   zlist[Item | Collector] | Noner?   rö   r¤   r¥   )r¤   r;   r§   )	rª   r«   r¬   rù   r:   rJ   r®   r<   rí   rM   rK   r5   rü   rü   È  su   „ ñð
 €Dð /1ð$àð$ð 8ð$ðð	$ð .ð$ð ,ð$ð 
ó$ðB ð0à	+ò0ó ð0ô
hrK   rü   c                  ó   — e Zd Zdd„Zdd„Zy)ÚCollectErrorReprc                ó   — || _         y rE   )r>   )rH   rÈ   s     r5   rJ   zCollectErrorRepr.__init__ý  s	   € Øˆ�rK   c                ó>   — |j                  | j                  d¬«       y )NT)Úred)rS   r>   )rH   rU   s     r5   rQ   zCollectErrorRepr.toterminal   s   € Ø�‰�—‘ DˆÕ)rK   N)rÈ   r@   r¤   r¥   r¦   )rª   r«   r¬   rJ   rQ   rM   rK   r5   r  r  ü  s   „ óô*rK   r  c                óˆ   — t        | t        t        z  «      r+| j                  «       }| j                  j
                  |d<   |S y )Nú$report_type)r’   rÝ   rü   r�   rì   rª   )r�   Údatas     r5   Úpytest_report_to_serializabler	    s=   € ô �&œ*¤}Ñ4Ô5Ø�‰Ó ˆØ%×/Ñ/×8Ñ8ˆˆ^ÑØˆàrK   c                ó²   — d| v rS| d   dk(  rt         j                  | «      S | d   dk(  rt        j                  | «      S J dj                  | d   «      «       ‚y )Nr  rÝ   rü   z(Unknown report_type unserialize data: {})rÝ   r£   rü   r0   )r  s    r5   Úpytest_report_from_serializabler    so   € ð ˜ÑØ�Ñ <Ò/Ü×(Ñ(¨Ó.Ð.Ø�.Ñ! _Ò4Ü ×+Ñ+¨DÓ1Ð1ð	
Ð@×GÑGØ�Ñ ó
ó 	
ˆuð rK   c                óü  ‡‡‡— 	 	 	 	 dd„Šdˆfd„Š	 	 	 	 dd„Šdˆˆfd„}| j                   j                  «       }t        | j                  d«      rQt        | j                  d«      r"t        | j                  d«      r || «      |d<   n(t	        | j                  «      |d<   n| j                  |d<   |D ]F  }t        ||   t        j                  «      rt        j                  ||   «      ||<   Œ<|d	k(  sŒBd
||<   ŒH |S )z´Return the contents of this report as a dict of builtin entries,
    suitable for serialization.

    This was originally the serialize_report() function from xdist (ca03269).
    c                óÚ   — t        j                  | «      }|j                  «       D ]*  \  }}t        |d«      sŒt        j                  |«      ||<   Œ, t	        | «      j
                  |dœ}|S )NrF   )Útyper  )ÚdataclassesÚasdictÚitemsrR   r  rª   )Úentryr  rN   rË   Ú
entry_datas        r5   Úserialize_repr_entryz-_report_to_json.<locals>.serialize_repr_entry$  sg   € ô ×!Ñ! %Ó(ˆØŸ*™*›,ò 	6‰JˆC�Ü�u˜jÕ)Ü'×.Ñ.¨uÓ5��S’	ð	6ô # 5›k×2Ñ2¸DÑAˆ
ØÐrK   Úreprtracebackc                ó‚   •— t        j                  | «      }| j                  D �cg c]
  } ‰|«      ‘Œ c}|d<   |S c c}w )NÚreprentries)r  r  r  )r  rþ   ró   r  s      €r5   Úserialize_repr_tracebackz1_report_to_json.<locals>.serialize_repr_traceback.  sE   ø€ Ü×#Ñ# MÓ2ˆà-:×-FÑ-Fö!
Ø()Ñ  Õ#ò!
ˆˆ}Ñð ˆùò!
s   ¥<Ú	reprcrashc                ó2   — | �t        j                  | «      S y rE   )r  r  )r  s    r5   Úserialize_repr_crashz-_report_to_json.<locals>.serialize_repr_crash5  s   € ð Ð Ü×%Ñ% iÓ0Ð0àrK   c                ó`  •— | j                   €J ‚t        t        | j                   «      } ‰|j                  «       ‰|j                  «      |j
                  dœ}t        |t        «      r?g |d<   |j                  D ])  \  }}}|d   j                   ‰|«       ‰|«      |f«       Œ+ |S d |d<   |S )N)r  r  r?   Úchain)
r>   r   r   r  r  r?   r’   r   r  rÓ   )Úrepr>   rþ   Úrepr_tracebackÚ
repr_crashÚdescriptionr  r  s         €€r5   Úserialize_exception_longreprz5_report_to_json.<locals>.serialize_exception_longrepr=  sÀ   ø€ Ø�|‰|Ð'Ð'Ð'äœ s§|¡|Ó4ˆá-¨h×.@Ñ.@ÓAÙ5°h×6LÑ6LÓMØ ×)Ñ)ñ"
ˆô
 �hÔ 2Ô3Ø ˆF�7‰OØ;C¿>¹>ò Ñ7� 
¨KØ�w‘×&Ñ&á0°Ó@Ù,¨ZÓ8Ø#ðõðð ˆð #ˆF�7‰OØˆrK   rQ   r>   rþ   N)r  zReprEntry | ReprEntryNativer¤   r©   )r  r   r¤   r©   )r  zReprFileLocation | Noner¤   údict[str, Any] | None)r  r8   r¤   r©   )	rF   ÚcopyrR   r>   r@   r’   rÎ   ÚPathLiker„   )r�   r"  r2   r[   r  r  r  s       @@@r5   rœ   rœ     sõ   ú€ ðØ*ðà	óõðØ*ðà	óöð. 	�‰×ÑÓ€AÜˆv�‰ Ô-Ü�6—?‘? OÔ4¼Ø�O‰O˜[ô:
ñ 9¸Ó@ˆAˆjŠMä §¡Ó0ˆAˆjŠMàŸ™ˆˆ*‰Øò ˆÜ�a˜‘gœrŸ{™{Ô+Ü—i‘i  $¡Ó(ˆAˆdŠGØ�XÓØˆAˆdŠGð	ð
 €HrK   c                ón  ‡ ‡— ˆ fd„Šˆfd„}d
d„}‰ d   rŸd‰ d   v r˜d‰ d   v r‘ |‰ d   d   «      } |‰ d   d   «      }‰ d   d   r?g }‰ d   d   D ]&  \  }}}|j                   ||«       ||«      |f«       Œ( t        |«      }	nt        ||¬«      }	‰ d   d	   D ]  }
 |	j                  |
Ž  Œ |	‰ d<   ‰ S )z­Return **kwargs that can be used to construct a TestReport or
    CollectReport instance.

    This was originally the serialize_report() function from xdist (ca03269).
    c                ó&  •— | d   }| d   }|dk(  rZd }d }d }|d   rt        di |d   ¤Ž}|d   rt        di |d   ¤Ž}|d   rt        |d   d   «      }t        |d   ||||d   ¬	«      }|S |d
k(  rt	        |d   «      }|S t        |t        ‰«       S )Nr  r  r   ÚreprfuncargsÚreprfilelocÚ
reprlocalsÚlinesr»   )r+  r(  r*  r)  r»   r   rM   )r   r   r   r   r   r¶   rÝ   )r  r  Ú
entry_typer(  r)  r*  Ú	reprentryr¡   s          €r5   Údeserialize_repr_entryz8_report_kwargs_from_json.<locals>.deserialize_repr_entrym  sÜ   ø€ Ø˜&Ñ!ˆØ Ñ'ˆ
Ø˜Ò$ØˆLØˆKØˆJØ�NÒ#Ü+ÑC¨d°>Ñ.BÑC�Ø�MÒ"Ü.ÑE°°mÑ1DÑE�Ø�LÒ!Ü'¨¨\Ñ(:¸7Ñ(CÓD�
ä5>Ø˜7‘mØ)Ø%Ø'Ø˜7‘mô6ˆIð Ðð	 Ð,Ò,Ü'¨¨W©Ó6ˆIð Ðô ,¨J¼
ÀJÔOØÐrK   c                ó\   •— | d   D �cg c]
  } ‰|«      ‘Œ c}| d<   t        di | ¤ŽS c c}w )Nr  rM   r   )Úrepr_traceback_dictró   r.  s     €r5   Údeserialize_repr_tracebackz<_report_kwargs_from_json.<locals>.deserialize_repr_tracebackˆ  s?   ø€ à/BÀ=Ñ/Qö.
Ø*+Ñ" 1Õ%ò.
Ð˜MÑ*ô Ñ3Ð2Ñ3Ð3ùò.
s   ‰)c                ó   — | �t        di | ¤ŽS y )NrM   r   )Úrepr_crash_dicts    r5   Údeserialize_repr_crashz8_report_kwargs_from_json.<locals>.deserialize_repr_crashŽ  s   € ØÐ&Ü#Ñ6 oÑ6Ð6àrK   r>   r  r  r  )r  r  r?   )r3  r#  )rÓ   r   r   Ú
addsection)r¡   r1  r4  r  r  r  Úrepr_traceback_dataÚrepr_crash_datar!  Úexception_infoÚsectionr.  s   `          @r5   rŸ   rŸ   f  s$  ù€ ôô64óð 	�:ÒØ˜: jÑ1Ñ1Ø˜z¨*Ñ5Ñ5á2Ø�zÑ" ?Ñ3ó
ˆñ +¨:°jÑ+AÀ+Ñ+NÓOˆ	Ø�jÑ! 'Ò*ØˆEØEOØñFàñFò 	ÑAÐ# _°kð —‘á2Ð3FÓGÙ.¨Ó?Ø#ðõð	ô FXØóF‰Nô /Ø+Ø#ôˆNð
 " *Ñ-¨jÑ9ò 	0ˆGØ%ˆN×%Ñ% wÒ/ð	0à!/ˆ
�:ÑàÐrK   )r³   r@   r´   ztype[BaseReport]r¤   r   )r¿   r    r¸   rø   rÀ   zExceptionInfo[BaseException])r¿   r    rÀ   zEExceptionInfo[BaseExceptionGroup[BaseException | BaseExceptionGroup]]r¤   ztuple[str, int, str])r�   zCollectReport | TestReportr¤   r#  )r  r©   r¤   z!CollectReport | TestReport | None)r�   r8   r¤   r©   )r¡   r©   r¤   r©   )=Ú
__future__r   Úcollections.abcr   r   r   r   r  Úior   rÎ   r	   ÚsysÚtypingr
   r   r   r   r   r   Ú_pytest._code.coder   r   r   r   r   r   r   r   r   r   r   Ú_pytest._ior   Ú_pytest.configr   Ú_pytest.nodesr   r    Ú_pytest.outcomesr!   r"   r)   Úexceptiongroupr%   Útyping_extensionsr&   Ú_pytest.runnerr'   r6   r8   r¶   rÁ   rÛ   rÝ   rü   r  r	  r  rœ   rŸ   rM   rK   r5   ú<module>rG     sc  ðå "å $Ý $Ý #Ý $Û Ý Û 	Ý Û 
Ý Ý Ý Ý Ý Ý  å 1Ý ,Ý ,Ý (Ý .Ý 0Ý /Ý +Ý )Ý ,Ý +Ý &Ý !Ý #Ý Ý !Ý !ð ×Ñ�gÒÝ1ñ Ý&å'ò	÷uñ uðp*Øð*Ø"2ð*àó*ð
Ø
ð
Ø$ð
Ø/Kó
ðØ
ðàRðð óôBT
�ô T
ðn ô0h�Jó 0hó ð0hôf*�|ô *ðØ&ðàóðØ
ðà&óóFôRPrK   