§
    öyIf¥Q  ã                   óT  — 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 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rd d$l+m,Z, d%„ Z- ed&d'¬(¦  «        Z. G d)„ d'¦  «        Z/d*e0d+ee/         d,efd-„Z1e	 G d.„ d/e/¦  «        ¦   «         Z2e	 G d0„ d1e/¦  «        ¦   «         Z3 G d2„ d3e!¦  «        Z4d4ee3e2f         d,eee0ef                  fd5„Z5d6ee0ef         d,eee3e2f                  fd7„Z6d4e/d,ee0ef         fd8„Z7d9ee0ef         d,ee0ef         fd:„Z8dS );é    N)ÚStringIO)Úpprint)ÚAny)Úcast)ÚDict)Úfinal)ÚIterable)ÚIterator)ÚList)ÚLiteral)ÚMapping)ÚNoReturn)ÚOptional)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnion)ÚExceptionChainRepr)ÚExceptionInfo)ÚExceptionRepr)Ú	ReprEntry)ÚReprEntryNative)ÚReprExceptionInfo©ÚReprFileLocation)ÚReprFuncArgs)Ú
ReprLocals©ÚReprTraceback)ÚTerminalRepr)ÚTerminalWriter)ÚConfig)Ú	Collector)ÚItem)Úskip)ÚCallInfoc                 óÖ   — 	 | j         S # t          $ rU | j        } dj        |d         d d…         Ž }d                     |d         |d         ||d         ¦  «        x| _         }|cY S w xY w)Nz{}.{}.{}Úversion_infoé   z[{}] {} -- Python {} {}ÚidÚsysplatformÚ
executable)Ú_workerinfocacheÚAttributeErrorÚ
workerinfoÚformat)ÚnodeÚdÚverÚss       úC/var/www/piapp/venv/lib/python3.11/site-packages/_pytest/reports.pyÚgetworkerinfoliner7   -   s�   € ðØÔ$Ð$øÝð ð ð ØŒOˆØˆjÔ  >Ô!2°2°A°2Ô!6Ð7ˆØ$=×$DÒ$DØˆdŒG�Q�}Ô% s¨A¨l¬Oñ%
ô %
ð 	
ˆÔ ð ˆˆˆðøøøs   ‚	 ‰AA(Á'A(Ú_RÚ
BaseReport)Úboundc                   óÊ  — e Zd ZU ee         ed<   eeeee         ef                  ed<   ede	e
         eeeef         eef         ed<   eeeef                  ed<   eed<   ed         ed<   d	ed
dfd„Zerded
efd„Zded
dfd„Zded
eeeef                  fd„Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Zed
efd„¦   «         Z ed
ee         fd„¦   «         Z!de"fd„Z#d
e$eef         fd„Z%e&de'e(         d e$ee)f         d
e(fd!„¦   «         Z*dS )"r9   ÚwhenÚlocationNÚlongreprÚsectionsÚnodeid©ÚpassedÚfailedÚskippedÚoutcomeÚkwÚreturnc                 ó:   — | j                              |¦  «         d S ©N)Ú__dict__Úupdate)ÚselfrF   s     r6   Ú__init__zBaseReport.__init__F   s   € ØŒ×Ò˜RÑ Ô Ð Ð Ð ó    Úkeyc                 ó   — d S rI   © )rL   rO   s     r6   Ú__getattr__zBaseReport.__getattr__K   s   € € € rN   Úoutc                 óz  — t          | d¦  «        r+t          | j        ¦  «        }|r|                     |¦  «         | j        }|€d S t          |d¦  «        r,t          t          |¦  «        }|                     |¦  «         d S 	 t          |¦  «        }n# t          $ r d}Y nw xY w|                     |¦  «         d S )Nr2   Ú
toterminalz<unprintable longrepr>)
Úhasattrr7   r2   Úliner>   r   r!   rU   ÚstrÚUnicodeEncodeError)rL   rS   Úworker_infor>   Úlongrepr_terminalr5   s         r6   rU   zBaseReport.toterminalM   sÔ   € Ý�4˜Ñ Ô ð 	&Ý+¨D¬IÑ6Ô6ˆKØð &Ø—’˜Ñ%Ô%Ð%à”=ˆØÐØˆFå�8˜\Ñ*Ô*ð 	Ý $¥\°8Ñ <Ô <ÐØ×(Ò(¨Ñ-Ô-Ð-Ð-Ð-ð-Ý˜‘M”M��øÝ%ð -ð -ð -Ø,���ð-øøøà�HŠH�Q‰KŒKˆKˆKˆKs   ÂB ÂB#Â"B#Úprefixc              #   óZ   K  — | j         D ] \  }}|                     |¦  «        r||fV — Œ!d S rI   )r?   Ú
startswith)rL   r\   ÚnameÚcontents       r6   Úget_sectionszBaseReport.get_sectionsa   sJ   è è € Ø!œ]ð 	&ð 	&‰MˆD�'Ø�Š˜vÑ&Ô&ð &Ø˜g�oÐ%Ð%Ð%øð	&ð 	&rN   c                 óÄ   — t          ¦   «         }t          |¦  «        }d|_        |                      |¦  «         |                     ¦   «         }|                     ¦   «         S )zRead-only property that returns the full string representation of
        ``longrepr``.

        .. versionadded:: 3.0
        F)r   r"   Ú	hasmarkuprU   ÚgetvalueÚstrip)rL   ÚfileÚtwÚexcs       r6   ÚlongreprtextzBaseReport.longreprtextf   sN   € õ ‰zŒzˆÝ˜DÑ!Ô!ˆØˆŒØ�Š˜ÑÔÐØ�mŠm‰oŒoˆØ�yŠy‰{Œ{ÐrN   c                 óf   — d                      d„ |                      d¦  «        D ¦   «         ¦  «        S )z_Return captured log lines, if log capturing is enabled.

        .. versionadded:: 3.5
        ú
