§
    öyIf7ˆ  ã            	       ó"  — d Z ddlZddlZddlZddlZddlmZ ddl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. ed"         Z/d#e#d$dfd%„Z0d]d&„Z1d'ed$dfd(„Z2 e!d)¬*¦  «        d+e d$ed,         fd-„¦   «         Z3 G d.„ d/ej4        ¦  «        Z5 G d0„ d1ej4        ¦  «        Z6 G d2„ d3e6¦  «        Z7 G d4„ d5e¦  «        Z8 G d6„ d7ej9        ee         ¦  «        Z:d8d9d:d;œZ; G d<„ d=e:e<         ¦  «        Z= G d>„ d?e:e         ¦  «        Z> G d@„ dAe>e?         ¦  «        Z@ G dB„ dCe>e<         ¦  «        ZA G dD„ dEe:e         ¦  «        ZB G dF„ dGeBe?         ¦  «        ZC G dH„ dIeBe<         ¦  «        ZDejE        dJk    sere G dK„ dLeee         ¦  «        ¦   «         ZFn& G dM„ dL ejG        dLdNdOg¦  «        ee         ¦  «        ZF G dP„ dQee         ¦  «        ZHdRe/d$eHe<         fdS„ZI G dT„ dU¦  «        ZJ G dV„ dWee         ¦  «        ZKe'dXe(d$eeKe<         ddf         fdY„¦   «         ZLe'dXe(d$eeKe?         ddf         fdZ„¦   «         ZMe'dXe(d$eeKe<         ddf         fd[„¦   «         ZNe'dXe(d$eeKe?         ddf         fd\„¦   «         ZOdS )^z+Per-test stdout/stderr capturing mechanism.é    N©ÚUnsupportedOperation)ÚTemporaryFile)ÚTracebackType)ÚAny)ÚAnyStr)ÚBinaryIO)ÚFinal)Úfinal)Ú	Generator)ÚGeneric)ÚIterable)ÚIterator)ÚList)ÚLiteral)Ú
NamedTuple)ÚOptional)ÚTextIO)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚUnion)ÚConfig)Úhookimpl)ÚParser)Úcheck_ispytest)Úfixture)Ú
SubRequest)Ú	Collector)ÚFile)ÚItem)ÚCollectReport©ÚfdÚsysÚnoútee-sysÚparserÚreturnc                 óž   — |                       d¦  «        }|                     ddddg d¢d¬¦  «         |                     d	d
ddd¬¦  «         d S )NÚgeneralz	--captureÚstorer$   Úmethodr#   z3Per-test capturing method: one of fd|sys|no|tee-sys)ÚactionÚdefaultÚmetavarÚchoicesÚhelpz-sÚstore_constr&   ÚcapturezShortcut for --capture=no)r.   ÚconstÚdestr2   )ÚgetgroupÚ
_addoption)r(   Úgroups     úC/var/www/piapp/venv/lib/python3.11/site-packages/_pytest/capture.pyÚpytest_addoptionr;   /   s€   € Ø�OŠO˜IÑ&Ô&€EØ	×ÒØØØØØ.Ð.Ð.ØBð ñ ô ð ð 
×ÒØØØØØ(ð ñ ô ð ð ð ó    c                  ót   — t           j                             d¦  «        r	 ddl} dS # t          $ r Y dS w xY wdS )a  Ensure colorama is imported so that it attaches to the correct stdio
    handles on Windows.

    colorama uses the terminal on import time. So if something does the
    first import of colorama while I/O capture is active, colorama will
    fail in various ways.
    Úwin32r   N)r%   ÚplatformÚ
startswithÚcoloramaÚImportError)rA   s    r:   Ú_colorama_workaroundrC   B   sZ   € õ „|×Ò˜wÑ'Ô'ð ð	ØˆOˆOˆOˆOˆOøÝð 	ð 	ð 	ØˆDˆDð	øøøðð s   ¡' §
5´5Ústreamc                 óê  ‡ — t           j                             d¦  «        rt          t           d¦  «        rdS t          ‰ d¦  «        sdS t          ‰ j        d¦  «        r‰ j        j        n‰ j        }t          |t          j        ¦  «        sdS ˆ fd„} |t           j	        d¦  «        t           _	         |t           j
        d¦  «        t           _
         |t           j        d¦  «        t           _        dS )	aù  Workaround for Windows Unicode console handling.

    Python 3.6 implemented Unicode console handling for Windows. This works
    by reading/writing to the raw console handle using
    ``{Read,Write}ConsoleW``.

    The problem is that we are going to ``dup2`` over the stdio file
    descriptors when doing ``FDCapture`` and this will ``CloseHandle`` the
    handles used by Python to write to the console. Though there is still some
    weirdness and the console handle seems to only be closed randomly and not
    on the first call to ``CloseHandle``, or maybe it gets reopened with the
    same handle value when we suspend capturing.

    The workaround in this case will reopen stdio with a different fd which
    also means a different handle by replicating the logic in
    "Py_lifecycle.c:initstdio/create_stdio".

    :param stream:
        In practice ``sys.stdout`` or ``sys.stderr``, but given
        here as parameter for unittesting purposes.

    See https://github.com/pytest-dev/py/issues/103.
    r>   Úpypy_version_infoNÚbufferÚrawc                 ó  •— t          ‰j        d¦  «        s|d         dk    rd}nd}t          j        t	          t          j        |                      ¦   «         ¦  «        ||¦  «        | j        | j	        | j
        | j        ¦  «        S )NrH   r   Úwéÿÿÿÿ)ÚhasattrrG   ÚioÚTextIOWrapperÚopenÚosÚdupÚfilenoÚencodingÚerrorsÚnewlinesÚline_buffering)ÚfÚmodeÚ	bufferingrD   s      €r:   Ú_reopen_stdioz3_windowsconsoleio_workaround.<locals>._reopen_stdiou   sz   ø€ Ý�v”} eÑ,Ô,ð 	°°a´¸C²°ØˆIˆIàˆIåÔÝ•”˜Ÿš™
œ
Ñ#Ô# T¨9Ñ5Ô5ØŒJØŒHØŒJØÔñ
ô 
ð 	
r<   ÚrbÚwb)r%   r?   r@   rL   rG   rH   Ú
isinstancerM   Ú_WindowsConsoleIOÚstdinÚstdoutÚstderr)rD   Ú
raw_stdoutrZ   s   `  r:   Ú_windowsconsoleio_workaroundrc   Q   sç   ø€ õ0 Œ<×"Ò" 7Ñ+Ô+ð ­wµsÐ<OÑ/PÔ/Pð Øˆõ �6˜8Ñ$Ô$ð Øˆå&-¨f¬m¸UÑ&CÔ&CÐV�”Ô"Ð"ÈÌ€Jå�j¥"Ô"6Ñ7Ô7ð Øˆð
ð 
ð 
ð 
ð 
ð ��cœi¨Ñ.Ô.…C„IØ��sœz¨4Ñ0Ô0…C„JØ��sœz¨4Ñ0Ô0…C„J€J€Jr<   T©ÚwrapperÚearly_config©NNNc              #   óh  K  — | j         }|j        dk    rt          t          j        ¦  «         t          ¦   «          | j        }t          |j        ¦  «        }|                     |d¦  «         |  	                    |j
        ¦  «         |                     ¦   «          	 	 d V — |                     ¦   «          d S # |                     ¦   «          w xY w# t          $ rW |                     ¦   «         \  }}t          j                             |¦  «         t          j                             |¦  «         ‚ w xY w)Nr$   Úcapturemanager)Úknown_args_namespacer4   rc   r%   r`   rC   ÚpluginmanagerÚCaptureManagerÚregisterÚadd_cleanupÚstop_global_capturingÚstart_global_capturingÚsuspend_global_captureÚBaseExceptionÚread_global_captureÚwritera   )rf   Únsrk   ÚcapmanÚoutÚerrs         r:   Úpytest_load_initial_conftestsry   ˆ   s4  è è € à	Ô	*€BØ	„z�TÒÐÝ$¥S¤ZÑ0Ô0Ð0ÝÑÔÐØ Ô.€MÝ˜BœJÑ'Ô'€FØ×Ò˜6Ð#3Ñ4Ô4Ð4ð ×Ò˜VÔ9Ñ:Ô:Ð:ð ×!Ò!Ñ#Ô#Ð#ð	ð	,ØˆEˆEˆEà×)Ò)Ñ+Ô+Ð+Ð+Ð+øˆF×)Ò)Ñ+Ô+Ð+Ð+øøøøÝð ð ð Ø×-Ò-Ñ/Ô/‰ˆˆSÝŒ
