Ë
   16ƒgbÔÆyã                   óà   — d dl Zd dlmc 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mZ d dlmZ d dlmZ erd dlmZmZ  ed«      Zdd„Zdeeef   d
ee   fd„Zdee   d
efd„Zdd	d
efd„Zy)é    N)ÚCounter)ÚIterable)ÚTYPE_CHECKINGÚcast)ÚPhase)ÚDynamicVariable)ÚPhaseStatisticsÚStatisticsDictÚ
stats_dictr
   Úreturnc                 ó:   — t         j                  }|�	 || «       y y ©N)Ú	collectorÚvalue)r   Úcallbacks     úZ/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/statistics.pyÚnote_statisticsr      s   € Ü�‰€HØÐÙ�Õð ó    Úbest_targetsc                 ó  — | sg S t        | «      dk(  r0t        t        | j                  «       «      «      \  }}d|d›d|›d�gS dg}t	        | j                  «       d„ ¬«      D ]  \  }}|j                  |d	›d|›d�«       Œ |S )
zBReturn a list of lines describing the results of `target`, if any.é   zHighest target score: Úgz	  (label=ú)zHighest target scores:c                 ó   — | d d d…   S )Néÿÿÿÿ© ©Úxs    r   ú<lambda>z"describe_targets.<locals>.<lambda>-   s   € ÀqÉÈ2ÈÁw€ r   ©Úkeyz>16g)ÚlenÚnextÚiterÚitemsÚsortedÚappend)r   ÚlabelÚscoreÚliness       r   Údescribe_targetsr+       s›   € ñ Øˆ	Ü	ˆ\Ó	˜aÒ	ÜœD ×!3Ñ!3Ó!5Ó6Ó7‰ˆˆuØ(¨¨q¨	°°U°H¸AÐ>Ð?Ð?à)Ð*ˆÜ" <×#5Ñ#5Ó#7Ñ=NÔOò 	6‰LˆE�5Ø�L‰L˜E $˜< z¨5¨(°!Ð4Õ5ð	6àˆr   Útimesc                 ó4  — t        | «      }t        |«      dz
  }|dk  st        d„ |D «       «      ryt        |t	        j
                  |dz  «         dz  «      }t        |t	        j                  |dz  «         dz  «      }|dk(  ry||k(  rd	|› d
�S d	|› d|› d�S )z~Format `times` into a string representing approximate milliseconds.

    `times` is a collection of durations in seconds.
    r   r   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr   )ÚmathÚisnan©Ú.0Úts     r   ú	<genexpr>zformat_ms.<locals>.<genexpr>9   s   è ø€ Ò3 a”D—J‘J˜q—MÑ3ùs   ‚!zNaN msgš™™™™™©?iè  gffffffî?z< 1msz~ Úmsú-z ms)r&   r"   ÚanyÚintr/   ÚfloorÚceil)r,   ÚorderedÚnÚlowerÚuppers        r   Ú	format_msr?   2   s¨   € ô
 �U‹m€GÜˆG‹�qÑ€AØˆ1‚u”Ñ3¨7Ô3Ô3ØÜ�œŸ
™
 1 t¡8Ó,Ñ-°Ñ4Ó5€EÜ�œŸ	™	 ! d¡(Ó+Ñ,¨tÑ3Ó4€EØ�‚zØØ	�%ŠØ�E�7˜"ˆ~Ðà�E�7˜!˜E˜7 #Ð&Ð&r   c                 óÔ  — d| v r	| d   dz   gng }d}d„ t        t        «      dd D «       D �]¾  }t        d| j                  |dz   i «      «      }|j                  d	g «      }|sŒ8t	        d
„ |D «       «      }t        d„ |D «       «      }t        d„ |D «       «      }|j                  d|› d|d   d›d|› d|› d|d   › d|d   › d|d   |d   z   › d�«       |d   |z
  }	|	r6|	dkD  }
|j                  dj                  |	dt        |«      z  d|
z  «      «       |d   }|dk(  rŠt	        t        j                  j                  d „ |D «       «      «      }|rY|j                  d!«       |t        |j                  «       d"„ ¬#«      D ��cg c]  \  }}d$d%|z  t        |«      z  d›d&|› �‘Œ c}}z  }|d'k(  r-|j                  d(j                  t        |«      |d)   «      «       |j                  d*«       �ŒÁ t        | j                  d+i «      «      }|r2|j                  d,|d   z   «       |j!                  d-„ |dd D «       «       |j                  d.| d/   z   «       d0j#                  |«      S c c}}w )1a6  Return a multi-line string describing the passed run statistics.

    `stats_dict` must be a dictionary of data in the format collected by
    `hypothesis.internal.conjecture.engine.ConjectureRunner.statistics`.

    We DO NOT promise that this format will be stable or supported over
    time, but do aim to make it reasonably useful for downstream users.
    It's also meant to support benchmarking for research purposes.

    This function is responsible for the report which is printed in the
    terminal for our pytest --hypothesis-show-statistics option.
    Únodeidz:
r   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr   )Úname)r2   Úps     r   r4   z&describe_statistics.<locals>.<genexpr>T   s   è ø€ Ò2˜Q�!—&•&Ñ2ùs   ‚r   Nr	   z-phasez
test-casesc              3   ó&   K  — | ]	  }|d    –— Œ y­w)ÚstatusNr   r1   s     r   r4   z&describe_statistics.<locals>.<genexpr>Z   s   è ø€ Ò6¨1˜1˜X�;Ñ6ùó   ‚c              3   ó&   K  — | ]	  }|d    –— Œ y­w)ÚruntimeNr   r1   s     r   r4   z&describe_statistics.<locals>.<genexpr>[   s   è ø€ Ò;°˜q �|Ñ;ùrG   c              3   ó&   K  — | ]	  }|d    –— Œ y­w)ÚdrawtimeNr   r1   s     r   r4   z&describe_statistics.<locals>.<genexpr>\   s   è ø€ Ò=°!  *¥Ñ=ùrG   z  - during z phase (zduration-secondsz.2fz# seconds):
    - Typical runtimes: z, of which z in data generation
    - Úvalidz
 passing, Úinterestingz failing, and ÚinvalidÚoverrunz invalid test caseszdistinct-failuresz/    - Found {}{} distinct error{} in this phasez moreÚsÚgeneratec              3   ó&   K  — | ]	  }|d    –— Œ y­w)ÚeventsNr   r1   s     r   r4   z&describe_statistics.<locals>.<genexpr>p   s   è ø€ Ò:VÈ1¸1¸X½;Ñ:VùrG   z    - Events:c                 ó   — | d    | d   fS )Nr   r   r   r   s    r   r   z%describe_statistics.<locals>.<lambda>u   s   € ÀqÈÁtÀeÈQÈqÉTÀ]€ r   r    z      * éd   z%, Úshrinkz2    - Tried {} shrinks of which {} were successfulzshrinks-successfulÚ Útargetsz  - c              3   ó&   K  — | ]	  }d |z   –— Œ y­w)z    Nr   )r2   Úls     r   r4   z&describe_statistics.<locals>.<genexpr>ƒ   s   è ø€ Ò: A�V˜a•ZÑ:ùrG   z  - Stopped because zstopped-becauseú
)Úlistr   r   Úgetr   r?   r'   ÚformatÚboolÚ	itertoolsÚchainÚfrom_iterabler&   r%   r"   r+   ÚextendÚjoin)r   r*   Úprev_failuresÚphaseÚdÚcasesÚstatusesÚ
runtime_msÚdrawtime_msÚdistinct_failuresÚpluralrS   ÚkÚvÚtarget_liness                  r   Údescribe_statisticsrq   E   s´  € ð /7¸*Ñ.DˆZ˜Ñ! EÑ)Ñ*È"€EØ€MÙ2¤$¤u£+¨a¨b /Ô2ó *ˆÜÐ" J§N¡N°5¸8Ñ3CÀRÓ$HÓIˆà—‘�l BÓ'ˆÙØÜÑ6°Ô6Ó6ˆÜÑ;°UÔ;Ó;ˆ
ÜÑ=°uÔ=Ó=ˆØ�‰Ø˜%˜ ¨Ð+=Ñ)>¸sÐ(Cð D'Ø'1 l°+¸k¸]ð KØ˜gÑ&Ð' z°(¸=Ñ2IÐ1Jð KØ$ YÑ/°(¸9Ñ2EÑEÐFð G!ð!ô	
ð Ð1Ñ2°]ÑBÐÙØ&¨Ñ*ˆFØ�L‰LØA×HÑHØ% w´°mÓ1DÑ'DÀcÈFÁlóôð
 Ð-Ñ.ˆà�JÒÜœYŸ_™_×:Ñ:Ñ:VÐPUÔ:VÓVÓWˆFÙØ—‘˜_Ô-Øä & v§|¡|£~Ñ;RÔ S÷á˜˜1ð ˜s Q™w¬¨U«Ñ3°CÐ8¸¸A¸3Ò?óñ �ð
 �HÒØ�L‰LØD×KÑKÜ˜“J Ð"6Ñ 7óôð
 	�‰�RÖðU*ôX $ J§N¡N°9¸bÓ$AÓB€LÙØ�‰�V˜l¨1™oÑ-Ô.Ø�‰Ñ:¨°a°bÐ)9Ô:Ô:Ø	‡L�LÐ'¨*Ð5FÑ*GÑGÔHØ�9‰9�UÓÐùó%s   Å?"I$
)r   r
   r   N)ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arr`   r/   Úcollectionsr   Úcollections.abcr   Útypingr   r   Úhypothesis._settingsr   Ú!hypothesis.utils.dynamicvariablesr   Ú%hypothesis.internal.conjecture.enginer	   r
   r   r   ÚdictÚstrÚfloatr\   r+   r?   rq   r   r   r   ú<module>r�      s„   ð÷ „ Ó Û Ý Ý $ß &å &Ý =áßUá˜DÓ!€	óð 4¨¨U¨
Ñ#3ð ¸¸S¹	ó ð$'�X˜e‘_ð '¨ó 'ð&@Ð$4ð @¸ô @r   