c              3   ó    K  — | ]	\  }}|V — Œ
d S rI   rQ   ©Ú.0r\   r`   s      r6   ú	<genexpr>z$BaseReport.caplog.<locals>.<genexpr>z   s7   è è € ð 
ð 
Ù)˜ ˆGð
ð 
ð 
ð 
ð 
ð 
rN   zCaptured log©Újoinra   ©rL   s    r6   ÚcaplogzBaseReport.caplogt   sD   € ð �yŠyð 
ð 
Ø-1×->Ò->¸~Ñ-NÔ-Nð
ñ 
ô 
ñ 
ô 
ð 	
rN   c                 óf   — d                      d„ |                      d¦  «        D ¦   «         ¦  «        S )zbReturn captured text from stdout, if capturing is enabled.

        .. versionadded:: 3.0
        Ú c              3   ó    K  — | ]	\  }}|V — Œ
d S rI   rQ   rm   s      r6   ro   z'BaseReport.capstdout.<locals>.<genexpr>„   ó7   è è € ð 
ð 
Ù)˜ ˆGð
ð 
ð 
ð 
ð 
ð 
rN   zCaptured stdoutrp   rr   s    r6   Ú	capstdoutzBaseReport.capstdout~   óE   € ð �wŠwð 
ð 
Ø-1×->Ò->Ð?PÑ-QÔ-Qð
ñ 
ô 
ñ 
ô 
ð 	
rN   c                 óf   — d                      d„ |                      d¦  «        D ¦   «         ¦  «        S )zbReturn captured text from stderr, if capturing is enabled.

        .. versionadded:: 3.0
        ru   c              3   ó    K  — | ]	\  }}|V — Œ
d S rI   rQ   rm   s      r6   ro   z'BaseReport.capstderr.<locals>.<genexpr>Ž   rw   rN   zCaptured stderrrp   rr   s    r6   Ú	capstderrzBaseReport.capstderrˆ   ry   rN   c                 ó   — | j         dk    S )zWhether the outcome is passed.rB   ©rE   rr   s    r6   rB   zBaseReport.passed’   ó   € ð Œ|˜xÒ'Ð'rN   c                 ó   — | j         dk    S )zWhether the outcome is failed.rC   r~   rr   s    r6   rC   zBaseReport.failed—   r   rN   c                 ó   — | j         dk    S )zWhether the outcome is skipped.rD   r~   rr   s    r6   rD   zBaseReport.skippedœ   s   € ð Œ|˜yÒ(Ð(rN   c                 óB   — | j                              d¦  «        d         S )z3The path portion of the reported node, as a string.z::r   )r@   Úsplitrr   s    r6   ÚfspathzBaseReport.fspath¡   s   € ð Œ{× Ò  Ñ&Ô& qÔ)Ð)rN   c                 ó   — dS )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.
        TrQ   rr   s    r6   Úcount_towards_summaryz BaseReport.count_towards_summary¦   s	   € ð ˆtrN   c                 ó.   — | j         �| j         \  }}}|S dS )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=   )rL   r„   ÚlinenoÚdomains       r6   Ú	head_linezBaseReport.head_line²   s$   € ð  Œ=Ð$Ø%)¤]Ñ"ˆF�F˜FØˆMØˆtrN   Úconfigc                 óF   — |j                              | |¬¦  «        \  }}}|S )N)Úreportr‹   )ÚhookÚpytest_report_teststatus)rL   r‹   Ú	_categoryÚ_shortÚverboses        r6   Ú_get_verbose_wordzBaseReport._get_verbose_wordÇ   s2   € Ø%+¤[×%IÒ%IØ ð &Jñ &
ô &
Ñ"ˆ	�6˜7ð ˆrN   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_jsonrr   s    r6   Ú_to_jsonzBaseReport._to_jsonÍ   s   € õ ˜tÑ$Ô$Ð$rN   ÚclsÚ
reportdictc                 ó0   — 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.
        rQ   )Ú_report_kwargs_from_json)r—   r˜   Úkwargss      r6   Ú
_from_jsonzBaseReport._from_json×   s#   € õ *¨*Ñ5Ô5ˆØˆsˆ}ˆ}�Vˆ}ˆ}ÐrN   )+Ú__name__Ú
__module__Ú__qualname__r   rX   Ú__annotations__r   Úintr   r   ÚBaseExceptionr!   r   r   r   rM   r   rR   r"   rU   r
   ra   Úpropertyri   rs   rx   r|   ÚboolrB   rC   rD   r„   r†   rŠ   r#   r“   r   r–   Úclassmethodr   r8   Úobjectrœ   rQ   rN   r6   r9   r9   <   sO  € € € € € € Ø
�3Œ-ÐÐÑØ�u˜S (¨3¤-°Ð4Ô5Ô6Ð6Ð6Ñ6ØØˆm˜MÔ*¨E°#°s¸C°-Ô,@À#À|ÐSôð ð ñ ð �5˜˜c˜”?Ô#Ð#Ð#Ñ#Ø€K€K�KØÐ2Ô3Ð3Ð3Ñ3ð!˜Sð ! Tð !ð !ð !ð !ð ð 4à3 3Ð3¨3Ð3Ð3Ð3Ð3ð˜nð °ð ð ð ð ð(& 3ð &¨8°E¸#¸s¸(´OÔ+Dð &ð &ð &ð &ð
 ð˜cð ð ð ñ „Xðð ð
˜ð 
ð 
ð 
ñ „Xð
ð ð
˜3ð 
ð 
ð 
ñ „Xð
ð ð
˜3ð 
ð 
ð 
ñ „Xð
ð ð(˜ð (ð (ð (ñ „Xð(ð ð(˜ð (ð (ð (ñ „Xð(ð ð)˜ð )ð )ð )ñ „Xð)ð ð*˜ð *ð *ð *ñ „Xð*ð ð	 tð 	ð 	ð 	ñ „Xð	ð ð˜8 Cœ=ð ð ð ñ „Xðð(¨ð ð ð ð ð%˜$˜s C˜xœ.ð %ð %ð %ð %ð ð
˜˜Rœð 
¨d°3¸°;Ô.?ð 
ÀBð 
ð 
ð 
ñ „[ð
ð 
ð 
rN   Ú	type_nameÚreport_classrG   c                 óB  — d}t          ¦   «         }t          d|¬¦  «         t          d| z  |¬¦  «         t          d|z  |¬¦  «         t          ||¬¦  «         t          d|z  |¬¦  «         t          d|¬¦  «         t          |                     ¦   «         ¦  «        ‚)Nz+https://github.com/pytest-dev/pytest/issueszd----------------------------------------------------------------------------------------------------)Ústreamz.INTERNALERROR: Unknown entry type returned: %szreport_name: %szPlease report this bug at %s)r   r   ÚRuntimeErrorrd   )r§   r¨   r˜   Úurlrª   s        r6   Ú_report_unserialization_failurer­   å   s¯   € ð 8€CÝ‰ZŒZ€FÝ
ˆ9˜VÐ$Ñ$Ô$Ð$Ý
Ð;¸iÑGÐPVÐWÑWÔWÐWÝ
Ð˜|Ñ+°FÐ;Ñ;Ô;Ð;Ý
ˆ:˜fÐ%Ñ%Ô%Ð%Ý
Ð)¨CÑ/¸Ð?Ñ?Ô?Ð?Ý
ˆ9˜VÐ$Ñ$Ô$Ð$Ý
�v—’Ñ(Ô(Ñ
)Ô
)Ð)rN   c                   óT  — e Zd ZU dZdZeed<   	 	 	 	 	 ddedeeee	         ef         d	e
eef         d
ed         dedee         eee	ef         eef         ded         deeeef                  dedededeeeeef                           ddfd„Zdefd„Zededddd fd„¦   «         ZdS )Ú
TestReportz�Basic test report object (also used for setup and teardown calls if
    they fail).

    Reports can contain arbitrary extra attributes.
    FÚwasxfailrQ   r   Nr@   r=   ÚkeywordsrE   rA   r>   r<   )ÚsetupÚcallÚteardownr?   ÚdurationÚstartÚstopÚuser_propertiesrG   c                 ó  — || _         || _        || _        || _        || _        || _        t          |pg ¦  «        | _        t          |¦  «        | _        || _	        |	| _
        |
| _        | j                             |¦  «         d S rI   )r@   r=   r±   rE   r>   r<   Úlistr¸   r?   rµ   r¶   r·   rJ   rK   )rL   r@   r=   r±   rE   r>   r<   r?   rµ   r¶   r·   r¸   Úextras                r6   rM   zTestReport.__init__   s”   € ð$ ˆŒð 9AˆŒð ,4ˆŒð ˆŒð !ˆŒð ˆŒ	õ  $ OÐ$9°rÑ:Ô:ˆÔõ ˜X™œˆŒð  (ˆŒð "ˆŒ
àˆŒ	àŒ×Ò˜UÑ#Ô#Ð#Ð#Ð#rN   c           	      óR   — d| j         j        › d| j        ›d| j        ›d| j        ›d�	S )Nú<ú z when=ú	 outcome=ú>)Ú	__class__r�   r@   r<   rE   rr   s    r6   Ú__repr__zTestReport.__repr__<  s8   € Øi�4”>Ô*ÐiÐi¨T¬[ÐiÐiÀ$Ä)ÐiÐiÐX\ÔXdÐiÐiÐiÐirN   Úitemr³   zCallInfo[None]c                 óx  — |j         }|dk    sJ ‚|j        }|j        }|j        }d„ |j        D ¦   «         }|j        }g }	|j        sd}
d}�n t          |t          ¦  «        sd}
|}�nt          |j        t          j
        ¦  «        r“d}
|                     ¦   «         }|€
J d¦   «         ‚|j        j        rC|                     ¦   «         dd…         \  }}|€J ‚t          j        |¦  «        |d	z   |j        f}nut#          |j        ¦  «        |j        |j        f}nSd}
|j         d
k    r|                     |¦  «        }n0|                     ||j                             dd¦  «        ¬¦  «        }|j        D ]#\  }}}|	                     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.
        Úcollectc                 ó   — i | ]}|d “ŒS )é   rQ   )rn   Úxs     r6   ú
<dictcomp>z1TestReport.from_item_and_call.<locals>.<dictcomp>L  s   € Ð0Ð0Ð0˜Q�A�qÐ0Ð0Ð0rN   rB   NrC   rD   z=There should always be a traceback entry for skipping a test.é   rÇ   r³   ÚtbstyleÚauto)Ústylez	Captured r¾   )r¸   )r<   rµ   r¶   r·   r±   ÚexcinfoÚ
isinstancer   Úvaluer&   Ú	ExceptionÚ_getreprcrashÚ_use_item_locationÚ
reportinfoÚosr„   ÚmessagerX   Úpathrˆ   Úrepr_failureÚ_repr_failure_pyr‹   Ú	getoptionÚ_report_sectionsÚappendr@   r=   r¸   )r—   rÃ   r³   r<   rµ   r¶   r·   r±   rÎ   r?   rE   r>   Úrr×   rW   ÚrwhenrO   r`   s                     r6   Úfrom_item_and_callzTestReport.from_item_and_call?  s  € ð Œyˆà�yÒ Ð Ð Ð Ø”=ˆØ”
ˆØŒyˆØ0Ð0 $¤-Ð0Ñ0Ô0ˆØ”,ˆØˆØŒ|ð  	Ø>FˆGð ð ‰Hõ ˜g¥}Ñ5Ô5ð Ø"�Ø"�‘Ý˜GœM­4¬>Ñ:Ô:ð Ø#�Ø×)Ò)Ñ+Ô+�à�M�MØRñ "”M�Mà”=Ô3ð BØ!%§¢Ñ!2Ô!2°2°A°2Ô!6‘J�D˜$ØÐ+Ð+Ð+Ý!œy¨™œ°°q±¸!¼)ÐC�H�Hå # A¤F¡¤¨Q¬X°q´yÐA�H�Hà"�Ø”9 Ò&Ð&Ø#×0Ò0°Ñ9Ô9�H�Hà#×4Ò4Ø t¤{×'<Ò'<¸YÈÑ'OÔ'Oð  5ñ  ô  �Hð $(Ô#8ð 	Bð 	BÑˆE�3˜Ø�OŠOÐ6¨Ð6Ð6¨uÐ6Ð6¸Ð@ÑAÔAÐAÐAØˆsØŒKØŒMØØØØØØØØØ Ô0ð
ñ 
ô 
ð 	
rN   )rQ   r   r   r   N)r�   rž   rŸ   Ú__doc__Ú__test__rX   r    r   r   r¡   r   r   r   r   r   r¢   r!   r	   Úfloatr¦   rM   rÂ   r¥   r%   rß   rQ   rN   r6   r¯   r¯   ó   s‘  € € € € € € ðð ð €Hð €M€M�Mð /1ØØØØBFð:$ð :$àð:$ð ˜˜X cœ]¨CÐ/Ô0ð:$ð ˜#˜s˜(Ô#ð	:$ð
 Ð6Ô7ð:$ð Ø�- Ô.°°c¸3À°mÔ0DÀcÈ<ÐWô