×Ò˜ÑÔÐÝŒ
×Ò˜ÑÔÐØð	øøøs   ÂB7 Â!C Â7CÃC ÃA!D1c                   óJ   — e Zd ZdZedefd„¦   «         Zedefd„¦   «         ZdS )ÚEncodedFile© r)   c                 ó*   — t          | j        ¦  «        S ©N)ÚreprrG   ©Úselfs    r:   ÚnamezEncodedFile.name©   s   € õ �D”KÑ Ô Ð r<   c                 óB   — | j         j                             dd¦  «        S )NÚbÚ )rG   rX   Úreplacer€   s    r:   rX   zEncodedFile.mode¯   s   € ð Œ{Ô×'Ò'¨¨RÑ0Ô0Ð0r<   N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__ÚpropertyÚstrr‚   rX   r|   r<   r:   r{   r{   ¦   se   € € € € € Ø€Iàð!�cð !ð !ð !ñ „Xð!ð
 ð1�cð 1ð 1ð 1ñ „Xð1ð 1ð 1r<   r{   c                   ó,   ‡ — e Zd Zdˆ fd„Zdefd„Zˆ xZS )Ú	CaptureIOr)   Nc                 ót   •— t          ¦   «                              t          j        ¦   «         ddd¬¦  «         d S )NúUTF-8r…   T)rS   ÚnewlineÚwrite_through)ÚsuperÚ__init__rM   ÚBytesIO)r�   Ú	__class__s    €r:   r”   zCaptureIO.__init__·   s1   ø€ Ý‰Œ×Ò�œ™œ°ÀÐSWÐÑXÔXÐXÐXÐXr<   c                 óœ   — t          | j        t          j        ¦  «        sJ ‚| j                             ¦   «                              d¦  «        S )Nr�   )r]   rG   rM   r•   ÚgetvalueÚdecoder€   s    r:   r˜   zCaptureIO.getvalueº   s>   € Ý˜$œ+¥r¤zÑ2Ô2Ð2Ð2Ð2ØŒ{×#Ò#Ñ%Ô%×,Ò,¨WÑ5Ô5Ð5r<   ©r)   N)r‡   rˆ   r‰   r”   rŒ   r˜   Ú__classcell__©r–   s   @r:   rŽ   rŽ   ¶   s^   ø€ € € € € ðYð Yð Yð Yð Yð Yð6˜#ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r<   rŽ   c                   ó<   ‡ — e Zd Zdeddfˆ fd„Zdedefˆ fd„Zˆ xZS )ÚTeeCaptureIOÚotherr)   Nc                 óV   •— || _         t          ¦   «                              ¦   «          d S r~   )Ú_otherr“   r”   )r�   rŸ   r–   s     €r:   r”   zTeeCaptureIO.__init__À   s&   ø€ ØˆŒÝ‰Œ×ÒÑÔÐÐÐr<   Úsc                 óz   •— t          ¦   «                              |¦  «         | j                             |¦  «        S r~   )r“   rt   r¡   )r�   r¢   r–   s     €r:   rt   zTeeCaptureIO.writeÄ   s/   ø€ Ý‰Œ�Š�aÑÔÐØŒ{× Ò  Ñ#Ô#Ð#r<   )	r‡   rˆ   r‰   r   r”   rŒ   Úintrt   r›   rœ   s   @r:   rž   rž   ¿   sw   ø€ € € € € ð˜fð ¨ð ð ð ð ð ð ð$�sð $˜sð $ð $ð $ð $ð $ð $ð $ð $ð $ð $r<   rž   c                   ó²  — e Zd Zedefd„¦   «         Zd"dedefd„ZeZdefd„Z	d"de
e         dee         fd„Zdee         fd	„Zdefd
„Zd#d„Zdefd„Zd#d„Zdefd„Zd$dededefd„Zdefd„Zdefd„Zd%de
e         defd„Zdedefd„Zdee         ddfd„Zdefd„Zd&d„Zde
ee                  de
e         de
e          ddfd „Z!ede"fd!„¦   «         Z#dS )'ÚDontReadFromInputr)   c                 ó$   — t           j        j        S r~   )r%   Ú	__stdin__rS   r€   s    r:   rS   zDontReadFromInput.encodingÊ   s   € åŒ}Ô%Ð%r<   rK   Úsizec                 ó    — t          d¦  «        ‚©NzJpytest: reading from stdin while output is captured!  Consider using `-s`.©ÚOSError©r�   r©   s     r:   ÚreadzDontReadFromInput.readÎ   ó   € ÝØXñ
ô 
ð 	
r<   c                 ó*   — |                       ¦   «         S r~   )Úreadliner€   s    r:   Ú__next__zDontReadFromInput.__next__Õ   s   € Ø�}Š}‰ŒÐr<   Úhintc                 ó    — t          d¦  «        ‚r«   r¬   )r�   r´   s     r:   Ú	readlineszDontReadFromInput.readlinesØ   r°   r<   c                 ó   — | S r~   r|   r€   s    r:   Ú__iter__zDontReadFromInput.__iter__Ý   ó   € Øˆr<   c                 ó    — t          d¦  «        ‚)Nz/redirected stdin is pseudofile, has no fileno()r   r€   s    r:   rR   zDontReadFromInput.filenoà   s   € Ý"Ð#TÑUÔUÐUr<   Nc                 ó    — t          d¦  «        ‚)Nz.redirected stdin is pseudofile, has no flush()r   r€   s    r:   ÚflushzDontReadFromInput.flushã   s   € Ý"Ð#SÑTÔTÐTr<   c                 ó   — dS ©NFr|   r€   s    r:   ÚisattyzDontReadFromInput.isattyæ   ó   € Øˆur<   c                 ó   — d S r~   r|   r€   s    r:   ÚclosezDontReadFromInput.closeé   ó   € Øˆr<   c                 ó   — dS r¾   r|   r€   s    r:   ÚreadablezDontReadFromInput.readableì   rÀ   r<   r   ÚoffsetÚwhencec                 ó    — t          d¦  «        ‚)Nz0redirected stdin is pseudofile, has no seek(int)r   )r�   rÆ   rÇ   s      r:   ÚseekzDontReadFromInput.seekï   s   € Ý"Ð#UÑVÔVÐVr<   c                 ó   — dS r¾   r|   r€   s    r:   ÚseekablezDontReadFromInput.seekableò   rÀ   r<   c                 ó    — t          d¦  «        ‚)Nz-redirected stdin is pseudofile, has no tell()r   r€   s    r:   ÚtellzDontReadFromInput.tellõ   s   € Ý"Ð#RÑSÔSÐSr<   c                 ó    — t          d¦  «        ‚)Nzcannot truncate stdinr   r®   s     r:   ÚtruncatezDontReadFromInput.truncateø   ó   € Ý"Ð#:Ñ;Ô;Ð;r<   Údatac                 ó    — t          d¦  «        ‚)Nzcannot write to stdinr   ©r�   rÑ   s     r:   rt   zDontReadFromInput.writeû   rÐ   r<   Úlinesc                 ó    — t          d¦  «        ‚)NzCannot write to stdinr   )r�   rÔ   s     r:   Ú
writelineszDontReadFromInput.writelinesþ   rÐ   r<   c                 ó   — dS r¾   r|   r€   s    r:   ÚwritablezDontReadFromInput.writable  rÀ   r<   c                 ó   — | S r~   r|   r€   s    r:   Ú	__enter__zDontReadFromInput.__enter__  r¹   r<   ÚtypeÚvalueÚ	tracebackc                 ó   — d S r~   r|   )r�   rÛ   rÜ   rÝ   s       r:   Ú__exit__zDontReadFromInput.__exit__  s	   € ð 	ˆr<   c                 ó   — | S r~   r|   r€   s    r:   rG   zDontReadFromInput.buffer  s	   € ð ˆr<   )rK   rš   )r   r~   )r)   r¦   )$r‡   rˆ   r‰   r‹   rŒ   rS   r¤   r¯   r²   r³   r   r   r¶   r   r¸   rR   r¼   Úboolr¿   rÂ   rÅ   rÉ   rË   rÍ   rÏ   rt   r   rÖ   rØ   rÚ   r   rr   r   rß   r	   rG   r|   r<   r:   r¦   r¦   É   sÚ  € € € € € Øð&˜#ð &ð &ð &ñ „Xð&ð
ð 
˜ð 
 cð 
ð 
ð 
ð 
ð
 €Hð˜#ð ð ð ð ð
ð 
˜h sœmð 
°T¸#´Yð 
ð 
ð 
ð 
ð
˜( 3œ-ð ð ð ð ðV˜ð Vð Vð Vð VðUð Uð Uð Uð˜ð ð ð ð ðð ð ð ð˜$ð ð ð ð ðWð W˜3ð W¨ð W°Cð Wð Wð Wð Wð˜$ð ð ð ð ðT�cð Tð Tð Tð Tð<ð <˜X cœ]ð <°cð <ð <ð <ð <ð<˜#ð < #ð <ð <ð <ð <ð< ¨¤ð <°$ð <ð <ð <ð <ð˜$ð ð ð ð ðð ð ð ðà�t˜MÔ*Ô+ðð ˜Ô&ðð ˜MÔ*ð	ð
 
