Ë
    •Kêj²_  ã                  ó´  — 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) d d l*m+Z+ d d!l*m,Z, ejZ                  d"k  rd d#l.m/Z/ erd d$l0m1Z1 d d%l2m3Z3 d&„ Z4 G d'„ d(«      Z5	 	 	 	 	 	 d6d)„Z6	 	 	 	 	 	 d7d*„Z7	 	 	 	 	 	 d8d+„Z8 G d,„ d-e5«      Z9e G d.„ d/e5«      «       Z: G d0„ d1e«      Z;	 	 	 	 d9d2„Z<	 	 	 	 d:d3„Z=d;d4„Z>d<d5„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)Úcoerce_node_id)ÚNodeId)Ú	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       úT/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/_pytest/reports.pyÚgetworkerinfoliner8   3   s€   € ðØ×$Ñ$Ð$øÜò Ø�O‰OˆØˆj×Ñ  >Ñ!2°2°AÐ!6Ð7ˆØ$=×$DÑ$DØˆd‰G�Q�}Ñ% s¨A¨l©Oó%
ð 	
ˆÔ ð Šðús   ‚ ŽAA!Á A!c                  óš  — 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d#d„«       Zej                  d$d„«       Ze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úOExceptionInfo[BaseException] | tuple[str, int, str] | str | TerminalRepr | NoneÚlongreprzlist[tuple[str, str]]Úsectionsú&Literal['passed', 'failed', 'skipped']Úoutcomer    Ú_idc                ó:   — | j                   j                  |«       y ©N)Ú__dict__Úupdate)ÚselfÚkws     r7   Ú__init__zBaseReport.__init__J   s   € Ø�‰×Ñ˜RÕ ó    c                ó,   — t        | j                  «      S rF   )ÚstrrD   ©rI   s    r7   ÚnodeidzBaseReport.nodeidM   s   € ä�4—8‘8‹}ÐrL   c                ó8   — t        j                  |«      | _        y rF   )r    ÚparserD   )rI   Úvalues     r7   rP   zBaseReport.nodeidQ   s   € ä—<‘< Ó&ˆ�rL   c                ó   — | j                   S )zPThe structured (non-string) form of ``nodeid``.

        :meta private:
        ©rD   rO   s    r7   r,   zBaseReport.idU   s   € ð �x‰xˆrL   c                 ó   — y rF   © )rI   Úkeys     r7   Ú__getattr__zBaseReport.__getattr___   s   � rL   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)Nr3   Ú
toterminalz<unprintable longrepr>)
Úhasattrr8   r3   Úliner@   r   r   r[   rN   ÚUnicodeEncodeError)rI   ÚoutÚworker_infor@   Úlongrepr_terminalr6   s         r7   r[   zBaseReport.toterminala   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rF   )rA   Ú
startswith)rI   ÚprefixÚnameÚcontents       r7   Úget_sectionszBaseReport.get_sectionsu   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   Ú	hasmarkupr[   ÚgetvalueÚstrip)rI   ÚfileÚtwÚexcs       r7   ÚlongreprtextzBaseReport.longreprtextz   s?   € ô ‹zˆÜ˜DÓ!ˆØˆŒØ�‰˜ÔØ�m‰m‹oˆØ�y‰y‹{ÐrL   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rF   rW   ©Ú.0rd   rf   s      r7   ú	<genexpr>z$BaseReport.caplog.<locals>.<genexpr>Ž   s   è ø€ ò 
Ù)˜ ŒGñ
ùó   ‚zCaptured log©Újoinrg   rO   s    r7   ÚcaplogzBaseReport.caplogˆ   s-   € ð �y‰yñ 
Ø-1×->Ñ->¸~Ó-Nô
ó 
ð 	
rL   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rF   rW   rs   s      r7   ru   z'BaseReport.capstdout.<locals>.<genexpr>˜   ó   è ø€ ò 
Ù)˜ ŒGñ
ùrv   zCaptured stdoutrw   rO   s    r7   Ú	capstdoutzBaseReport.capstdout’   ó.   € ð �w‰wñ 
Ø-1×->Ñ->Ð?PÓ-Qô
ó 
ð 	
rL   c                óP   — dj                  d„ | j                  d«      D «       «      S )zbReturn captured text from stderr, if capturing is enabled.

        .. versionadded:: 3.0
        r{   c              3  ó&   K  — | ]	  \  }}|–— Œ y ­wrF   rW   rs   s      r7   ru   z'BaseReport.capstderr.<locals>.<genexpr>¢   r}   rv   zCaptured stderrrw   rO   s    r7   Ú	capstderrzBaseReport.capstderrœ   r   rL   c                ó    — | j                   dk(  S )zWhether the outcome is passed.Úpassed©rC   rO   s    r7   r„   zBaseReport.passed¦   ó   € ð �|‰|˜xÑ'Ð'rL   c                ó    — | j                   dk(  S )zWhether the outcome is failed.Úfailedr…   rO   s    r7   rˆ   zBaseReport.failed«   r†   rL   c                ó    — | j                   dk(  S )zWhether the outcome is skipped.Úskippedr…   rO   s    r7   rŠ   zBaseReport.skipped°   s   € ð �|‰|˜yÑ(Ð(rL   c                ó.   — | j                   j                  S )z3The path portion of the reported node, as a string.)rD   ÚpathrO   s    r7   ÚfspathzBaseReport.fspathµ   s   € ð �x‰x�}‰}ÐrL   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.
        TrW   rO   s    r7   Úcount_towards_summaryz BaseReport.count_towards_summaryº   s   € ð rL   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>   )rI   Ú_fspathÚ_linenoÚdomains       r7   Ú	head_linezBaseReport.head_lineÆ   s&   € ð  �=‰=Ð$Ø'+§}¡}Ñ$ˆG�W˜fØˆMØrL   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Ú