ð:$ð Ð1Ô2ð:$ð ˜5  c œ?Ô+ð:$ð ð:$ð ð:$ð ð:$ð " (¨5°°f°Ô+=Ô">Ô?ð:$ð  
ð!:$ð :$ð :$ð :$ðxj˜#ð jð jð jð jð ð>
 dð >
Ð2Bð >
À|ð >
ð >
ð >
ñ „[ð>
ð >
ð >
rN   r¯   c                   ó  — e Zd ZdZdZ	 ddedddedee         e	ee
ef         eef         d	eeeeef                           d
ee	eef                  ddfd„Zedee	eee
         ef                  fd„¦   «         Zdefd„ZdS )ÚCollectReportzSCollection report object.

    Reports can contain arbitrary extra attributes.
    rÅ   rQ   r@   rE   z&Literal['passed', 'failed', 'skipped']r>   NÚresultr?   rG   c                 óž   — || _         || _        || _        |pg | _        t	          |¦  «        | _        | j                             |¦  «         d S rI   )r@   rE   r>   rå   rº   r?   rJ   rK   )rL   r@   rE   r>   rå   r?   r»   s          r6   rM   zCollectReport.__init__Š  sU   € ð ˆŒð ˆŒð !ˆŒð �l ˆŒõ ˜X™œˆŒàŒ×Ò˜UÑ#Ô#Ð#Ð#Ð#rN   c                 ó    — | j         d | j         fS rI   )r„   rr   s    r6   r=   zCollectReport.location©  s   € ð ”˜T 4¤;Ð/Ð/rN   c                 óR   — d| j         ›dt          | j        ¦  «        › d| j        ›d�S )Nz<CollectReport z lenresult=r¿   rÀ   )r@   Úlenrå   rE   rr   s    r6   rÂ   zCollectReport.__repr__¯  s3   € Øg ¤ÐgÐg½3¸t¼{Ñ;KÔ;KÐgÐgÐVZÔVbÐgÐgÐgÐgrN   )rQ   )r�   rž   rŸ   rà   r<   rX   r   r   r¢   r   r¡   r!   r   r   r%   r$   r	   rM   r£   r=   rÂ   rQ   rN   r6   rä   rä   �  s  € € € € € ðð ð
 €Dð /1ð$ð $àð$ð :ð$ð Ø�- Ô.°°c¸3À°mÔ0DÀcÈ<ÐWô