ðð ð ð ð ð˜ð ð ð ñ „Xðð ð r<   r¦   c                   ó  — e Zd ZU eed<   ej        deddfd„¦   «         Zej        dd„¦   «         Z	ej        dd„¦   «         Z
ej        dd„¦   «         Zej        dd	„¦   «         Zej        d
eddfd„¦   «         Zej        defd„¦   «         ZdS )ÚCaptureBaseÚEMPTY_BUFFERr$   r)   Nc                 ó   — t          ¦   «         ‚r~   ©ÚNotImplementedError©r�   r$   s     r:   r”   zCaptureBase.__init__  ó   € å!Ñ#Ô#Ð#r<   c                 ó   — t          ¦   «         ‚r~   ræ   r€   s    r:   ÚstartzCaptureBase.start  ré   r<   c                 ó   — t          ¦   «         ‚r~   ræ   r€   s    r:   ÚdonezCaptureBase.done#  ré   r<   c                 ó   — t          ¦   «         ‚r~   ræ   r€   s    r:   ÚsuspendzCaptureBase.suspend'  ré   r<   c                 ó   — t          ¦   «         ‚r~   ræ   r€   s    r:   ÚresumezCaptureBase.resume+  ré   r<   rÑ   c                 ó   — t          ¦   «         ‚r~   ræ   rÓ   s     r:   ÚwriteorgzCaptureBase.writeorg/  ré   r<   c                 ó   — t          ¦   «         ‚r~   ræ   r€   s    r:   ÚsnapzCaptureBase.snap3  ré   r<   rš   )r‡   rˆ   r‰   r   Ú__annotations__ÚabcÚabstractmethodr¤   r”   rë   rí   rï   rñ   ró   rõ   r|   r<   r:   rã   rã     s?  € € € € € € ØÐÐÑàÔð$˜3ð $ 4ð $ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$˜Vð $¨ð $ð $ð $ñ Ôð$ð 	Ôð$�fð $ð $ð $ñ Ôð$ð $ð $r<   rã   r_   r`   ra   )r   é   é   c                   ó^   — e Zd ZdZdeddfd„Zdd„Zdd„Zdd„Zdd	„Z	de
fd
„Zde
ddfd„ZdS )Ú	NoCapturer…   r$   r)   Nc                 ó   — d S r~   r|   rè   s     r:   r”   zNoCapture.__init__>  rÃ   r<   c                 ó   — d S r~   r|   r€   s    r:   rë   zNoCapture.startA  rÃ   r<   c                 ó   — d S r~   r|   r€   s    r:   rí   zNoCapture.doneD  rÃ   r<   c                 ó   — d S r~   r|   r€   s    r:   rï   zNoCapture.suspendG  rÃ   r<   c                 ó   — d S r~   r|   r€   s    r:   rñ   zNoCapture.resumeJ  rÃ   r<   c                 ó   — dS ©Nr…   r|   r€   s    r:   rõ   zNoCapture.snapM  s   € Øˆrr<   rÑ   c                 ó   — d S r~   r|   rÓ   s     r:   ró   zNoCapture.writeorgP  rÃ   r<   rš   )r‡   rˆ   r‰   rä   r¤   r”   rë   rí   rï   rñ   rŒ   rõ   ró   r|   r<   r:   rü   rü   ;  sÈ   € € € € € Ø€Lð˜3ð  4ð ð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð�cð ð ð ð ð˜Sð  Tð ð ð ð ð ð r<   rü   c            
       óœ   — e Zd Z	 dddœdedee         deddfd„Zd	edefd
„Z	defd„Z
dedeedf         ddfd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚSysCaptureBaseNF©Úteer$   Útmpfiler  r)   c                óô   — t           |         }t          t          |¦  «        | _        || _        |€9|dk    rt          ¦   «         }n$|st          ¦   «         nt          | j        ¦  «        }|| _        d| _	        d S )Nr_   Úinitialized)
ÚpatchsysdictÚgetattrr%   Ú_oldr‚   r¦   rŽ   rž   r	  Ú_state)r�   r$   r	  r  r‚   s        r:   r”   zSysCaptureBase.__init__U  so   € õ ˜BÔˆÝ#¥C¨Ñ.Ô.ˆŒ	ØˆŒ	Øˆ?Ø�wŠˆÝ+Ñ-Ô-��à-0ÐM�)™+œ+˜+µlÀ4Ä9Ñ6MÔ6M�ØˆŒØ#ˆŒˆˆr<   Ú
class_namec                 óš   — d                      || j        t          | d¦  «        rt          | j        ¦  «        pd| j        | j        ¦  «        S ©Nz(<{} {} _old={} _state={!r} tmpfile={!r}>r  z<UNSET>)Úformatr‚   rL   r   r  r  r	  )r�   r  s     r:   r   zSysCaptureBase.reprc  sK   € Ø9×@Ò@ØØŒIÝ�D˜&Ñ!Ô!Ð5¥d¨4¬9¡o¤oÐB¸ØŒKØŒLñ
ô 
ð 	
r<   c                 ó®   — d                      | j        j        | j        t	          | d¦  «        rt          | j        ¦  «        pd| j        | j        ¦  «        S r  )	r  r–   r‡   r‚   rL   r   r  r  r	  r€   s    r:   Ú__repr__zSysCaptureBase.__repr__l  sP   € Ø9×@Ò@ØŒNÔ#ØŒIÝ�D˜&Ñ!Ô!Ð5¥d¨4¬9¡o¤oÐB¸ØŒKØŒLñ
ô 
ð 	
r<   ÚopÚstates.c                 ó†   — | j         |v s7J d                     || j         d                     |¦  «        ¦  «        ¦   «         ‚d S ©Nz+cannot {} in state {!r}: expected one of {}z, ©r  r  Újoin©r�   r  r  s      r:   Ú_assert_statezSysCaptureBase._assert_stateu  óK   € àŒK˜6Ð!Ð!Ð!Ø8×?Ò?Ø�”˜TŸYšY vÑ.Ô.ñ
ô 
ñ "Ô!Ð!Ð!Ð!r<   c                 ó€   — |                       dd¦  «         t          t          | j        | j        ¦  «         d| _        d S )Nrë   ©r  Ústarted)r  Úsetattrr%   r‚   r	  r  r€   s    r:   rë   zSysCaptureBase.start|  s:   € Ø×Ò˜7Ð$4Ñ5Ô5Ð5Ý•�T”Y ¤Ñ-Ô-Ð-ØˆŒˆˆr<   c                 óÐ   — |                       dd¦  «         | j        dk    rd S t          t          | j        | j        ¦  «         | `| j                             ¦   «          d| _        d S )Nrí   ©r  r!  Ú	suspendedrí   )r  r  r"  r%   r‚   r  r	  rÂ   r€   s    r:   rí   zSysCaptureBase.done�  se   € Ø×Ò˜6Ð#RÑSÔSÐSØŒ;˜&Ò Ð ØˆFÝ•�T”Y ¤	Ñ*Ô*Ð*ØˆIØŒ×ÒÑÔÐØˆŒˆˆr<   c                 ó€   — |                       dd¦  «         t          t          | j        | j        ¦  «         d| _        d S ©Nrï   ©r!  r%  r%  )r  r"  r%   r‚   r  r  r€   s    r:   rï   zSysCaptureBase.suspendŠ  s:   € Ø×Ò˜9Ð&>Ñ?Ô?Ð?Ý•�T”Y ¤	Ñ*Ô*Ð*Ø!ˆŒˆˆr<   c                 óš   — |                       dd¦  «         | j        dk    rd S t          t          | j        | j        ¦  «         d| _        d S ©Nrñ   r(  r!  )r  r  r"  r%   r‚   r	  r€   s    r:   rñ   zSysCaptureBase.resume�  sL   € Ø×Ò˜8Ð%=Ñ>Ô>Ð>ØŒ;˜)Ò#Ð#ØˆFÝ•�T”Y ¤Ñ-Ô-Ð-ØˆŒˆˆr<   r~   rš   )r‡   rˆ   r‰   r¤   r   r   rá   r”   rŒ   r   r  r   r  rë   rí   rï   rñ   r|   r<   r:   r  r  T  s   € € € € € à37ð$ØHMð$ð $ð $Øð$Ø (¨Ô 0ð$ØAEð$à	ð$ð $ð $ð $ð
˜sð 
 sð 
ð 
ð 
ð 
ð
˜#ð 
ð 
ð 
ð 
ð
 ð 