isinstancerN   r   Úlenr   r#   )rI   r—   Údefault_markupÚ	_categoryÚ_shortÚverboseÚwordÚmarkups           r7   Ú_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,ð,õ	
rL   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    r7   Ú_to_jsonzBaseReport._to_jsonð   s   € ô ˜tÓ$Ð$rL   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.
        rW   )Ú_report_kwargs_from_json)ÚclsÚ
reportdictÚkwargss      r7   Ú
_from_jsonzBaseReport._from_jsonú   s   € ô *¨*Ó5ˆÙ‰}�V‰}ÐrL   N)rJ   r
   ÚreturnÚNone©r­   rN   )rS   rN   r­   r®   ©r­   r    )rX   rN   r­   r
   ©r_   r   r­   r®   )rd   rN   r­   zIterator[tuple[str, str]])r­   Úbool)r­   r;   )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__rK   ÚpropertyrP   Úsetterr,   r   rY   r[   rg   ro   ry   r~   r‚   r„   rˆ   rŠ   r�   r�   r”   r£   r¦   Úclassmethodr¬   rW   rL   r7   r:   r:   ?   s~  … Ø
ÓØ0Ó0àWóð $Ó#Ø3Ó3à	ƒKó!ð òó ðð ‡]�]ò'ó ð'ð òó ðñ ã3óó(&ð
 òó ðð ò
ó ð
ð ò
ó ð
ð ò
ó ð
ð ò(ó ð(ð ò(ó ð(ð ò)ó ð)ð òó ðð ò	ó ð	ð òó ðð(
Øð
Ø.@ð
à	'ó
ó*%ð ò
ó ñ
rL   r:   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	   ÚRuntimeErrorrj   )Ú	type_nameÚreport_classrª   Úurlr¼   s        r7   Ú_report_unserialization_failurerÁ     su   € ð 8€CÜ‹Z€FÜ
ˆ9˜VÕ$Ü
Ð9¸)¸ÐEÈfÕUÜ
ˆ]˜<˜.Ð)°&Õ9Ü
ˆ:˜fÕ%Ü
Ð'¨ uÐ-°fÕ=Ü
ˆ9˜VÕ$Ü
�v—‘Ó(Ó
)Ð)rL   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       r7   Ú_format_failed_longreprrÌ     s[   € ð ‡y�y�FÒØ×$Ñ$ WÓ-ˆð €Oð ×(Ñ(Ø˜4Ÿ;™;×0Ñ0°¸FÓCð )ó 
ˆð €OrL   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)rt   r$   s     r7   ru   z?_format_exception_group_all_skipped_longrepr.<locals>.<genexpr>+  s   è ø€ ò Ø7;Œ�Ð*¨E×2ñùs   ‚r˜   é   rŠ   Úmsgr   z; )Ú_getreprcrashÚallrS   Ú
exceptionsÚ
reportinfoÚosr�   rN   rŒ   ÚlinenoÚmessagerÑ   ÚargsÚappendrx   )rÊ   rË   ÚrrŒ   r]   ÚlocÚdefault_msgÚmsgsÚ	exceptionÚmÚreasonr@   s               r7   Ú,_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Ø€OrL   c                  ó˜   — e Zd ZU dZdZded<   ded<   edd„«       Z	 	 	 	 	 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.
    FrN   Úwasxfailr    rD   c                ó   — | j                   S ©z/The structured (non-string) form of ``nodeid``.rU   rO   s    r7   r,   zTestReport.idS  ó   € ð �x‰xˆrL   Nc                ó  — t        |«      | _        || _        || _        || _        || _        || _        t        |xs g «      | _        t        |«      | _	        || _
        |	| _        |