ð	$ð ˜˜e D¨) OÔ4Ô5Ô6ð$ð ˜5  c œ?Ô+ð$ð 
ð$ð $ð $ð $ð> ð0à	�%˜˜X cœ]¨CÐ/Ô0Ô	1ð0ð 0ð 0ñ „Xð0ð
h˜#ð hð hð hð hð hð hrN   rä   c                   ó.   — e Zd Zdeddfd„Zdeddfd„ZdS )ÚCollectErrorReprÚmsgrG   Nc                 ó   — || _         d S rI   )r>   )rL   rì   s     r6   rM   zCollectErrorRepr.__init__´  s   € ØˆŒˆˆrN   rS   c                 ó>   — |                      | j        d¬¦  «         d S )NT)Úred)rW   r>   )rL   rS   s     r6   rU   zCollectErrorRepr.toterminal·  s    € Ø�Š�” DˆÑ)Ô)Ð)Ð)Ð)rN   )r�   rž   rŸ   rX   rM   r"   rU   rQ   rN   r6   rë   rë   ³  sX   € € € € € ð˜Cð  Dð ð ð ð ð*˜nð *°ð *ð *ð *ð *ð *ð *rN   rë   r�   c                 óˆ   — t          | t          t          f¦  «        r%|                      ¦   «         }| j        j        |d<   |S d S )Nú$report_type)rÏ   r¯   rä   r–   rÁ   r�   )r�   Údatas     r6   Úpytest_report_to_serializableró   »  sD   € õ �&�:¥}Ð5Ñ6Ô6ð Ø�ŠÑ Ô ˆØ%Ô/Ô8ˆˆ^ÑØˆàˆ4rN   rò   c                 óì   — d| v ro| d         dk    rt                                | ¦  «        S | d         dk    rt                               | ¦  «        S J d                     | d         ¦  «        ¦   «         ‚d S )Nrñ   r¯   rä   Fz(Unknown report_type unserialize data: {})r¯   rœ   rä   r1   )rò   s    r6   Úpytest_report_from_serializablerõ   Æ  s�   € ð ˜ÐÐØ�Ô <Ò/Ð/Ý×(Ò(¨Ñ.Ô.Ð.Ø�.Ô! _Ò4Ð4Ý ×+Ò+¨DÑ1Ô1Ð1ð	
Ð@×GÒGØ�Ô ñ
ô 
ñ 	
ô 	
ð 	
ð ˆ4rN   c                 ó4  ‡‡‡— dt           t          t          f         dt          t          t
          f         fd„Šdt          dt          t          t
          f         fˆfd„Šdt          t                   dt          t          t          t
          f                  fd„Šdt          dt          t          t
          f         fˆˆfd	„}| j
                             ¦   «         }t          | j        d