¨U°3¸°8¬_ð 
Àð 
ð 
ð 
ð 
ð ð  ð  ð  ð
ð ð ð ð"ð "ð "ð "ð
 ð  ð  ð  ð  ð  r<   r  c                   ó.   — e Zd ZdZdefd„Zdeddfd„ZdS )ÚSysCaptureBinaryr<   r)   c                 ó  — |                       dd¦  «         | j                             d¦  «         | j        j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S ©Nrõ   r(  r   ©r  r	  rÉ   rG   r¯   rÏ   ©r�   Úress     r:   rõ   zSysCaptureBinary.snapš  ót   € Ø×Ò˜6Ð#;Ñ<Ô<Ð<ØŒ×Ò˜!ÑÔÐØŒlÔ!×&Ò&Ñ(Ô(ˆØŒ×Ò˜!ÑÔÐØŒ×ÒÑÔÐØˆ
r<   rÑ   Nc                 óÞ   — |                       dd¦  «         | j                             ¦   «          | j        j                             |¦  «         | j        j                             ¦   «          d S ©Nró   r(  )r  r  r¼   rG   rt   rÓ   s     r:   ró   zSysCaptureBinary.writeorg¢  sa   € Ø×Ò˜:Ð'?Ñ@Ô@Ð@ØŒ	�ŠÑÔÐØŒ	Ô×Ò˜tÑ$Ô$Ð$ØŒ	Ô×ÒÑ Ô Ð Ð Ð r<   )r‡   rˆ   r‰   rä   Úbytesrõ   ró   r|   r<   r:   r,  r,  —  sV   € € € € € Ø€Lð�eð ð ð ð ð!˜Uð ! tð !ð !ð !ð !ð !ð !r<   r,  c                   ó.   — e Zd ZdZdefd„Zdeddfd„ZdS )Ú
SysCapturer…   r)   c                 ó  — |                       dd¦  «         t          | j        t          ¦  «        sJ ‚| j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S r.  )r  r]   r	  rŽ   r˜   rÉ   rÏ   r0  s     r:   rõ   zSysCapture.snap¬  ss   € Ø×Ò˜6Ð#;Ñ<Ô<Ð<Ý˜$œ,­	Ñ2Ô2Ð2Ð2Ð2ØŒl×#Ò#Ñ%Ô%ˆØŒ×Ò˜!ÑÔÐØŒ×ÒÑÔÐØˆ
r<   rÑ   Nc                 ó˜   — |                       dd¦  «         | j                             |¦  «         | j                             ¦   «          d S r4  )r  r  rt   r¼   rÓ   s     r:   ró   zSysCapture.writeorg´  sE   € Ø×Ò˜:Ð'?Ñ@Ô@Ð@ØŒ	�Š˜ÑÔÐØŒ	�ŠÑÔÐÐÐr<   )r‡   rˆ   r‰   rä   rŒ   rõ   ró   r|   r<   r:   r7  r7  ©  sV   € € € € € Ø€Lð�cð ð ð ð ð˜Sð  Tð ð ð ð ð ð r<   r7  c                   ón   — e Zd Zdeddfd„Zdefd„Zdedeedf         ddfd	„Zdd
„Z	dd„Z
dd„Zdd„ZdS )ÚFDCaptureBaseÚtargetfdr)   Nc                 ór  — || _         	 t          j        |¦  «         d | _        nX# t          $ rK t          j        t          j        t          j        ¦  «        | _        t          j        | j        |¦  «         Y nw xY wt          j	        |¦  «        | _
        |dk    r5t          t          j        d¬¦  «        | _        t          |¦  «        | _        n_t          t          d¬¦  «        dddd¬¦  «        | _        |t           v rt          || j        ¦  «        | _        nt#          |¦  «        | _        d	| _        d S )
Nr   úutf-8)rS   )rY   r†   r…   T)rS   rT   r‘   r’   r  )r<  rP   ÚfstatÚtargetfd_invalidr­   rO   ÚdevnullÚO_RDWRÚdup2rQ   Útargetfd_saver	  r7  Ú
syscapturer{   r   r  rü   r  )r�   r<  s     r:   r”   zFDCaptureBase.__init__»  s-  € Ø ˆŒð	)ÝŒH�XÑÔÐð  %)ˆDÔ!Ð!øõ ð 	5ð 	5ð 	5õ 46´7½2¼:ÅrÄyÑ3QÔ3QˆDÔ!ÝŒG�DÔ)¨8Ñ4Ô4Ð4Ð4Ð4ð	5øøøõ   œV HÑ-Ô-ˆÔà�qŠ=ˆ=Ý¥¤
°WÐ=Ñ=Ô=ˆDŒLÝ0:¸8Ñ0DÔ0DˆDŒOˆOå&Ý¨Ð*Ñ*Ô*Ø Ø ØØ"ðñ ô ˆDŒLð �<Ð'Ð'Ý",¨X°t´|Ñ"DÔ"D�”�å"+¨HÑ"5Ô"5�”à#ˆŒˆˆs   ‰% ¥AA:Á9A:c                 ób   — d| j         j        › d| j        › d| j        › d| j        ›d| j        ›d�S )Nú<ú z oldfd=ú _state=z	 tmpfile=ú>)r–   r‡   r<  rD  r  r	  r€   s    r:   r  zFDCaptureBase.__repr__ä  si   € ð@�”Ô'ð @ð @¨$¬-ð @ð @ÀÔ@Rð @ð @Ø”kð@ð @Ø.2¬lð@ð @ð @ð	
r<   r  r  .c                 ó†   — | j         |v s7J d                     || j         d                     |¦  «        ¦  «        ¦   «         ‚d S r  r  r  s      r:   r  zFDCaptureBase._assert_stateê  r  r<   c                 óÔ   — |                       dd¦  «         t          j        | j                             ¦   «         | j        ¦  «         | j                             ¦   «          d| _        dS )z4Start capturing on targetfd using memorized tmpfile.rë   r   r!  N)	r  rP   rC  r	  rR   r<  rE  rë   r  r€   s    r:   rë   zFDCaptureBase.startñ  sZ   € à×Ò˜7Ð$4Ñ5Ô5Ð5Ý
Œ�”×#Ò#Ñ%Ô% t¤}Ñ5Ô5Ð5ØŒ×ÒÑÔÐØˆŒˆˆr<   c                 óÀ  — |                       dd¦  «         | j        dk    rdS t          j        | j        | j        ¦  «         t          j        | j        ¦  «         | j        �B| j        | j        k    rt          j        | j        ¦  «         t          j        | j        ¦  «         | j         	                    ¦   «          | j
                             ¦   «          d| _        dS )z_Stop capturing, restore streams, return original capture file,
        seeked to position zero.rí   r$  N)r  r  rP   rC  rD  r<  rÂ   r@  rE  rí   r	  r€   s    r:   rí   zFDCaptureBase.doneø  sÈ   € ð 	×Ò˜6Ð#RÑSÔSÐSØŒ;˜&Ò Ð ØˆFÝ
Œ�Ô" D¤MÑ2Ô2Ð2Ý
Œ�Ô#Ñ$Ô$Ð$ØÔ Ð,ØÔ$¨¬Ò5Ð5Ý”˜œÑ'Ô'Ð'ÝŒH�TÔ*Ñ+Ô+Ð+ØŒ×ÒÑÔÐØŒ×ÒÑÔÐØˆŒˆˆr<   c                 óÊ   — |                       dd¦  «         | j        dk    rd S | j                             ¦   «          t	          j        | j        | j        ¦  «         d| _        d S r'  )r  r  rE  rï   rP   rC  rD  r<  r€   s    r:   rï   zFDCaptureBase.suspend  sa   € Ø×Ò˜9Ð&>Ñ?Ô?Ð?ØŒ;˜+Ò%Ð%ØˆFØŒ×ÒÑ!Ô!Ð!Ý
Œ�Ô" D¤MÑ2Ô2Ð2Ø!ˆŒˆˆr<   c                 óî   — |                       dd¦  «         | j        dk    rd S | j                             ¦   «          t	          j        | j                             ¦   «         | j        ¦  «         d| _        d S r*  )	r  r  rE  rñ   rP   rC  r	  rR   r<  r€   s    r:   rñ   zFDCaptureBase.resume  sl   € Ø×Ò˜8Ð%=Ñ>Ô>Ð>ØŒ;˜)Ò#Ð#ØˆFØŒ×ÒÑ Ô Ð Ý
Œ�”×#Ò#Ñ%Ô% t¤}Ñ5Ô5Ð5ØˆŒˆˆr<   rš   )r‡   rˆ   r‰   r¤   r”   rŒ   r  r   r  rë   rí   rï   rñ   r|   r<   r:   r;  r;  º  sÓ   € € € € € ð'$ ð '$¨ð '$ð '$ð '$ð '$ðR
˜#ð 
ð 
ð 
ð 
ð
 ð 
¨U°3¸°8¬_ð 
Àð 
ð 
ð 
ð 
ð ð  ð  ð  ðð ð ð ð "ð "ð "ð "ð ð  ð  ð  ð  ð  r<   r;  c                   ó2   — e Zd ZdZdZdefd„Zdeddfd„ZdS )ÚFDCaptureBinaryzWCapture IO to/from a given OS-level file descriptor.

    snap() produces `bytes`.
    r<   r)   c                 ó  — |                       dd¦  «         | j                             d¦  «         | j        j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S r.  r/  r0  s     r:   rõ   zFDCaptureBinary.snap!  r2  r<   rÑ   Nc                 óf   — |                       dd¦  «         t          j        | j        |¦  «         dS )ú"Write to original file descriptor.ró   r(  N)r  rP   rt   rD  rÓ   s     r:   ró   zFDCaptureBinary.writeorg)  s4   € à×Ò˜:Ð'?Ñ@Ô@Ð@Ý