| _        | j                  j                  |«       y rF   )r   rD   r>   ÚkeywordsrC   r@   r<   ÚlistÚuser_propertiesrA   ÚdurationÚstartÚstoprG   rH   )rI   rP   r>   rì   rC   r@   r<   rA   rï   rð   rñ   rî   Úextras                r7   rK   zTestReport.__init__X  s‰   € ô( " &Ó)ˆŒð 6>ˆŒð
 3;ˆŒð ˆŒð !ˆŒð ;?ˆŒ	ô  $ OÒ$9°rÓ:ˆÔô ˜X›ˆŒð  (ˆŒð "ˆŒ
àˆŒ	à�‰×Ñ˜UÕ#rL   c           	     ó„   — d| j                   j                  › d| j                  ›d| j                  ›d| j                  ›d�	S )Nú<ú z when=ú	 outcome=ú>)Ú	__class__r´   rP   r<   rC   rO   s    r7   Ú__repr__zTestReport.__repr__—  s?   € Ø�4—>‘>×*Ñ*Ð+¨1¨T¯[©[¨O¸6À$Ç)Á)ÀÈiÐX\×XdÑXdÐWgÐghÐiÐirL   c                óp  — |j                   }|dk7  sJ ‚|j                  }|j                  }|j                  }t        j                  |j                  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}
t1        t        t,        t2        t,        z        |«      }t5        ||«      }nd}
t7        |||«      }|j8                  D ]  \  }}}|	j;                  d	|› d
|› �|f«       Œ!  | |j<                  |j>                  ||
|||	||||j@                  ¬«      S )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ñ   ÚdictÚfromkeysrì   rË   r›   r   rS   r$   Ú	ExceptionrÔ   rÐ   r×   rØ   r�   rÚ   rN   rŒ   rÙ   r'   Úsplitr   ÚBaseExceptionrä   rÌ   Ú_report_sectionsrÜ   r,   r>   rî   )r©   rÊ   rÃ   r<   rï   rð   rñ   rì   rË   rA   rC   r@   rÝ   rŒ   r]   ÚrwhenrX   rf   s                     r7   Úfrom_item_and_callzTestReport.from_item_and_callš  s  € ð �y‰yˆà�yÒ Ð Ð Ø—=‘=ˆØ—
‘
ˆØ�y‰yˆÜ-1¯]©]¸4¿=¹=È!Ó-LˆØ—,‘,ˆØˆØ�|Š|Ø>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áØ�G‰GØ�M‰MØØØØØØØØØ ×0Ñ0ô
ð 	
rL   r°   )rW   r   r   r   N)rP   ústr | NodeIdr>   ztuple[str, int | None, str]rì   zMapping[str, Literal[1]]rC   rB   r@   r?   r<   z$Literal['setup', 'call', 'teardown']rA   ú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·   r¸   r,   rK   rù   rº   r  rW   rL   r7   ræ   ræ   D  sÕ   … ñð €Hð ƒMà	ƒKàòó ðð  /1ØØØØ?Cð!=$àð=$ð .ð=$ð +ð	=$ð
 8ð=$ðð=$ð 3ð=$ð ,ð=$ð ð=$ð ð=$ð ð=$ð  =ð!=$ð$ 