¦  «        rQt          | j        d¦  «        r$t          | j        d¦  «        r || ¦  «        |d<   n"t	          | j        ¦  «        |d<   n
| j        |d<   |D ]K}t          ||         t          j        ¦  «        rt          j        ||         ¦  «        ||<   Œ@|dk    rd||<   ŒL|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).
    ÚentryrG   c                 óÞ   — t          j        | ¦  «        }|                     ¦   «         D ],\  }}t          |d¦  «        rt          j        |¦  «        ||<   Œ-t	          | ¦  «        j        |dœ}|S )NrJ   )Útyperò   )ÚdataclassesÚasdictÚitemsrV   rù   r�   )r÷   rò   rO   rÐ   Ú
entry_datas        r6   Úserialize_repr_entryz-_report_to_json.<locals>.serialize_repr_entryÛ  sr   € õ Ô! %Ñ(Ô(ˆØŸ*š*™,œ,ð 	6ð 	6‰JˆC�Ý�u˜jÑ)Ô)ð 6Ý'Ô.¨uÑ5Ô5��S‘	øÝ" 5™kœkÔ2¸DÐAÐAˆ
ØÐrN   Úreprtracebackc                 ó\   •— t          j        | ¦  «        }ˆfd„| j        D ¦   «         |d<   |S )Nc                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rQ   rQ   )rn   rÈ   rþ   s     €r6   ú
<listcomp>zE_report_to_json.<locals>.serialize_repr_traceback.<locals>.<listcomp>ç  s2   ø€ ð !
ð !
ð !
Ø()Ð Ð  Ñ#Ô#ð!
ð !
ð !
rN   Úreprentries)rú   rû   r  )rÿ   rå   rþ   s     €r6   Úserialize_repr_tracebackz1_report_to_json.<locals>.serialize_repr_tracebackå  sJ   ø€ ÝÔ# MÑ2Ô2ˆð!
ð !
ð !
ð !
Ø-:Ô-Fð!
ñ !
ô !
ˆˆ}Ñð ˆrN   Ú	reprcrashc                 ó2   — | �t          j        | ¦  «        S d S rI   )rú   rû   )r  s    r6   Úserialize_repr_crashz-_report_to_json.<locals>.serialize_repr_crashì  s    € ð Ð ÝÔ% iÑ0Ô0Ð0à�4rN   Úrepc                 óX  •— | j         €J ‚t          t          | j         ¦  «        } ‰|j        ¦  «         ‰|j        ¦  «        |j        dœ}t          |t          ¦  «        rDg |d<   |j        D ]6\  }}}|d          	                     ‰|¦  «         ‰|¦  «        |f¦  «         Œ7nd |d<   |S )N)r  rÿ   r?   Úchain)
r>   r   r   r  rÿ   r?   rÏ   r   r
  rÜ   )r  r>   rå   Úrepr_tracebackÚ