Œ�Ô# TÑ*Ô*Ð*Ð*Ð*r<   )r‡   rˆ   r‰   Ú__doc__rä   r5  rõ   ró   r|   r<   r:   rQ  rQ    sb   € € € € € ðð ð
 €Lð�eð ð ð ð ð+˜Uð + tð +ð +ð +ð +ð +ð +r<   rQ  c                   ó2   — e Zd ZdZdZdefd„Zdeddfd„ZdS )Ú	FDCapturezTCapture IO to/from a given OS-level file descriptor.

    snap() produces text.
    r…   r)   c                 óþ   — |                       dd¦  «         | j                             d¦  «         | j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S r.  )r  r	  rÉ   r¯   rÏ   r0  s     r:   rõ   zFDCapture.snap7  sq   € Ø×Ò˜6Ð#;Ñ<Ô<Ð<ØŒ×Ò˜!ÑÔÐØŒl×ÒÑ!Ô!ˆØŒ×Ò˜!ÑÔÐØŒ×ÒÑÔÐØˆ
r<   rÑ   Nc                 óŒ   — |                       dd¦  «         t          j        | j        |                     d¦  «        ¦  «         dS )rT  ró   r(  r>  N)r  rP   rt   rD  ÚencoderÓ   s     r:   ró   zFDCapture.writeorg?  s@   € à×Ò˜:Ð'?Ñ@Ô@Ð@å
Œ�Ô# T§[¢[°Ñ%9Ô%9Ñ:Ô:Ð:Ð:Ð:r<   )r‡   rˆ   r‰   rU  rä   rŒ   rõ   ró   r|   r<   r:   rW  rW  /  sb   € € € € € ðð ð
 €Lð�cð ð ð ð ð;˜Sð ; Tð ;ð ;ð ;ð ;ð ;ð ;r<   rW  )é   é   c                   ó(   — e Zd ZU dZeed<   eed<   dS )ÚCaptureResultúOThe result of :method:`caplog.readouterr() <pytest.CaptureFixture.readouterr>`.rw   rx   N)r‡   rˆ   r‰   rU  r   rö   r|   r<   r:   r^  r^  L  s(   € € € € € € à]Ð]àˆˆ‰Øˆˆ‰ˆˆr<   r^  c                   ó   — e Zd ZdZdZdS )r^  r_  r|   N)r‡   rˆ   r‰   rU  rŠ   r|   r<   r:   r^  r^  U  s   € € € € € ð 	^Ð]àˆ	ˆ	ˆ	r<   rw   rx   c                   óì   — e Zd ZdZdZdeee                  deee                  deee                  ddfd„Zde	fd„Z
dd	„Zdeeef         fd
„Zddeddfd„Zdd„Zdd„Zdefd„Zdee         fd„ZdS )ÚMultiCaptureNFÚin_rw   rx   r)   c                 ó0   — || _         || _        || _        d S r~   ©rc  rw   rx   )r�   rc  rw   rx   s       r:   r”   zMultiCapture.__init__b  s   € ð 36ˆŒØ25ˆŒØ25ˆŒˆˆr<   c                 óX   — d| j         ›d| j        ›d| j        ›d| j        ›d| j        ›d�S )Nz<MultiCapture out=z err=z in_=rI  z _in_suspended=rJ  )rw   rx   rc  r  Ú_in_suspendedr€   s    r:   r  zMultiCapture.__repr__l  sf   € ðL ¤ð Lð L°$´(ð Lð LÀ4Ä8ð Lð LØ”kðLð LØ48Ô4FðLð Lð Lð	
r<   c                 óØ   — d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          | j        r| j                             ¦   «          d S d S )Nr!  )r  rc  rë   rw   rx   r€   s    r:   Ústart_capturingzMultiCapture.start_capturingr  sm   € ØˆŒØŒ8ð 	ØŒH�NŠNÑÔÐØŒ8ð 	ØŒH�NŠNÑÔÐØŒ8ð 	ØŒH�NŠNÑÔÐÐÐð	ð 	r<   c                 óÌ   — |                       ¦   «         \  }}|r#| j        €J ‚| j                             |¦  «         |r#| j        €J ‚| j                             |¦  «         ||fS )z?Pop current snapshot out/err capture and flush to orig streams.)Ú
readouterrrw   ró   rx   ©r�   rw   rx   s      r:   Úpop_outerr_to_origzMultiCapture.pop_outerr_to_orig{  sv   € à—?’?Ñ$Ô$‰ˆˆSØð 	#Ø”8Ð'Ð'Ð'ØŒH×Ò˜cÑ"Ô"Ð"Øð 	#Ø”8Ð'Ð'Ð'ØŒH×Ò˜cÑ"Ô"Ð"Ø�Cˆxˆr<   c                 óî   — d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          |r)| j        r$| j                             ¦   «          d| _        d S d S d S )Nr%  T)r  rw   rï   rx   rc  rg  ©r�   rc  s     r:   Úsuspend_capturingzMultiCapture.suspend_capturing†  sŒ   € Ø!ˆŒØŒ8ð 	ØŒH×ÒÑÔÐØŒ8ð 	ØŒH×ÒÑÔÐØð 	&�4”8ð 	&ØŒH×ÒÑÔÐØ!%ˆDÔÐÐð	&ð 	&ð 	&ð 	&r<   c                 óø   — d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          | j        r+| j        €J ‚| j                             ¦   «          d| _        d S d S )Nr!  F)r  rw   rñ   rx   rg  rc  r€   s    r:   Úresume_capturingzMultiCapture.resume_capturing�  s„   € ØˆŒØŒ8ð 	ØŒH�OŠOÑÔÐØŒ8ð 	ØŒH�OŠOÑÔÐØÔð 	'Ø”8Ð'Ð'Ð'ØŒH�OŠOÑÔÐØ!&ˆDÔÐÐð	'ð 	'r<   c                 ó  — | j         dk    rt          d¦  «        ‚d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          | j        r| j                             ¦   «          dS dS )z+Stop capturing and reset capturing streams.Ústoppedzwas already stoppedN)r  Ú
ValueErrorrw   rí   rx   rc  r€   s    r:   Ústop_capturingzMultiCapture.stop_capturing›  s~   € àŒ;˜)Ò#Ð#ÝÐ2Ñ3Ô3Ð3ØˆŒØŒ8ð 	ØŒH�MŠM‰OŒOˆOØŒ8ð 	ØŒH�MŠM‰OŒOˆOØŒ8ð 	ØŒH�MŠM‰OŒOˆOˆOˆOð	ð 	r<   c                 ó   — | j         dk    S )z7Whether actively capturing -- not suspended or stopped.r!  )r  r€   s    r:   Ú
is_startedzMultiCapture.is_started§  s   € àŒ{˜iÒ'Ð'r<   c                 óª   — | j         r| j                              ¦   «         nd}| j        r| j                             ¦   «         nd}t          ||¦  «        S r  )rw   rõ   rx   r^  rl  s      r:   rk  zMultiCapture.readouterr«  sF   € Ø!%¤Ð1ˆdŒh�mŠm‰oŒoˆo¨rˆØ!%¤Ð1ˆdŒh�mŠm‰oŒoˆo¨rˆå˜S #Ñ&Ô&Ð&r<   rš   ©F)r‡   rˆ   r‰   r  rg  r   rã   r   r”   rŒ   r  ri  r   rm  rá   rp  rr  rv  rx  r^  rk  r|   r<   r:   rb  rb  ^  sS  € € € € € Ø€FØ€Mð6à�k &Ô)Ô*ð6ð �k &Ô)Ô*ð6ð �k &Ô)Ô*ð	6ð
 