ó%=$ó~jð òE
ó ñE
rL   ræ   c                  ór   — e Zd ZU dZdZded<   ed
d„«       Z	 d	 	 	 	 	 	 	 	 	 	 	 dd„Ze	 	 dd„«       Z	dd„Z
y	)ÚCollectReportzSCollection report object.

    Reports can contain arbitrary extra attributes.
    rû   r    rD   c                ó   — | j                   S ré   rU   rO   s    r7   r,   zCollectReport.idî  rê   rL   c                óä   — t        |t        «      r|nt        j                  |«      | _        || _        || _        |xs g | _        t        |«      | _        | j                  j                  |«       y rF   )r›   r    rR   rD   rC   r@   Úresultrí   rA   rG   rH   )rI   rP   rC   r@   r  rA   rò   s          r7   rK   zCollectReport.__init__ó  s]   € ô (¨´Ô7‘6¼V¿\¹\È&Ó=QˆŒð ˆŒð !ˆŒð ’l ˆŒô ˜X›ˆŒà�‰×Ñ˜UÕ#rL   c                ó4   — | j                   d | j                   fS rF   )r�   rO   s    r7   r>   zCollectReport.location  s   € ð —‘˜T 4§;¡;Ð/Ð/rL   c                óh   — d| j                   ›dt        | j                  «      › d| j                  ›d�S )Nz<CollectReport z lenresult=rö   r÷   )rP   rœ   r  rC   rO   s    r7   rù   zCollectReport.__repr__  s4   € Ø  §¡ ¨{¼3¸t¿{¹{Ó;KÐ:LÈIÐVZ×VbÑVbÐUeÐefÐgÐgrL   Nr°   )rW   )rP   r  rC   rB   r@   r?   r  zlist[Item | Collector] | NonerA   r  r­   r®   )r­   r=   r¯   )r´   rµ   r¶   r  r<   r·   r¸   r,   rK   r>   rù   rW   rL   r7   r  r  ã  sŒ   … ñð
 €Dà	ƒKàòó ðð /1ð$àð$ð 8ð$ðð	$ð .ð$ð ,ð$ð 
ó$ðB ð0à	+ò0ó ð0ô
hrL   r  c                  ó   — e Zd Zdd„Zdd„Zy)ÚCollectErrorReprc                ó   — || _         y rF   )r@   )rI   rÓ   s     r7   rK   zCollectErrorRepr.__init__  s	   € Øˆ�rL   c                ó>   — |j                  | j                  d¬«       y )NT)Úred)r]   r@   )rI   r_   s     r7   r[   zCollectErrorRepr.toterminal"  s   € Ø�‰�—‘ DˆÕ)rL   N)rÓ   rN   r­   r®   r±   )r´   rµ   r¶   rK   r[   rW   rL   r7   r  r    s   „ óô*rL   r  c                óˆ   — t        | t        t        z  «      r+| j                  «       }| j                  j
                  |d<   |S y )Nú$report_type)r›   ræ   r  r¦   rø   r´   )r–   Údatas     r7   Úpytest_report_to_serializabler  &  s=   € ô �&œ*¤}Ñ4Ô5Ø�‰Ó ˆØ%×/Ñ/×8Ñ8ˆˆ^ÑØˆàrL   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  r2   )r  s    r7   Úpytest_report_from_serializabler  1  so   € ð ˜ÑØ�Ñ <Ò/Ü×(Ñ(¨Ó.Ð.Ø�.Ñ! _Ò4Ü ×+Ñ+¨DÓ1Ð1ð	
Ð@×GÑGØ�Ñ ó
ó 	
ˆuð rL   c                ó>  ‡‡‡— 	 	 	 	 dd„Šdˆfd„Š	 	 	 	 dd„Šdˆˆfd„}| j                   j                  «       }d|v rt        |j                  d«      «      |d<   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 )NrG   )Útyper  )ÚdataclassesÚasdictÚitemsr\   r  r´   )Úentryr  rX   rS   Ú
entry_datas        r7   Úserialize_repr_entryz-_report_to_json.<locals>.serialize_repr_entryF  sg   € ô ×!Ñ! %Ó(ˆØŸ*™*›,ò 	6‰JˆC�Ü�u˜jÕ)Ü'×.Ñ.¨uÓ5��S’	ð	6ô # 5›k×2Ñ2¸DÑAˆ
ØÐrL   Úreprtracebackc                ó‚   •— t        j                  | «      }| j                  D �cg c]
  } ‰|«      ‘Œ c}|d<   |S c c}w )NÚreprentries)r  r   r'  )r%  r  Úxr$  s      €r7   Úserialize_repr_tracebackz1_report_to_json.<locals>.serialize_repr_tracebackP  sE   ø€ Ü×#Ñ# MÓ2ˆà-:×-FÑ-Fö!