repr_crashÚdescriptionr  r  s         €€r6   Úserialize_exception_longreprz5_report_to_json.<locals>.serialize_exception_longreprô  sæ   ø€ ØŒ|Ð'Ð'Ð'å� s¤|Ñ4Ô4ˆà-Ð-¨hÔ.@ÑAÔAØ5Ð5°hÔ6LÑMÔMØ Ô)ð"
ð "
ˆõ
 �hÕ 2Ñ3Ô3ð 	#Ø ˆF�7‰OØ;C¼>ð ð Ñ7� 
¨KØ�w”×&Ò&à0Ð0°Ñ@Ô@Ø,Ð,¨ZÑ8Ô8Ø#ðñô ð ð ðð #ˆF�7‰OØˆrN   rU   r>   rå   N)r   r   r   r   rX   r   r    r   r   r9   rJ   ÚcopyrV   r>   rÏ   rÕ   ÚPathLiker„   )r�   r  r3   r_   r  rþ   r  s       @@@r6   r•   r•   Ô  sÆ  øøø€ ðÝ•Y¥Ð/Ô0ðå	�c•3ˆhŒðð ð ð ðµð Å$ÅsÍCÀxÄ.ð ð ð ð ð ð ðÝÕ,Ô-ðå	•$•s�C�x”.Ô	!ðð ð ð ð­*ð ½½cÅ3¸h¼ð ð ð ð ð ð ð ð. 	Œ×ÒÑÔ€AÝˆvŒ Ñ-Ô-ð (Ý�6”? OÑ4Ô4ð 	1½ØŒO˜[ñ:
ô :
ð 	1ð 9Ð8¸Ñ@Ô@ˆAˆj‰MˆMå ¤Ñ0Ô0ˆAˆj‰MˆMàœˆˆ*‰Øð ð ˆÝ�a˜”g�rœ{Ñ+Ô+ð 	Ý”i  $¤Ñ(Ô(ˆAˆd‰GˆGØ�XÒÐØˆAˆd‰GøØ€HrN   r˜   c                 ó"  ‡ ‡— ˆ fd„Šˆfd„}dt           t          t          t          f                  fd„}‰ d         rÒd‰ d         v rÈd‰ d         v r¾ |‰ d         d         ¦  «        } |‰ d         d         ¦  «        }‰ d         d         rQg }‰ d         d         D ]0\  }}}|                      ||¦  «         ||¦  «        |f¦  «         Œ1t          |¦  «        }	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    r~d }d }d }|d         rt          di |d         ¤Ž}|d         rt          di |d         ¤Ž}|d         rt          |d         d         ¦  «        }t          |d         ||||d         ¬	¦  «        }n2|d
k    rt	          |d         ¦  «        }nt          |t          ‰¦  «         |S )Nrò   rù   r   ÚreprfuncargsÚreprfilelocÚ
reprlocalsÚlinesrÍ   )r  r  r  r  rÍ   r   rQ   )r   r   r   r   r   r­   r¯   )rý   rò   Ú
entry_typer  r  r  Ú	reprentryr˜   s          €r6   Údeserialize_repr_entryz8_report_kwargs_from_json.<locals>.deserialize_repr_entry$  s  ø€ Ø˜&Ô!ˆØ Ô'ˆ
Ø˜Ò$Ð$ØˆLØˆKØˆJØ�NÔ#ð DÝ+ÐCÐC¨d°>Ô.BÐCÐC�Ø�MÔ"ð FÝ.ÐEÐE°°mÔ1DÐEÐE�Ø�LÔ!ð EÝ'¨¨\Ô(:¸7Ô(CÑDÔD�
å;DØ˜7”mØ)Ø%Ø'Ø˜7”mð<ñ <ô <ˆIˆIð Ð,Ò,Ð,Ý'¨¨W¬Ñ6Ô6ˆIˆIå+¨J½
ÀJÑOÔOÐOØÐrN   c                 óJ   •— ˆfd„| d         D ¦   «         | d<   t          di | ¤ŽS )Nc                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rQ   rQ   )rn   rÈ   r  s     €r6   r  zP_report_kwargs_from_json.<locals>.deserialize_repr_traceback.<locals>.<listcomp>@  s2   ø€ ð .
ð .
ð .
Ø*+Ð"Ð" 1Ñ%Ô%ð.
ð .
ð .
rN   r  rQ   r   )Úrepr_traceback_dictr  s    €r6   Údeserialize_repr_tracebackz<_report_kwargs_from_json.<locals>.deserialize_repr_traceback?  sM   ø€ ð.
ð .
ð .
ð .
Ø/BÀ=Ô/Qð.
ñ .
ô .
Ð˜MÑ*õ Ð3Ð3Ð2Ð3Ð3Ð3rN   Úrepr_crash_dictc                 ó"   — | �t          di | ¤ŽS d S )NrQ   r   )r  s    r6   Údeserialize_repr_crashz8_report_kwargs_from_json.<locals>.deserialize_repr_crashE  s!   € ØÐ&Ý#Ð6Ð6 oÐ6Ð6Ð6à�4rN   r>   r  rÿ   r
  )rÿ   r  r?   )r   r   rX   r   rÜ   r   r   Ú