ð6ð 6ð 6ð 6ð
˜#ð 
ð 
ð 
ð 
ðð ð ð ð	 E¨&°&¨.Ô$9ð 	ð 	ð 	ð 	ð&ð & Tð &°dð &ð &ð &ð &ð	'ð 	'ð 	'ð 	'ð
ð 
ð 
ð 
ð(˜Dð (ð (ð (ð (ð'˜M¨&Ô1ð 'ð 'ð 'ð 'ð 'ð 'r<   rb  r-   c                 ó¾  — | dk    r9t          t          d¦  «        t          d¦  «        t          d¦  «        ¬¦  «        S | dk    r9t          t          d¦  «        t          d¦  «        t          d¦  «        ¬¦  «        S | dk    rt          d d d ¬¦  «        S | dk    r0t          d t          dd	¬
¦  «        t          dd	¬
¦  «        ¬¦  «        S t          d| ›�¦  «        ‚)Nr$   r   rù   rú   re  r%   r&   r'   Tr  zunknown capturing method: )rb  rW  r7  ru  )r-   s    r:   Ú_get_multicapturer|  ²  sÝ   € Ø�‚~€~Ý¥	¨!¡¤µ)¸A±,´,ÅIÈaÁLÄLÐQÑQÔQÐQØ	�5ŠˆÝ¥
¨1¡¤µ:¸a±=´=ÅjÐQRÁmÄmÐTÑTÔTÐTØ	�4ŠˆÝ ¨$°DÐ9Ñ9Ô9Ð9Ø	�9Ò	Ð	ÝØ�* Q¨DÐ1Ñ1Ô1µzÀ!ÈÐ7NÑ7NÔ7Nð
ñ 
ô 
ð 	
õ Ð<°&Ð<Ð<Ñ
=Ô
=Ð=r<   c                   ó¬  — e Zd ZdZdeddfd„Zdefd„Zdeee	f         fd„Z
de	fd„Zd)d	„Zd)d
„Zd)d„Zd*de	ddfd„Zd*de	ddfd„Zd)d„Zdee         fd„Zd+d„Zd)d„Zd)d„Zd)d„Zd)d„Zd)d„Zej        ded         fd„¦   «         Zej        dededed         fd„¦   «         Z e d¬ ¦  «        d!e!dede"e"f         fd"„¦   «         Z# e d¬ ¦  «        deded         fd#„¦   «         Z$ e d¬ ¦  «        deded         fd$„¦   «         Z% e d¬ ¦  «        deded         fd%„¦   «         Z& e d¬&¦  «        d)d'„¦   «         Z' e d¬&¦  «        d)d(„¦   «         Z(dS ),rl   a¹  The capture plugin.

    Manages that the appropriate capture method is enabled/disabled during
    collection and each test phase (setup, call, teardown). After each of
    those points, the captured output is obtained and attached to the
    collection/runtest report.

    There are two levels of capture:

    * global: enabled by default and can be suppressed by the ``-s``
      option. This is always enabled/disabled during collection and each test
      phase.

    * fixture: when a test function or one of its fixture depend on the
      ``capsys`` or ``capfd`` fixtures. In this case special handling is
      needed to ensure the fixtures take precedence over the global capture.
    r-   r)   Nc                 ó0   — || _         d | _        d | _        d S r~   ©Ú_methodÚ_global_capturingÚ_capture_fixture)r�   r-   s     r:   r”   zCaptureManager.__init__Ö  s   € Ø$ˆŒØ>BˆÔØ?CˆÔÐÐr<   c                 ó8   — d| j         ›d| j        ›d| j        ›d�S )Nz<CaptureManager _method=z _global_capturing=z _capture_fixture=rJ  r  r€   s    r:   r  zCaptureManager.__repr__Û  s>   € ð; t¤|ð ;ð ;È$ÔJ`ð ;ð ;Ø $Ô 5ð;ð ;ð ;ð	
r<   c                 óh   — |                       ¦   «         rdS | j        rd| j        j        j        z  S dS )NÚglobalz
fixture %sF)Úis_globally_capturingr‚  ÚrequestÚfixturenamer€   s    r:   Úis_capturingzCaptureManager.is_capturingá  s@   € Ø×%Ò%Ñ'Ô'ð 	Ø�8ØÔ ð 	LØ $Ô"7Ô"?Ô"KÑKÐKØˆur<   c                 ó   — | j         dk    S )Nr&   )r€  r€   s    r:   r†  z$CaptureManager.is_globally_capturingê  s   € ØŒ|˜tÒ#Ð#r<   c                 ó|   — | j         �J ‚t          | j        ¦  «        | _         | j                              ¦   «          d S r~   )r�  r|  r€  ri  r€   s    r:   rp   z%CaptureManager.start_global_capturingí  s>   € ØÔ%Ð-Ð-Ð-Ý!2°4´<Ñ!@Ô!@ˆÔØÔ×.Ò.Ñ0Ô0Ð0Ð0Ð0r<   c                 óŠ   — | j         �;| j                              ¦   «          | j                              ¦   «          d | _         d S d S r~   )r�  rm  rv  r€   s    r:   ro   z$CaptureManager.stop_global_capturingò  sK   € ØÔ!Ð-ØÔ"×5Ò5Ñ7Ô7Ð7ØÔ"×1Ò1Ñ3Ô3Ð3Ø%)ˆDÔ"Ð"Ð"ð .Ð-r<   c                 óJ   — | j         �| j                              ¦   «          d S d S r~   )r�  rr  r€   s    r:   Úresume_global_capturez$CaptureManager.resume_global_captureø  s0   € ð Ô!Ð-ØÔ"×3Ò3Ñ5Ô5Ð5Ð5Ð5ð .Ð-r<   Frc  c                 óN   — | j         �| j                              |¬¦  «         d S d S )N©rc  )r�  rp  ro  s     r:   rq   z%CaptureManager.suspend_global_captureþ  s3   € ØÔ!Ð-ØÔ"×4Ò4¸Ð4Ñ=Ô=Ð=Ð=Ð=ð .Ð-r<   c                 óX   — |                       ¦   «          |                      |¦  «         d S r~   )Úsuspend_fixturerq   ro  s     r:   rï   zCaptureManager.suspend  s.   € à×ÒÑÔÐØ×#Ò# CÑ(Ô(Ð(Ð(Ð(r<   c                 óV   — |                       ¦   «          |                      ¦   «          d S r~   )rŽ  Úresume_fixturer€   s    r:   rñ   zCaptureManager.resume  s,   € Ø×"Ò"Ñ$Ô$Ð$Ø×ÒÑÔÐÐÐr<   c                 óF   — | j         €J ‚| j                              ¦   «         S r~   )r�  rk  r€   s    r:   rs   z"CaptureManager.read_global_capture  s&   € ØÔ%Ð1Ð1Ð1ØÔ%×0Ò0Ñ2Ô2Ð2r<   Úcapture_fixtureúCaptureFixture[Any]c                 óž   — | j         r>| j         j        j        }|j        j        }|j                             d|› d|› d�¦  «         || _         d S )Nzcannot use z and z at the same time)r‚  r‡  rˆ  Ú
raiseerror)r�   r–  Úcurrent_fixtureÚrequested_fixtures       r:   Úset_fixturezCaptureManager.set_fixture  si   € ØÔ ð 	Ø"Ô3Ô;ÔGˆOØ /Ô 7Ô CÐØÔ#×.Ò.ØXÐ/ÐXÐX°oÐXÐXÐXñô ð ð !0ˆÔÐÐr<   c                 ó   — d | _         d S r~   )r‚  r€   s    r:   Úunset_fixturezCaptureManager.unset_fixture  s   € Ø $ˆÔÐÐr<   c                 óJ   — | j         r| j                              ¦   «          dS dS )z|If the current item is using ``capsys`` or ``capfd``, activate
        them so they take precedence over the global capture.N)r‚  Ú_startr€   s    r:   Úactivate_fixturezCaptureManager.activate_fixture  s4   € ð Ô ð 	+ØÔ!×(Ò(Ñ*Ô*Ð*Ð*Ð*ð	+ð 	+r<   c                 óJ   — | j         r| j                              ¦   «          dS dS )zDDeactivate the ``capsys`` or ``capfd`` fixture of this item, if any.N)r‚  rÂ   r€   s    r:   Údeactivate_fixturez!CaptureManager.deactivate_fixture#  s2   € àÔ ð 	*ØÔ!×'Ò'Ñ)Ô)Ð)Ð)Ð)ð	*ð 	*r<   c                 óJ   — | j         r| j                              ¦   «          d S d S r~   )r‚  Ú_suspendr€   s    r:   r’  zCaptureManager.suspend_fixture(  s2   € ØÔ ð 	-ØÔ!×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-r<   c                 óJ   — | j         r| j                              ¦   «          d S d S r~   )r‚  Ú_resumer€   s    r:   r”  zCaptureManager.resume_fixture,  s2   € ØÔ ð 	,ØÔ!×)Ò)Ñ+Ô+Ð+Ð+Ð+ð	,ð 	,r<   rg   c              #   ó¬  K  — | j         o| j                              ¦   «         }|r|                      ¦   «          | j        o| j                             ¦   «         }|r|                      ¦   «          	 dV — |r|                      ¦   «          |r|                      ¦   «          dS dS # |r|                      ¦   «          |r|                      ¦   «          w w xY w)zLContext manager to temporarily disable global and current fixture capturing.N)r‚  Ú_is_startedr’  r�  rx  rq   rŽ  r”  )r�   Ú
do_fixtureÚ	do_globals      r:   Úglobal_and_fixture_disabledz*CaptureManager.global_and_fixture_disabled2  s  è è € ð Ô*ÐR¨tÔ/D×/PÒ/PÑ/RÔ/Rˆ
Øð 	#Ø× Ò Ñ"Ô"Ð"ØÔ*ÐR¨tÔ/E×/PÒ/PÑ/RÔ/Rˆ	Øð 	*Ø×'Ò'Ñ)Ô)Ð)ð	&ØˆEˆEˆEàð -Ø×*Ò*Ñ,Ô,Ð,Øð &Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%ð&ð &øð ð -Ø×*Ò*Ñ,Ô,Ð,Øð &Ø×#Ò#Ñ%Ô%Ð%Ð%ð&øøøs   Á0B$ Â$/CÚwhenÚitemc              #   ó*  K  — |                       ¦   «          |                      ¦   «          	 d V — |                      ¦   «          |                      d¬¦  «         |                      ¦   «         \  }}|                     |d|¦  «         |                     |d|¦  «         d S # |                      ¦   «          |                      d¬¦  «         |                      ¦   «         \  }}|                     |d|¦  «         |                     |d|¦  «         w xY w)NFr�  r`   ra   )rŽ  r¡  r£  rq   rs   Úadd_report_section)r�   r­  r®  rw   rx   s        r:   Úitem_capturezCaptureManager.item_captureC  s#  è è € à×"Ò"Ñ$Ô$Ð$Ø×ÒÑÔÐð	9ØˆEˆEˆEà×#Ò#Ñ%Ô%Ð%Ø×'Ò'¨EÐ'Ñ2Ô2Ð2à×/Ò/Ñ1Ô1‰HˆC�Ø×#Ò# D¨(°CÑ8Ô8Ð8Ø×#Ò# D¨(°CÑ8Ô8Ð8Ð8Ð8øð ×#Ò#Ñ%Ô%Ð%Ø×'Ò'¨EÐ'Ñ2Ô2Ð2à×/Ò/Ñ1Ô1‰HˆC�Ø×#Ò# D¨(°CÑ8Ô8Ð8Ø×#Ò# D¨(°CÑ8Ô8Ð8Ð8øøøs   ¬B! Â!A1DTrd   Ú	collectorc              #   ór  K  — t          |t          ¦  «        r›|                      ¦   «          	 d V —}|                      ¦   «          n# |                      ¦   «          w xY w|                      ¦   «         \  }}|r|j                             d|f¦  «         |r|j                             d|f¦  «         nd V —}|S )NzCaptured stdoutzCaptured stderr)r]   r    rŽ  rq   rs   ÚsectionsÚappend)r�   r²  Úreprw   rx   s        r:   Úpytest_make_collect_reportz)CaptureManager.pytest_make_collect_reportS  sÓ   è è € õ �i¥Ñ&Ô&ð 	Ø×&Ò&Ñ(Ô(Ð(ð.Ø�e�e�à×+Ò+Ñ-Ô-Ð-Ð-ø�×+Ò+Ñ-Ô-Ð-Ð-øøøØ×/Ò/Ñ1Ô1‰HˆC�Øð >Ø”×#Ò#Ð%6¸Ð$<Ñ=Ô=Ð=Øð >Ø”×#Ò#Ð%6¸Ð$<Ñ=Ô=Ð=øà�%�%ˆCØˆ
s   ­A ÁAc              #   ón   K  — |                       d|¦  «        5  d V —cd d d ¦  «         S # 1 swxY w Y   d S )NÚsetup©r±  ©r�   r®  s     r:   Úpytest_runtest_setupz#CaptureManager.pytest_runtest_setupf  s‡   è è € à×Ò˜w¨Ñ-Ô-ð 	ð 	Ø�E�Eð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   ™*ª.±.c              #   ón   K  — |                       d|¦  «        5  d V —cd d d ¦  «         S # 1 swxY w Y   d S )NÚcallrº  r»  s     r:   Úpytest_runtest_callz"CaptureManager.pytest_runtest_callk  s‡   è è € à×Ò˜v tÑ,Ô,ð 	ð 	Ø�E�Eð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	r½  c              #   ón   K  — |                       d|¦  «        5  d V —cd d d ¦  «         S # 1 swxY w Y   d S )NÚteardownrº  r»  s     r:   Úpytest_runtest_teardownz&CaptureManager.pytest_runtest_teardownp  s‡   è è € à×Ò˜z¨4Ñ0Ô0ð 	ð 	Ø�E�Eð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	r½  )Útryfirstc                 ó.   — |                       ¦   «          d S r~   ©ro   r€   s    r:   Úpytest_keyboard_interruptz(CaptureManager.pytest_keyboard_interruptu  ó   € à×"Ò"Ñ$Ô$Ð$Ð$Ð$r<   c                 ó.   — |                       ¦   «          d S r~   rÆ  r€   s    r:   Úpytest_internalerrorz#CaptureManager.pytest_internalerrory  rÈ  r<   rš   rz  )r–  r—  r)   N))r‡   rˆ   r‰   rU  Ú_CaptureMethodr”   rŒ   r  r   rá   r‰  r†  rp   ro   rŽ  rq   rï   rñ   r^  rs   rœ  rž  r¡  r£  r’  r”  Ú
contextlibÚcontextmanagerr   r¬  r!   r±  r   r   r"   r·  r¼  rÀ  rÃ  rÇ  rÊ  r|   r<   r:   rl   rl   Ã  s²  € € € € € ðð ð$D˜~ð D°$ð Dð Dð Dð Dð

