§
    4›j;  ã                  óü   — d Z ddlm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Z eee                  ¦   «         Zdd„Z ej        d¬¦  «        dd„¦   «         Zdd„Zdd„Zd d„ZdS )!zASubmit failure or test session information to a pastebin service.é    )Úannotations)ÚStringION)ÚIO)ÚConfig)Úcreate_terminal_writer)ÚParser)ÚStashKey)ÚTerminalReporterÚparserr   ÚreturnÚNonec           	     ól   — |                       d¦  «        }|                     ddddd ddgd¬	¦  «         d S )
Nzterminal reportingz
--pastebinÚmodeÚstoreÚpastebinÚfailedÚallz3Send failed|all info to bpaste.net pastebin service)ÚmetavarÚactionÚdestÚdefaultÚchoicesÚhelp)ÚgetgroupÚ	addoption)r   Úgroups     úM/home/lighthouse/health/venv/lib/python3.11/site-packages/_pytest/pastebin.pyÚpytest_addoptionr      sS   € Ø�OŠOÐ0Ñ1Ô1€EØ	‡O‚OØØØØØØ˜5Ð!ØBð ñ ô ð ð ð ó    T)ÚtrylastÚconfigr   c                óè   ‡ ‡— ‰ j         j        dk    r]‰ j                             d¦  «        }|�Ct	          j        d¦  «        ‰ j        t          <   |j        j	        Šˆ ˆfd„}||j        _	        d S d S d S )Nr   Úterminalreporterzw+bc                ó¸   •—  ‰| fi |¤Ž t          | t          ¦  «        r|                      d¦  «        } ‰j        t                                        | ¦  «         d S )Núutf-8)Ú
isinstanceÚstrÚencodeÚstashÚpastebinfile_keyÚwrite)ÚsÚkwargsr!   Úoldwrites     €€r   Ú	tee_writez#pytest_configure.<locals>.tee_write.   s`   ø€ Ø�˜Ð%Ð%˜fÐ%Ð%Ð%Ý˜a¥Ñ%Ô%ð *ØŸš Ñ)Ô)�AØ”Õ-Ô.×4Ò4°QÑ7Ô7Ð7Ð7Ð7r   )
Úoptionr   ÚpluginmanagerÚ	getpluginÚtempfileÚTemporaryFiler)   r*   Ú_twr+   )r!   Útrr/   r.   s   `  @r   Úpytest_configurer7   "   s�   øø€ à„}Ô Ò&Ð&ØÔ!×+Ò+Ð,>Ñ?Ô?ˆð ˆ>å-5Ô-CÀEÑ-JÔ-JˆFŒLÕ)Ñ*Ø”v”|ˆHð8ð 8ð 8ð 8ð 8ð 8ð %ˆBŒFŒLˆLˆLð! 'Ð&ð
 ˆ>r   c                ó¨  — t           | j        v rÃ| j        t                    }|                     d¦  «         |                     ¦   «         }|                     ¦   «          | j        t           = | j                             d¦  «        }|j        j        d= | 	                    dd¦  «         t          |¦  «        }|                     d|› d�¦  «         d S d S )Nr   r#   r+   ú=ú$Sending information to Paste Servicezpastebin session-log: ú
)r*   r)   ÚseekÚreadÚcloser1   r2   r5   Ú__dict__Ú	write_sepÚcreate_new_pasteÚ
write_line)r!   ÚpastebinfileÚ
sessionlogr6   Úpastebinurls        r   Úpytest_unconfigurerF   7   sÏ   € Ý˜6œ<Ð'Ð'Ø”|Õ$4Ô5ˆà×Ò˜!ÑÔÐØ!×&Ò&Ñ(Ô(ˆ
Ø×ÒÑÔÐØŒLÕ)Ð*àÔ!×+Ò+Ð,>Ñ?Ô?ˆØŒFŒO˜GÐ$à
�Š�SÐ@ÑAÔAÐAÝ& zÑ2Ô2ˆØ
�ŠÐ>¨{Ð>Ð>Ð>Ñ?Ô?Ð?Ð?Ð?ð (Ð'r   Úcontentsústr | bytesr'   c                óì  — ddl }ddlm} ddlm} ddlm} | dddœ}d	}	  || ||¦  «                             d
¦  «        ¬¦  «                             ¦   «          	                    d¦  «        }nM# |$ r.}|5  d|› �cddd¦  «         cY d}~S # 1 swxY w Y   Y d}~nd}~wt          $ r}d|› �cY d}~S d}~ww xY w|                     d|¦  «        }	|	r|› d|	                     d¦  «        › �S d|z   dz   S )z›Create a new paste using the bpaste.net service.

    :contents: Paste contents string.
    :returns: URL to the pasted contents, or an error message.
    r   N)Ú	HTTPError)Ú	urlencode)ÚurlopenÚtextÚ1week)ÚcodeÚlexerÚexpiryzhttps://bpa.stÚascii)Údatar%   zbad response: zhref="/raw/(\w+)"z/show/é   zbad response: invalid format ('z'))ÚreÚurllib.errorrJ   Úurllib.parserK   Úurllib.requestrL   r(   r=   ÚdecodeÚOSErrorÚsearchr   )
rG   rU   rJ   rK   rL   ÚparamsÚurlÚresponseÚeÚms
             r   rA   rA   H   sã  € ð €I€I€IØ&Ð&Ð&Ð&Ð&Ð&Ø&Ð&Ð&Ð&Ð&Ð&Ø&Ð&Ð&Ð&Ð&Ð&à¨¸7ÐCÐC€FØ
€Cð$àˆG�C˜i˜i¨Ñ/Ô/×6Ò6°wÑ?Ô?Ð@Ñ@Ô@×EÒEÑGÔG×NÒNÈwÑWÔWð 	ˆøð ð (ð (ð (Øð 	(ð 	(Ø' AÐ'Ð'ð	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøøåð $ð $ð $Ø# Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#øøøøð$øøøà
�	Š	Ð&¨Ñ1Ô1€AØð CØÐ)Ð)˜QŸWšW Q™ZœZÐ)Ð)Ð)à0°8Ñ;¸dÑBÐBsT    AA/ Á/B9Á4BÁ6BÁ;BÂB9ÂB	ÂBÂB	ÂBÂB9Â*B4Â.B9Â4B9r#   r
   c                ó(  — | j         j        j        dk    rd S d| j        v rï|                      dd¦  «         | j        d         D ]Í}	 |j        j        j        d         j        }n%# t          $ r |  
                    |¦  «        }Y nw xY wt          ¦   «         }t          | j         |¦  «        }|                     |¦  «         |                     ¦   «         }t          |¦  «        sJ ‚t!          |¦  «        }|                      |› d|› �¦  «         ŒÌd S d S )Nr   r9   r:   éÿÿÿÿz --> )r!   r0   r   Ústatsr@   ÚlongreprÚreprtracebackÚreprentriesÚreprfilelocÚAttributeErrorÚ_getfailureheadliner   r   Ú
toterminalÚgetvalueÚlenrA   rB   )r#   ÚrepÚmsgÚfileÚtwr,   rE   s          r   Úpytest_terminal_summaryrq   e   s=  € ØÔÔ%Ô.°(Ò:Ð:ØˆØÐ#Ô)Ð)Ð)Ø×"Ò" 3Ð(NÑOÔOÐOØ#Ô)¨(Ô3ð 	Dð 	DˆCð@Ø”lÔ0Ô<¸RÔ@ÔL��øÝ!ð @ð @ð @Ø&×:Ò:¸3Ñ?Ô?���ð@øøøå‘:”:ˆDÝ'Ð(8Ô(?ÀÑFÔFˆBØ�NŠN˜2ÑÔÐØ—’‘”ˆAÝ�q‘6”6ˆMˆMˆMÝ*¨1Ñ-Ô-ˆKØ×'Ò'¨3Ð(BÐ(B°[Ð(BÐ(BÑCÔCÐCÐCð *Ð)ð	Dð 	Ds   ÁA$Á$BÂB)r   r   r   r   )r!   r   r   r   )rG   rH   r   r'   )r#   r
   r   r   )Ú__doc__Ú
__future__r   Úior   r3   Útypingr   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.stashr	   Ú_pytest.terminalr
   ÚpytestÚbytesr*   r   Úhookimplr7   rF   rA   rq   © r   r   ú<module>r~      s^  ðà GÐ Gà "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø "Ð "Ð "Ð "Ð "Ð "Ø -Ð -Ð -Ð -Ð -Ð -Ø €€€ð '�8˜B˜uœIÔ&Ñ(Ô(Ð ð
ð 
ð 
ð 
ð €„˜ÐÑÔð%ð %ð %ñ Ôð%ð(@ð @ð @ð @ð"Cð Cð Cð Cð:Dð Dð Dð Dð Dð Dr   