addsection)r˜   r  r   rÿ   r  r
  Úrepr_traceback_dataÚrepr_crash_datar  Úexception_infoÚsectionr  s   `          @r6   rš   rš     s¸  øø€ ðð ð ð ð ð64ð 4ð 4ð 4ð 4ðµ½½cÅ3¸h¼Ô0Hð ð ð ð ð 	�:Ôð 0à˜: jÔ1Ð1Ð1Ø˜z¨*Ô5Ð5Ð5à2Ð2Ø�zÔ" ?Ô3ñ
ô 
ˆð +Ð*¨:°jÔ+AÀ+Ô+NÑOÔOˆ	Ø�jÔ! 'Ô*ð 	ØˆEØEOØôFàôFð 	ð 	ÑAÐ# _°kð —’à2Ð2Ð3FÑGÔGØ.Ð.¨Ñ?Ô?Ø#ðñô ð ð õ # 5Ñ)Ô)ð ˆNõ /Ø+Ø#ðñ ô ˆNð
 " *Ô-¨jÔ9ð 	0ð 	0ˆGØ%ˆNÔ% wÐ/Ð/Ð/Ø!/ˆ
�:ÑàÐrN   )9rú   Úior   rÕ   r   Útypingr   r   r   r   r	   r
   r   r   r   r   r   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&   Ú_pytest.runnerr'   r7   r8   r9   rX   r­   r¯   rä   rë   ró   rõ   r•   rš   rQ   rN   r6   ú<module>r.     s´  ðà Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø (Ð (Ð (Ð (Ð (Ð (Ø .Ð .Ð .Ð .Ð .Ð .Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø /Ð /Ð /Ð /Ð /Ð /Ø +Ð +Ð +Ð +Ð +Ð +Ø )Ð )Ð )Ð )Ð )Ð )Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø +Ð +Ð +Ð +Ð +Ð +Ø &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ð ð (Ø'Ð'Ð'Ð'Ð'Ð'ð	ð 	ð 	ð €WˆT˜Ð&Ñ&Ô&€ðfð fð fð fð fñ fô fð fðR*Øð*Ø"& zÔ"2ð*àð*ð *ð *ð *ð ðJ
ð J
ð J
ð J
ð J
�ñ J
ô J
ñ „ðJ
ðZ ð.hð .hð .hð .hð .h�Jñ .hô .hñ „ð.hðb*ð *ð *ð *ð *�|ñ *ô *ð *ðØ�- Ð+Ô,ðàˆd�3˜�8ŒnÔðð ð ð ðØ
ˆs�CˆxŒ.ðàˆe�M :Ð-Ô.Ô/ðð ð ð ðF˜Jð F¨4°°S°¬>ð Fð Fð Fð FðRP¨¨c°3¨h¬ð P¸DÀÀcÀ¼Nð Pð Pð Pð Pð Pð PrN   