˜#ð 
ð 
ð 
ð 
ð˜e C¨ IÔ.ð ð ð ð ð$ tð $ð $ð $ð $ð1ð 1ð 1ð 1ð
*ð *ð *ð *ð6ð 6ð 6ð 6ð>ð >¨$ð >¸4ð >ð >ð >ð >ð)ð )˜4ð )¨Dð )ð )ð )ð )ð
ð ð ð ð3 ]°3Ô%7ð 3ð 3ð 3ð 3ð0ð 0ð 0ð 0ð%ð %ð %ð %ð+ð +ð +ð +ð*ð *ð *ð *ð
-ð -ð -ð -ð,ð ,ð ,ð ,ð Ôð&¨YÐ7GÔ-Hð &ð &ð &ñ Ôð&ð  Ôð9 ð 9¨Dð 9°YÐ?OÔ5Pð 9ð 9ð 9ñ Ôð9ð €X�dÐÑÔðØ"ðà	�4˜¨Ð5Ô	6ðð ð ñ Ôðð$ €X�dÐÑÔð¨ð °)Ð<LÔ2Mð ð ð ñ Ôðð €X�dÐÑÔð¨ð °Ð;KÔ1Lð ð ð ñ Ôðð €X�dÐÑÔð¨Dð °YÐ?OÔ5Pð ð ð ñ Ôðð €X�tÐÑÔð%ð %ð %ñ Ôð%ð €X�tÐÑÔð%ð %ð %ñ Ôð%ð %ð %r<   rl   c            	       ó¾   — e Zd ZdZddœdeee                  dededdfd	„Z	dd
„Z
dd„Zdee         fd„Zdd„Zdd„Zdefd„Zej        ded         fd„¦   «         ZdS )ÚCaptureFixturez|Object returned by the :fixture:`capsys`, :fixture:`capsysbinary`,
    :fixture:`capfd` and :fixture:`capfdbinary` fixtures.F©Ú	_ispytestÚcaptureclassr‡  rÑ  r)   Nc                ó’   — t          |¦  «         || _        || _        d | _        | j        j        | _        | j        j        | _        d S r~   )r   rÒ  r‡  Ú_capturerä   Ú_captured_outÚ_captured_err)r�   rÒ  r‡  rÑ  s       r:   r”   zCaptureFixture.__init__‚  sJ   € õ 	�yÑ!Ô!Ð!Ø7CˆÔØˆŒØ8<ˆŒØ%)Ô%6Ô%CˆÔØ%)Ô%6Ô%CˆÔÐÐr<   c                 óÄ   — | j         €Xt          d |                      d¦  «        |                      d¦  «        ¬¦  «        | _         | j                              ¦   «          d S d S )Nrù   rú   re  )rÔ  rb  rÒ  ri  r€   s    r:   r   zCaptureFixture._start�  si   € ØŒ=Ð Ý(ØØ×%Ò% aÑ(Ô(Ø×%Ò% aÑ(Ô(ðñ ô ˆDŒMð
 ŒM×)Ò)Ñ+Ô+Ð+Ð+Ð+ð !Ð r<   c                 óÐ   — | j         �^| j                              ¦   «         \  }}| xj        |z  c_        | xj        |z  c_        | j                              ¦   «          d | _         d S d S r~   )rÔ  rm  rÕ  rÖ  rv  rl  s      r:   rÂ   zCaptureFixture.close™  sp   € ØŒ=Ð$Ø”}×7Ò7Ñ9Ô9‰HˆC�ØÐÔ #Ñ%ÐÔØÐÔ #Ñ%ÐÔØŒM×(Ò(Ñ*Ô*Ð*Ø ˆDŒMˆMˆMð %Ð$r<   c                 óÜ   — | j         | j        }}| j        �&| j                             ¦   «         \  }}||z  }||z  }| j        j        | _         | j        j        | _        t          ||¦  «        S )z×Read and return the captured output so far, resetting the internal
        buffer.

        :returns:
            The captured content as a namedtuple with ``out`` and ``err``
            string attributes.
        )rÕ  rÖ  rÔ  rk  rÒ  rä   r^  )r�   Úcaptured_outÚcaptured_errrw   rx   s        r:   rk  zCaptureFixture.readouterr¡  sr   € ð &*Ô%7¸Ô9K�lˆØŒ=Ð$Ø”}×/Ò/Ñ1Ô1‰HˆC�Ø˜CÑˆLØ˜CÑˆLØ!Ô.Ô;ˆÔØ!Ô.Ô;ˆÔÝ˜\¨<Ñ8Ô8Ð8r<   c                 óJ   — | j         �| j                              ¦   «          dS dS )z1Suspend this fixture's own capturing temporarily.N)rÔ  rp  r€   s    r:   r¥  zCaptureFixture._suspend²  s,   € àŒ=Ð$ØŒM×+Ò+Ñ-Ô-Ð-Ð-Ð-ð %Ð$r<   c                 óJ   — | j         �| j                              ¦   «          dS dS )z0Resume this fixture's own capturing temporarily.N)rÔ  rr  r€   s    r:   r§  zCaptureFixture._resume·  s,   € àŒ=Ð$ØŒM×*Ò*Ñ,Ô,Ð,Ð,Ð,ð %Ð$r<   c                 óF   — | j         �| j                              ¦   «         S dS )z5Whether actively capturing -- not disabled or closed.NF)rÔ  rx  r€   s    r:   r©  zCaptureFixture._is_started¼  s#   € àŒ=Ð$Ø”=×+Ò+Ñ-Ô-Ð-Øˆur<   rg   c              #   ó´   K  — | j         j        j                             d¦  «        }|                     ¦   «         5  dV — ddd¦  «         dS # 1 swxY w Y   dS )z>Temporarily disable capturing while inside the ``with`` block.ri   N)r‡  Úconfigrk   Ú	getpluginr¬  )r�   Ú