Ø()Ñ  Õ#ò!
ˆˆ}Ñð ˆùò!
s   ¥<Ú	reprcrashc                ó2   — | �t        j                  | «      S y rF   )r  r   )r*  s    r7   Úserialize_repr_crashz-_report_to_json.<locals>.serialize_repr_crashW  s   € ð Ð Ü×%Ñ% iÓ0Ð0àrL   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%  rA   Úchain)
r@   r   r   r*  r%  rA   r›   r   r.  rÜ   )Úrepr@   r  Úrepr_tracebackÚ
repr_crashÚdescriptionr,  r)  s         €€r7   Ú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ØˆrL   rD   rP   r[   r@   r  N)r"  zReprEntry | ReprEntryNativer­   r³   )r%  r   r­   r³   )r*  zReprFileLocation | Noner­   údict[str, Any] | None)r/  r:   r­   r³   )
rG   ÚcopyrN   Úpopr\   r@   r›   rØ   ÚPathLiker�   )r–   r3  r4   re   r,  r$  r)  s       @@@r7   r¥   r¥   ?  s  ú€ ðØ*ðà	óõðØ*ðà	óöð. 	�‰×ÑÓ€AØ��zô
 ˜!Ÿ%™% ›,Ó'ˆˆ(‰Üˆ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ð	ð
 €HrL   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   rW   )r   r   r   r   r   rÁ   ræ   )r#  r  Ú
entry_typer:  r;  r<  Ú	reprentryrª   s          €r7   Údeserialize_repr_entryz8_report_kwargs_from_json.<locals>.deserialize_repr_entry•  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ØÐrL   c                ó\   •— | d   D �cg c]
  } ‰|«      ‘Œ c}| d<   t        di | ¤ŽS c c}w )Nr'  rW   r   )Úrepr_traceback_dictr(  r@  s     €r7   Ú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 )NrW   r   )Úrepr_crash_dicts    r7   Údeserialize_repr_crashz8_report_kwargs_from_json.<locals>.deserialize_repr_crash¶  s   € ØÐ&Ü#Ñ6 oÑ6Ð6àrL   r@   r*  r%  r.  )r%  r*  rA   )rE  r4  )rÜ   r   r   Ú
addsection)rª   rC  rF  r%  r*  r.  Úrepr_traceback_dataÚrepr_crash_datar2  Úexception_infoÚsectionr@  s   `          @r7   r¨   r¨   Ž  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à!/ˆ
�:ÑàÐrL   )r¾   rN   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­   r4  )r  r³   r­   z!CollectReport | TestReport | None)r–   r:   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.nodeidr   r    Ú_pytest.nodesr!   r"   Ú_pytest.outcomesr#   r$   r+   Úexceptiongroupr'   Útyping_extensionsr(   Ú_pytest.runnerr)   r8   r:   rÁ   rÌ   rä   ræ   r  r  r  r  r¥   r¨   rW   rL   r7   ú<module>rZ     si  ðå "å $Ý $Ý #Ý $Û Ý Û 	Ý Û 
Ý Ý Ý Ý Ý Ý  å 1Ý ,Ý ,Ý (Ý .Ý 0Ý /Ý +Ý )Ý ,Ý +Ý &Ý !Ý )Ý !Ý #Ý Ý !Ý !ð ×Ñ�gÒÝ1ñ Ý&å'ò	÷Fñ FðR*Øð*Ø"2ð*àó*ð
Ø
ð
Ø$ð
Ø/Kó
ðØ
ðàRðð óôB\
�ô \
ð~ ô7h�Jó 7hó ð7hôt*�|ô *ðØ&ðàóðØ
ðà&óóLô^PrL   