capmanagers     r:   ÚdisabledzCaptureFixture.disabledÂ  s©   è è € ð &*¤\Ô%8Ô%F×%PÒ%PØñ&
ô &
ˆ
ð ×3Ò3Ñ5Ô5ð 	ð 	ØˆEˆEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   »AÁAÁArš   )r‡   rˆ   r‰   rU  r   rã   r   r   rá   r”   r   rÂ   r^  rk  r¥  r§  r©  rÌ  rÍ  r   rã  r|   r<   r:   rÏ  rÏ  ~  s7  € € € € € ð=ð =ð  ðDð Dð Dà˜; vÔ.Ô/ðDð ðDð
 ðDð 
ðDð Dð Dð Dð,ð ,ð ,ð ,ð!ð !ð !ð !ð9˜M¨&Ô1ð 9ð 9ð 9ð 9ð".ð .ð .ð .ð
-ð -ð -ð -ð
˜Tð ð ð ð ð Ôð˜)Ð$4Ô5ð ð ð ñ Ôðð ð r<   rÏ  r‡  c              #   ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a  Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.

    The captured output is made available via ``capsys.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``text`` objects.

    Returns an instance of :class:`CaptureFixture[str] <pytest.CaptureFixture>`.

    Example:
    .. code-block:: python

        def test_output(capsys):
            print("hello")
            captured = capsys.readouterr()
            assert captured.out == "hello\n"
    ri   TrÐ  N)	rà  rk   rá  rÏ  r7  rœ  r   rÂ   rž  ©r‡  rv   r–  s      r:   Úcapsysræ  Ï  s‘   è è € ð$ %œ^Ô9×CÒCÐDTÑUÔU€FÝ$¥Z°ÀDÐIÑIÔI€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   c              #   ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a&  Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``.

    The captured output is made available via ``capsysbinary.readouterr()``
    method calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``bytes`` objects.

    Returns an instance of :class:`CaptureFixture[bytes] <pytest.CaptureFixture>`.

    Example:
    .. code-block:: python

        def test_output(capsysbinary):
            print("hello")
            captured = capsysbinary.readouterr()
            assert captured.out == b"hello\n"
    ri   TrÐ  N)	rà  rk   rá  rÏ  r,  rœ  r   rÂ   rž  rå  s      r:   Úcapsysbinaryrè  ê  s’   è è € ð$ %œ^Ô9×CÒCÐDTÑUÔU€FÝ$Õ%5°wÈ$ÐOÑOÔO€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   c              #   ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a  Enable text capturing of writes to file descriptors ``1`` and ``2``.

    The captured output is made available via ``capfd.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``text`` objects.

    Returns an instance of :class:`CaptureFixture[str] <pytest.CaptureFixture>`.

    Example:
    .. code-block:: python

        def test_system_echo(capfd):
            os.system('echo "hello"')
            captured = capfd.readouterr()
            assert captured.out == "hello\n"
    ri   TrÐ  N)	rà  rk   rá  rÏ  rW  rœ  r   rÂ   rž  rå  s      r:   Úcapfdrê    s‘   è è € ð$ %œ^Ô9×CÒCÐDTÑUÔU€FÝ$¥Y°À4ÐHÑHÔH€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   c              #   ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a,  Enable bytes capturing of writes to file descriptors ``1`` and ``2``.

    The captured output is made available via ``capfd.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``byte`` objects.

    Returns an instance of :class:`CaptureFixture[bytes] <pytest.CaptureFixture>`.

    Example:
    .. code-block:: python

        def test_system_echo(capfdbinary):
            os.system('echo "hello"')
            captured = capfdbinary.readouterr()
            assert captured.out == b"hello\n"

    ri   TrÐ  N)	rà  rk   rá  rÏ  rQ  rœ  r   rÂ   rž  rå  s      r:   Úcapfdbinaryrì     s‘   è è € ð& %œ^Ô9×CÒCÐDTÑUÔU€FÝ$¥_°gÈÐNÑNÔN€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   rš   )PrU  r÷   ÚcollectionsrÌ  rM   r   rP   r%   Útempfiler   Útypesr   Útypingr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.deprecatedr   Ú_pytest.fixturesr   r   Ú_pytest.nodesr   r    r!   Ú_pytest.reportsr"   rË  r;   rC   rc   ry   rN   r{   rŽ   rž   r¦   ÚABCrã   r  rŒ   rü   r  r5  r,  r7  r;  rQ  rW  Úversion_infor^  Ú
namedtuplerb  r|  rl   rÏ  ræ  rè  rê  rì  r|   r<   r:   ú<module>rú     sÙ  ðà 1Ð 1à 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø #Ð #Ð #Ð #Ð #Ð #Ø 	€	€	€	Ø 
€
€
€
Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )ð Ð5Ô6€ð˜Vð ¨ð ð ð ð ð&ð ð ð ð41¨ð 41°Dð 41ð 41ð 41ð 41ðn 
€�$ÐÑÔð°ð ¸9ÐEUÔ;Vð ð ð ñ Ôðð:1ð 1ð 1ð 1ð 1�"Ô"ñ 1ô 1ð 1ð 6ð 6ð 6ð 6ð 6�Ô ñ 6ô 6ð 6ð$ð $ð $ð $ð $�9ñ $ô $ð $ðIð Ið Ið Ið I˜ñ Iô Ið Ið^$ð $ð $ð $ð $�#”'˜7 6œ?ñ $ô $ð $ð@ ˜x¨HÐ5Ð5€ðð ð ð ð �˜CÔ ñ ô ð ð2@ ð @ ð @ ð @ ð @ �[ Ô(ñ @ ô @ ð @ ðF!ð !ð !ð !ð !�~ eÔ,ñ !ô !ð !ð$ð ð ð ð � Ô$ñ ô ð ð"\ ð \ ð \ ð \ ð \ �K Ô'ñ \ ô \ ð \ ð~+ð +ð +ð +ð +�m EÔ*ñ +ô +ð +ð,;ð ;ð ;ð ;ð ;�˜cÔ"ñ ;ô ;ð ;ð6 Ô�wÒÐ -Ðà
ðð ð ð ð ˜
 G¨F¤Oñ ô ñ „Uðð ðð ð ð ð ØˆÔ˜°¸°Ñ?Ô?Ø�Œñô ð ðQ'ð Q'ð Q'ð Q'ð Q'�7˜6”?ñ Q'ô Q'ð Q'ðh>˜nð >°¸cÔ1Bð >ð >ð >ð >ð"x%ð x%ð x%ð x%ð x%ñ x%ô x%ð x%ðvKð Kð Kð Kð K�W˜V”_ñ Kô Kð Kðb 	ð�Jð  9¨^¸CÔ-@À$ÈÐ-LÔ#Mð ð ð ñ 	„ðð4 	ð˜*ð ¨°>À%Ô3HÈ$ÐPTÐ3TÔ)Uð ð ð ñ 	„ðð4 	ð�:ð  )¨N¸3Ô,?ÀÀtÐ,KÔ"Lð ð ð ñ 	„ðð4 	ð˜ð ¨	°.ÀÔ2GÈÈtÐ2SÔ(Tð ð ð ñ 	„ðð ð r<   