Ë
    iKêjóá  ã            
       ón  — U d dl 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mZm	Z	m
Z
mZmZmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZmZmZmZm Z m!Z! d d
l"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@ d dlAmBZBmCZCmDZD d dlEmFZF d dlGmHZH d dlImJZJmKZKmLZLmMZM d dlNmOZO d dlPmQZQ d dlRmSZS d dlTmUZU d dlVmWZWmXZX d dlYmZZZ d dl[m\Z\ d dl]m^Z^ erd dl_m`Z` d dlambZb d dlcmdZd d dlemfZf degd efd!„Zh ed"«      Ziejegekelz  f   Zmeneke5e1e3dz  f   Zoeepd#<    eFd$«      Zq eFd%«      Zrd&Zs e\ek¬'«      Zt G d(„ d)e«      Zu ed*d*¬+«       G d,„ d-«      «       Zvi Zwejekevf   epd.<   d/ekd evfd0„Zx e+d1«      Zye+ened2f   e1f   epd3<   ekezege{elejø                  e jú                  e j                  e j                   e jü                  f
Zene€d2f   epd4<    eWd5«      Z� G d6„ d7«      Z‚ G d8„ d9«      Zƒ G d:„ d;e«      Z„ G d<„ d=«      Z… G d>„ d?eƒ«      Z† G d@„ dAeƒ«      Z‡ G dB„ dCeƒ«      Zˆ G dD„ dEeƒ«      Z‰ G dF„ dGeƒ«      ZŠ G dH„ dIeƒ«      Z‹ G dJ„ dK«      ZŒ G dL„ dM«      Z� e�«       ZŽ G dN„ dO«      Z� ed*d*¬+«       G dP„ dQ«      «       Z� G dR„ dS«      Z‘dTe5dUe1dVed e3fdW„Z’y)Xé    N)Údefaultdict)ÚCallableÚ	GeneratorÚHashableÚIterableÚIteratorÚSequence)Úcontextmanager)Ú	dataclassÚfield)ÚIntEnum)Úcached_property)ÚRandom)ÚTYPE_CHECKINGÚAnyÚLiteralÚNoReturnÚ	TypeAliasÚTypeVarÚcastÚoverload)ÚCannotInvertÚCannotProceedScopeTÚChoiceTooLargeÚFlakyStrategyDefinitionÚFrozenÚInvalidArgumentÚStopTest)ÚLRUCache)Úadd_note)ÚBooleanConstraintsÚBytesConstraintsÚChoiceConstraintsTÚ
ChoiceNodeÚChoiceTÚChoiceTemplateÚChoiceTypeTÚFloatConstraintsÚIntegerConstraintsÚStringConstraintsÚ	ValueHoleÚchoice_constraints_keyÚchoice_from_indexÚchoice_permittedÚchoice_size)ÚIntListÚgc_cumulative_time)ÚCOLLECTION_DEFAULT_MAX_SIZEÚHypothesisProviderÚPrimitiveProvider)Úcalc_label_from_name)ÚInterestingOrigin)ÚSMALLEST_SUBNORMALÚfloat_to_intÚint_to_floatÚsign_aware_lte)ÚIntervalSet)ÚPredicateCounts)Úfunction_location)Údebug_report)ÚUniqueIdentifierÚnot_set)Únote_deprecation)ÚThreadLocal)Ú
ArgLabelsT)ÚSearchStrategy)Ú
DataObject)ÚRandomState)ÚExÚnameÚreturnc                 óV   — | dk(  rddl m} t        dddd¬«       |S t        d	| › �«      ‚)
NÚAVAILABLE_PROVIDERSr   )rK   z‡hypothesis.internal.conjecture.data.AVAILABLE_PROVIDERS has been moved to hypothesis.internal.conjecture.providers.AVAILABLE_PROVIDERS.z
2025-01-25Fé   )ÚsinceÚhas_codemodÚ
stacklevelz>Module 'hypothesis.internal.conjecture.data' has no attribute )Ú(hypothesis.internal.conjecture.providersrK   rA   ÚAttributeError)rH   rK   s     úh/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/conjecture/data.pyÚ__getattr__rS   \   sD   € ØÐ$Ò$ÝPäðLàØØõ	
ð #Ð"ä
Ø
HÈÈÐOóð ó    ÚTÚMisalignedAtÚtopz)a collection with a uniqueness constraintéd   )Úglobal_test_counterc                   ó(   — e Zd ZdZdZdZdZdefd„Zy)ÚStatusr   rL   é   é   rI   c                 ó    — d| j                   › �S )NzStatus.)rH   ©Úselfs    rR   Ú__repr__zStatus.__repr__‚   s   € Ø˜Ÿ™˜Ð$Ð$rT   N)	Ú__name__Ú
__module__Ú__qualname__ÚOVERRUNÚINVALIDÚVALIDÚINTERESTINGÚstrra   © rT   rR   r[   r[   |   s"   „ Ø€GØ€GØ€EØ€Kð%˜#ô %rT   r[   T)ÚslotsÚfrozenc                   ó   — e Zd ZU eed<   y)ÚStructuralCoverageTagÚlabelN)rb   rc   rd   ÚintÚ__annotations__rj   rT   rR   rn   rn   †   s   … à„JrT   rn   ÚSTRUCTURAL_COVERAGE_CACHEro   c                 ór   — 	 t         |    S # t        $ r" t         j                  | t        | «      «      cY S w xY w©N)rr   ÚKeyErrorÚ
setdefaultrn   ©ro   s    rR   Ústructural_coveragerx   Ž   s>   € ðYÜ(¨Ñ/Ð/øÜò YÜ(×3Ñ3°EÔ;PÐQVÓ;WÓXÒXðYús   ‚ ‹(6µ6i   .ÚPOOLED_CONSTRAINTS_CACHEÚ_RECORDABLE_VALUE_TYPESÚno_recorded_valuec                   ó  — e Zd ZdZdZdddeddfd„Zd	edefd
„Z	d	edefd„Z
defd„Zedefd„«       Zededz  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d„«       Zedefd„«       Zy)ÚSpanau  A span tracks the hierarchical structure of choices within a single test run.

    Spans are created to mark regions of the choice sequence that are
    logically related to each other. For instance, Hypothesis tracks:
    - A single top-level span for the entire choice sequence
    - A span for the choices made by each strategy
    - Some strategies define additional spans within their choices. For instance,
      st.lists() tracks the "should add another element" choice and the "add
      another element" choices as separate spans.

    Spans provide useful information to the shrinker, mutator, targeted PBT,
    and other subsystems of Hypothesis.

    Rather than store each ``Span`` as a rich object, it is actually
    just an index into the ``Spans`` class defined below. This has two
    purposes: Firstly, for most properties of spans we will never need
    to allocate storage at all, because most properties are not used on
    most spans. Secondly, by storing the spans as compact lists
    of integers, we save a considerable amount of space compared to
    Python's normal object size.

    This does have the downside that it increases the amount of allocation
    we do, and slows things down as a result, in some usage patterns because
    we repeatedly allocate the same Span or int objects, but it will
    often dramatically reduce our memory usage, so is worth it.
    )ÚindexÚownerr   ÚSpansr~   rI   Nc                 ó    — || _         || _        y rt   )r   r~   )r`   r   r~   s      rR   Ú__init__zSpan.__init__Í   s   € ØˆŒ
Øˆ�
rT   Úotherc                 óž   — | |u ryt        |t        «      st        S | j                  |j                  u xr | j                  |j                  k(  S )NT©Ú
isinstancer}   ÚNotImplementedr   r~   ©r`   rƒ   s     rR   Ú__eq__zSpan.__eq__Ñ   sA   € Ø�5‰=ØÜ˜%¤Ô&Ü!Ð!Ø—
‘
˜eŸk™kÐ)ÒJ°·
±
¸e¿k¹kÑ0IÐJrT   c                 óž   — | |u ryt        |t        «      st        S | j                  |j                  uxs | j                  |j                  k7  S )NFr…   rˆ   s     rR   Ú__ne__zSpan.__ne__Ø   sA   € Ø�5‰=ØÜ˜%¤Ô&Ü!Ð!Ø—
‘
 %§+¡+Ð-ÒM°4·:±:ÀÇÁÑ3LÐMrT   c                 ó"   — d| j                   › d�S )Nzspans[ú])r~   r_   s    rR   ra   zSpan.__repr__ß   s   € Ø˜Ÿ
™
�| 1Ð%Ð%rT   c                 óv   — | j                   j                  | j                   j                  | j                        S )z£A label is an opaque value that associates each span with its
        approximate origin, such as a particular strategy class or a particular
        kind of draw.)r   ÚlabelsÚlabel_indicesr~   r_   s    rR   ro   z
Span.labelâ   s,   € ð
 �z‰z× Ñ  §¡×!9Ñ!9¸$¿*¹*Ñ!EÑFÐFrT   c                 óh   — | j                   dk(  ry| j                  j                  | j                      S )z>The index of the span that this one is nested directly within.r   N)r~   r   Ú	parentager_   s    rR   ÚparentzSpan.parenté   s+   € ð �:‰:˜Š?ØØ�z‰z×#Ñ# D§J¡JÑ/Ð/rT   c                 óH   — | j                   j                  | j                     S rt   )r   Ústartsr~   r_   s    rR   Ústartz
Span.startð   s   € à�z‰z× Ñ  §¡Ñ,Ð,rT   c                 óH   — | j                   j                  | j                     S rt   )r   Úendsr~   r_   s    rR   ÚendzSpan.endô   s   € à�z‰z�‰˜tŸz™zÑ*Ð*rT   c                 óH   — | j                   j                  | j                     S )z[
        Depth of this span in the span tree. The top-level span has a depth of 0.
        )r   Údepthsr~   r_   s    rR   Údepthz
Span.depthø   s   € ð
 �z‰z× Ñ  §¡Ñ,Ð,rT   c                 óF   — | j                   | j                  j                  v S )a[  True if this is span's ``stop_span`` call had ``discard`` set to
        ``True``. This means we believe that the shrinker should be able to delete
        this span completely, without affecting the value produced by its enclosing
        strategy. Typically set when a rejection sampler decides to reject a
        generated value and try again.)r~   r   Ú	discardedr_   s    rR   rž   zSpan.discardedÿ   s   € ð �z‰z˜TŸZ™Z×1Ñ1Ð1Ð1rT   c                 ó4   — | j                   | j                  z
  S )z#The number of choices in this span.)r™   r–   r_   s    rR   Úchoice_countzSpan.choice_count  s   € ð �x‰x˜$Ÿ*™*Ñ$Ð$rT   c                 óˆ   — | j                   j                  | j                     D �cg c]  }| j                   |   ‘Œ c}S c c}w )zOThe list of all spans with this as a parent, in increasing index
        order.)r   Úchildrenr~   ©r`   Úis     rR   r¢   zSpan.children  s3   € ð (,§z¡z×':Ñ':¸4¿:¹:Ñ'FÖG !�—
‘
˜1“ÒGÐGùÒGs   ¦?c                 óÄ   — | j                   j                  j                  | j                  t        «      }t        |t        j                  «      r |«       }|€t        S |S |S )zÍThe value produced by the strategy draw corresponding to this span,
        or the ``no_recorded_value`` sentinel if no value was recorded, or if
        a weakly-referenced value has since been collected.)r   Úspan_valuesÚgetr~   r{   r†   ÚweakrefÚReferenceType)r`   ÚvalueÚreferents      rR   Úrecorded_valuezSpan.recorded_value  sR   € ð
 —
‘
×&Ñ&×*Ñ*¨4¯:©:Ô7HÓIˆÜ�eœW×2Ñ2Ô3Ù“wˆHØ(0Ð(8Ô$ÐF¸hÐFØˆrT   )rI   z
list[Span])rb   rc   rd   Ú__doc__Ú	__slots__rp   r‚   ÚobjectÚboolr‰   r‹   ri   ra   Úpropertyro   r“   r–   r™   rœ   rž   r    r¢   r   r¬   rj   rT   rR   r}   r}   ¯   sU  „ ñð6 #€Ið˜gð ¨cð °dó ðK˜Fð K tó KðN˜Fð N tó Nð&˜#ó &ð ðG�sò Gó ðGð ð0˜˜d™
ò 0ó ð0ð ð-�sò -ó ð-ð ð+�Sò +ó ð+ð ð-�sò -ó ð-ð ð2˜4ò 2ó ð2ð ð%˜cò %ó ð%ð òHó ðHð
 ð ò ó ñrT   r}   c                   óx   — e Zd ZdZdd„Zdefd„Zdeddfd„Zde	ddfd	„Z
d
ededdfd„Zd
ede	ddfd„Zdefd„Zy)ÚSpanPropertya  There are many properties of spans that we calculate by
    essentially rerunning the test case multiple times based on the
    calls which we record in SpanProperty.

    This class defines a visitor, subclasses of which can be used
    to calculate these properties.
    c                 ó<   — g | _         || _        d| _        d| _        y ©Nr   )Ú
span_stackÚspansÚ
span_countr    )r`   r·   s     rR   r‚   zSpanProperty.__init__(  s   € Ø%'ˆŒØˆŒ
ØˆŒØˆÕrT   rI   c                 óŒ  — | j                   j                  D ]œ  }|t        j                  k(  r| j	                  d¬«       Œ)|t        j
                  k(  r| j	                  d¬«       ŒO|t        j                  k(  r| xj                  dz  c_        Œx| j                  |t        j                  z
  dz
  «       Œž | j                  «       S )zZRerun the test case with this visitor and return the
        results of ``self.finish()``.T©rž   FrL   )
r·   ÚtrailÚ	TrailTypeÚSTOP_SPAN_DISCARDÚ_SpanProperty__popÚSTOP_SPAN_NO_DISCARDÚCHOICEr    Ú_SpanProperty__pushÚfinish©r`   Úrecords     rR   ÚrunzSpanProperty.run.  s    € ð —j‘j×&Ñ&ò 		;ˆFØœ×4Ñ4Ò4Ø—
‘
 T�
Õ*Øœ9×9Ñ9Ò9Ø—
‘
 U�
Õ+Øœ9×+Ñ+Ò+Ø×!Ò! QÑ&Ö!ð —‘˜F¤Y×%5Ñ%5Ñ5¸Ñ9Õ:ð		;ð �{‰{‹}ÐrT   Úlabel_indexNc                 óÖ   — | j                   }|t        | j                  «      k  sJ ‚| j                  ||¬«       | xj                   dz  c_         | j                  j                  |«       y )N)rÆ   rL   )r¸   Úlenr·   Ú
start_spanr¶   Úappend)r`   rÆ   r¤   s      rR   Ú__pushzSpanProperty.__push>  sQ   € Ø�O‰OˆØ”3�t—z‘z“?Ò"Ð"Ð"Ø�‰˜ {ˆÔ3Ø�Š˜1Ñ�Ø�‰×Ñ˜qÕ!rT   rž   c                ó^   — | j                   j                  «       }| j                  ||¬«       y )Nrº   )r¶   ÚpopÚ	stop_span)r`   rž   r¤   s      rR   Ú__popzSpanProperty.__popE  s$   € Ø�O‰O×ÑÓ!ˆØ�‰�q IˆÕ.rT   r¤   c                  ó   — y)z—Called at the start of each span, with ``i`` the
        index of the span and ``label_index`` the index of
        its label in ``self.spans.labels``.Nrj   ©r`   r¤   rÆ   s      rR   rÉ   zSpanProperty.start_spanI  ó   � rT   c                 ó   — y)z¤Called at the end of each span, with ``i`` the
        index of the span and ``discarded`` being ``True`` if ``stop_span``
        was called with ``discard=True``.Nrj   ©r`   r¤   rž   s      rR   rÎ   zSpanProperty.stop_spanN  rÒ   rT   c                 ó   — t         ‚rt   )ÚNotImplementedErrorr_   s    rR   rÂ   zSpanProperty.finishS  s   € Ü!Ð!rT   )r·   r€   )rb   rc   rd   r­   r‚   r   rÅ   rp   rÁ   r°   r¾   rÉ   rÎ   rÂ   rj   rT   rR   r³   r³     s~   „ ñóð�Só ð " #ð "¨$ó "ð/ $ð /¨4ó /ð/˜Cð /¨cð /°dó /ð
-˜3ð -¨dð -°tó -ð
"˜ô "rT   r³   c                   ó   — e Zd ZdZdZdZy)r¼   rL   r\   r]   N)rb   rc   rd   r½   r¿   rÀ   rj   rT   rR   r¼   r¼   W  s   „ ØÐØÐØ�FrT   r¼   c                   ó\   — e Zd ZdZdd„Zdd„Zdd„Zdeddfd„Zd	e	ddfd
„Z
dededdfd„Zy)Ú
SpanRecorda°  Records the series of ``start_span``, ``stop_span``, and
    ``draw_bits`` calls so that these may be stored in ``Spans`` and
    replayed when we need to know about the structure of individual
    ``Span`` objects.

    Note that there is significant similarity between this class and
    ``DataObserver``, and the plan is to eventually unify them, but
    they currently have slightly different functions and implementations.
    rI   Nc                 óh   — g | _         i | _        t        «       | _        g | _        d| _        i | _        y rµ   )r�   Ú_SpanRecord__index_of_labelsr0   r»   Únodesr¸   r¦   r_   s    rR   r‚   zSpanRecord.__init__k  s2   € Ø!#ˆŒØ8:ˆÔÜ“YˆŒ
Ø')ˆŒ
ð ˆŒØ+-ˆÕrT   c                 ó   — d | _         y rt   )rÛ   r_   s    rR   ÚfreezezSpanRecord.freezeu  s
   € Ø!%ˆÕrT   c                 óV   — | j                   j                  t        j                  «       y rt   )r»   rÊ   r¼   rÀ   r_   s    rR   Úrecord_choicezSpanRecord.record_choicex  s   € Ø�
‰
×Ñœ)×*Ñ*Õ+rT   ro   c                 óz  — | j                   €J ‚	 | j                   |   }| j                  j                  t        j                  dz   |z   «       | xj                  dz  c_	        y # t        $ rM | j                   j                  |t        | j                  «      «      }| j                  j                  |«       Y Œšw xY w©NrL   )
rÛ   ru   rv   rÈ   r�   rÊ   r»   r¼   rÀ   r¸   )r`   ro   r¤   s      rR   rÉ   zSpanRecord.start_span{  sŸ   € Ø×%Ñ%Ð1Ð1Ð1ð	&Ø×&Ñ& uÑ-ˆAð 	�
‰
×Ñœ)×*Ñ*¨QÑ.°Ñ2Ô3Ø�Š˜1ÑŽøô	 ò 	&Ø×&Ñ&×1Ñ1°%¼¸T¿[¹[Ó9IÓJˆAØ�K‰K×Ñ˜uÖ%ð	&ús   �A$ Á$AB:Â9B:Údiscardc                ó®   — |r*| j                   j                  t        j                  «       y | j                   j                  t        j                  «       y rt   )r»   rÊ   r¼   r½   r¿   )r`   rã   s     rR   rÎ   zSpanRecord.stop_span…  s5   € ÙØ�J‰J×Ñœi×9Ñ9Õ:à�J‰J×Ñœi×<Ñ<Õ=rT   Ú
span_indexrª   c                 óª   — t        |«      t        v r|| j                  |<   y 	 t        j                  |«      | j                  |<   y # t
        $ r Y y w xY wrt   )Útyperz   r¦   r¨   ÚrefÚ	TypeError)r`   rå   rª   s      rR   Úrecord_value_for_spanz SpanRecord.record_value_for_span‹  sQ   € ô
 �‹;Ô1Ñ1Ø+0ˆD×Ñ˜ZÒ(ðÜ/6¯{©{¸5Ó/A�× Ñ  Ò,øÜò Ùðús   £"A Á	AÁA©rI   N)rb   rc   rd   r­   r‚   rÞ   rà   rp   rÉ   r°   rÎ   r   rê   rj   rT   rR   rÙ   rÙ   `  sV   „ ñó.ó&ó,ð ð ¨ó ð> Dð >¨Tó >ð°ð ¸Cð ÀDô rT   rÙ   c                   ó^   ‡ — e Zd Zd
ˆ fd„Zdededdfd„Zdededdfd„Zdee	e	f   fd	„Z
ˆ xZS )Ú_starts_and_endsrI   Nc                 óØ   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        t        j                  t	        | j
                  «      «      | _        y rt   )Úsuperr‚   r0   Ú	of_lengthrÈ   r·   r•   r˜   ©r`   r·   Ú	__class__s     €rR   r‚   z_starts_and_ends.__init__š  sD   ø€ Ü‰Ñ˜ÔÜ×'Ñ'¬¨D¯J©J«Ó8ˆŒÜ×%Ñ%¤c¨$¯*©*£oÓ6ˆ�	rT   r¤   rÆ   c                 ó6   — | j                   | j                  |<   y rt   )r    r•   rÑ   s      rR   rÉ   z_starts_and_ends.start_spanŸ  s   € Ø×*Ñ*ˆ�‰�AŠrT   rž   c                ó6   — | j                   | j                  |<   y rt   )r    r˜   rÔ   s      rR   rÎ   z_starts_and_ends.stop_span¢  s   € Ø×(Ñ(ˆ�	‰	�!ŠrT   c                 ó2   — | j                   | j                  fS rt   )r•   r˜   r_   s    rR   rÂ   z_starts_and_ends.finish¥  s   € Ø—‘˜TŸY™YÐ'Ð'rT   ©r·   r€   rI   N)rb   rc   rd   r‚   rp   rÉ   r°   rÎ   Útupler0   rÂ   Ú__classcell__©rò   s   @rR   rí   rí   ™  sR   ø„ õ7ð
+˜Cð +¨cð +°dó +ð)˜3ð )¨dð )°tó )ð(˜˜g wÐ.Ñ/÷ (rT   rí   c                   óF   ‡ — e Zd Zdˆ fd„Zdee   fd„Zdededdfd„Zˆ xZ	S )	Ú
_discardedrI   Nc                 óB   •— t         ‰| �  |«       t        «       | _        y rt   )rï   r‚   ÚsetÚresultrñ   s     €rR   r‚   z_discarded.__init__ª  s   ø€ Ü‰Ñ˜ÔÜ #£ˆ�rT   c                 ó,   — t        | j                  «      S rt   )Ú	frozensetrþ   r_   s    rR   rÂ   z_discarded.finish®  s   € Ü˜Ÿ™Ó%Ð%rT   r¤   rž   c                ó@   — |r| j                   j                  |«       y y rt   )rþ   ÚaddrÔ   s      rR   rÎ   z_discarded.stop_span±  s   € ÙØ�K‰K�O‰O˜AÕð rT   rö   )
rb   rc   rd   r‚   r   rp   rÂ   r°   rÎ   rø   rù   s   @rR   rû   rû   ©  s2   ø„ õ&ð&˜	 #™ó &ð˜3ð ¨dð °t÷ rT   rû   c                   ó@   ‡ — e Zd Zdˆ fd„Zdededdfd„Zdefd„Zˆ xZ	S )	Ú
_parentagerI   Nc                 ó~   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        y rt   ©rï   r‚   r0   rð   rÈ   r·   rþ   rñ   s     €rR   r‚   z_parentage.__init__·  ó*   ø€ Ü‰Ñ˜ÔÜ×'Ñ'¬¨D¯J©J«Ó8ˆ�rT   r¤   rž   c                óH   — |dkD  r| j                   d   | j                  |<   y y )Nr   éÿÿÿÿ)r¶   rþ   rÔ   s      rR   rÎ   z_parentage.stop_span»  s$   € ØˆqŠ5Ø!Ÿ_™_¨RÑ0ˆD�K‰K˜ŠNð rT   c                 ó   — | j                   S rt   ©rþ   r_   s    rR   rÂ   z_parentage.finish¿  ó   € Ø�{‰{ÐrT   rö   )
rb   rc   rd   r‚   rp   r°   rÎ   r0   rÂ   rø   rù   s   @rR   r  r  ¶  s.   ø„ õ9ð1˜3ð 1¨dð 1°tó 1ð˜÷ rT   r  c                   ó@   ‡ — e Zd Zdˆ fd„Zdededdfd„Zdefd„Zˆ xZS )	Ú_depthsrI   Nc                 ó~   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        y rt   r  rñ   s     €rR   r‚   z_depths.__init__Ä  r  rT   r¤   rÆ   c                 óH   — t        | j                  «      | j                  |<   y rt   )rÈ   r¶   rþ   rÑ   s      rR   rÉ   z_depths.start_spanÈ  s   € Ü˜TŸ_™_Ó-ˆ�‰�AŠrT   c                 ó   — | j                   S rt   r  r_   s    rR   rÂ   z_depths.finishË  r  rT   rö   ©	rb   rc   rd   r‚   rp   rÉ   r0   rÂ   rø   rù   s   @rR   r  r  Ã  s.   ø„ õ9ð.˜Cð .¨cð .°dó .ð˜÷ rT   r  c                   ó@   ‡ — e Zd Zdˆ fd„Zdededdfd„Zdefd„Zˆ xZS )	Ú_label_indicesrI   Nc                 ó~   •— t         ‰| �  |«       t        j                  t	        | j
                  «      «      | _        y rt   r  rñ   s     €rR   r‚   z_label_indices.__init__Ð  r  rT   r¤   rÆ   c                 ó"   — || j                   |<   y rt   r  rÑ   s      rR   rÉ   z_label_indices.start_spanÔ  s   € Ø$ˆ�‰�AŠrT   c                 ó   — | j                   S rt   r  r_   s    rR   rÂ   z_label_indices.finish×  r  rT   rö   r  rù   s   @rR   r  r  Ï  s.   ø„ õ9ð%˜Cð %¨cð %°dó %ð˜÷ rT   r  c                   ój   ‡ — e Zd Zd
ˆ fd„Zdededdfd„Zdededdfd„Zdee	e
eef         fd	„Zˆ xZS )Ú_mutator_groupsrI   Nc                 óZ   •— t         ‰| �  |«       t        t        «      | _        g | _        y rt   )rï   r‚   r   rý   ÚgroupsÚ_unique_stackrñ   s     €rR   r‚   z_mutator_groups.__init__Ü  s$   ø€ Ü‰Ñ˜ÔÜ7BÄ3Ó7GˆŒØ(*ˆÕrT   r¤   rÆ   c                 ó4  — | j                   sP| j                  |   j                  | j                  |   j                  f}| j                  |   j                  |«       | j                  j                  |   t        k(  r| j                   j                  |«       y y rt   )	r  r·   r–   r™   r  r  r�   ÚUNIQUE_COLLECTION_LABELrÊ   )r`   r¤   rÆ   Úkeys       rR   rÉ   z_mutator_groups.start_spaná  s|   € ð ×!Ò!Ø—:‘:˜a‘=×&Ñ&¨¯
©
°1©×(9Ñ(9Ð:ˆCØ�K‰K˜Ñ$×(Ñ(¨Ô-Ø�:‰:×Ñ˜[Ñ)Ô-DÒDØ×Ñ×%Ñ% aÕ(ð ErT   rž   c                óx   — | j                   r.| j                   d   |k(  r| j                   j                  «        y y y )Nr	  )r  rÍ   rÔ   s      rR   rÎ   z_mutator_groups.stop_spanð  s7   € Ø×Ò $×"4Ñ"4°RÑ"8¸AÒ"=Ø×Ñ×"Ñ"Õ$ð #>ÐrT   c                 óz   — | j                   j                  «       D �cg c]  }t        |«      dk\  sŒ|‘Œ c}S c c}w )Nr\   )r  ÚvaluesrÈ   )r`   Úgs     rR   rÂ   z_mutator_groups.finishô  s/   € ð  Ÿ;™;×-Ñ-Ó/Ö?�a´3°q³6¸Q³;’Ò?Ð?ùÒ?s   �8±8rö   )rb   rc   rd   r‚   rp   rÉ   r°   rÎ   r   rý   r÷   rÂ   rø   rù   s   @rR   r  r  Û  s\   ø„ õ+ð
)˜Cð )¨cð )°dó )ð%˜3ð %¨dð %°tó %ð@˜  U¨3°¨8¡_Ñ!5Ñ6÷ @rT   r  c                   óF  — e Zd ZdZdeddfd„Zedeeef   fd„«       Z	e
defd„«       Ze
defd„«       Zede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eeef         fd„«       Ze
deee      fd„«       Zdefd„Zdedefd„Zdee   fd„Zy)r€   a‚  A lazy collection of ``Span`` objects, derived from
    the record of recorded behaviour in ``SpanRecord``.

    Behaves logically as if it were a list of ``Span`` objects,
    but actually mostly exists as a compact store of information
    for them to reference into. All properties on here are best
    understood as the backing storage for ``Span`` and are
    described there.
    rÄ   rI   Nc                 ó(  — |j                   | _         |j                  | _        |j                  | _        | j                   j                  t        j
                  «      |j                   j                  t        j                  «      z   | _        d | _        y rt   )	r»   r�   r¦   Úcountr¼   r½   r¿   Ú_Spans__lengthÚ_Spans__childrenrÃ   s     rR   r‚   zSpans.__init__  sk   € Ø—\‘\ˆŒ
Ø—m‘mˆŒØ!×-Ñ-ˆÔØŸ
™
×(Ñ(Ü×'Ñ'ó
à�L‰L×Ñœy×=Ñ=Ó>ñ?ˆŒð 7;ˆ�rT   c                 ó4   — t        | «      j                  «       S rt   )rí   rÅ   r_   s    rR   Ústarts_and_endszSpans.starts_and_ends  s   € ä Ó%×)Ñ)Ó+Ð+rT   c                 ó    — | j                   d   S rµ   ©r*  r_   s    rR   r•   zSpans.starts  ó   € à×#Ñ# AÑ&Ð&rT   c                 ó    — | j                   d   S râ   r,  r_   s    rR   r˜   z
Spans.ends  r-  rT   c                 ó4   — t        | «      j                  «       S rt   )rû   rÅ   r_   s    rR   rž   zSpans.discarded  ó   € ä˜$Ó×#Ñ#Ó%Ð%rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   r’   zSpans.parentage  r0  rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   r›   zSpans.depths"  s   € ä�t‹}× Ñ Ó"Ð"rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   r�   zSpans.label_indices&  s   € ä˜dÓ#×'Ñ'Ó)Ð)rT   c                 ó4   — t        | «      j                  «       S rt   )r  rÅ   r_   s    rR   Úmutator_groupszSpans.mutator_groups*  s   € ä˜tÓ$×(Ñ(Ó*Ð*rT   c                 ó@  — | j                   €‚t        t        | «      «      D �cg c]  }t        «       ‘Œ }}t	        | j
                  «      D ]  \  }}|dkD  sŒ||   j                  |«       Œ! t	        |«      D ]  \  }}|rŒ	d||<   Œ || _         | j                   S c c}w )Nr   rj   )r(  ÚrangerÈ   r0   Ú	enumerater’   rÊ   )r`   Ú_r¢   r¤   ÚpÚcs         rR   r¢   zSpans.children.  s�   € à�?‰?Ð"Ü+0´°T³Ó+;Ö< aœ�	Ð<ˆHÐ<Ü! $§.¡.Ó1ò *‘��1Ø�q“5Ø˜Q‘K×&Ñ& qÕ)ð*ô
 " (Ó+ò %‘��1ÚØ"$�H˜Q’Kð%ð 'ˆDŒOØ�‰Ðùò =s   £Bc                 ó   — | j                   S rt   )r'  r_   s    rR   Ú__len__zSpans.__len__=  s   € Ø�}‰}ÐrT   r¤   c           	      ó†   — | j                   }|| k  s||k\  rt        d|› d|› d|› d�«      ‚|dk  r||z  }t        | |«      S )NzIndex z out of range [-ú, ú)r   )r'  Ú
IndexErrorr}   )r`   r¤   Úns      rR   Ú__getitem__zSpans.__getitem__@  sW   € Ø�M‰MˆØ�ˆrŠ6�Q˜!’VÜ˜v a SÐ(8¸¸¸2¸a¸SÀÐBÓCÐCØˆqŠ5Ø�‰FˆAÜ�D˜!‹}ÐrT   c              #   óL   K  — t        t        | «      «      D ]	  }| |   –— Œ y ­wrt   )r7  rÈ   r£   s     rR   Ú__iter__zSpans.__iter__J  s'   è ø€ Ü”s˜4“yÓ!ò 	ˆAØ�q‘'‹Mñ	ùs   ‚"$)rb   rc   rd   r­   rÙ   r‚   r   r÷   r0   r*  r±   r•   r˜   r   rp   rž   r’   r›   r�   Úlistrý   r5  r	   r¢   r=  r}   rC  r   rE  rj   rT   rR   r€   r€   ú  se  „ ñð;˜zð ;¨dó ;ð ð,  w°Ð'7Ñ!8ò ,ó ð,ð ð'˜ò 'ó ð'ð ð'�gò 'ó ð'ð ð&˜9 S™>ò &ó ð&ð ð&˜7ò &ó ð&ð ð#˜ò #ó ð#ð ð*˜wò *ó ð*ð ð+  S¨¨s°C¨x©Ñ%9Ñ :ò +ó ð+ð ð˜$˜x¨™}Ñ-ò ó ðð˜ó ð˜Sð  Tó ð˜( 4™.ô rT   r€   c                   ó<   — e Zd ZU ej                  Zeed<   defd„Zy)Ú_OverrunÚstatusrI   c                  ó   — y)NÚOverrunrj   r_   s    rR   ra   z_Overrun.__repr__R  s   € ØrT   N)	rb   rc   rd   r[   re   rI  rq   ri   ra   rj   rT   rR   rH  rH  O  s   … Ø—^‘^€FˆFÓ#ð˜#ô rT   rH  c                   óª   — e Zd ZdZdededz  ddfd„Zdd„Zded	e	d
e
ddfd„Zded	ed
e
ddfd„Zded	ed
e
ddfd„Zded	ed
e
ddfd„Zde
d	ed
e
ddfd„Zy)ÚDataObserverz‹Observer class for recording the behaviour of a
    ConjectureData object, primarily used for tracking
    the behaviour in the tree cache.rI  Úinteresting_originNrI   c                  ó   — y)z·Called when ``conclude_test`` is called on the
        observed ``ConjectureData``, with the same arguments.

        Note that this is called after ``freeze`` has completed.
        Nrj   ©r`   rI  rN  s      rR   Úconclude_testzDataObserver.conclude_test^  rÒ   rT   c                  ó   — y)z5Mark this part of the tree as not worth re-exploring.Nrj   r_   s    rR   Úkill_branchzDataObserver.kill_branchi  rÒ   rT   rª   ÚconstraintsÚ
was_forcedc                 ó   — y rt   rj   ©r`   rª   rT  rU  s       rR   Údraw_integerzDataObserver.draw_integerl  ó   € ð 	rT   c                 ó   — y rt   rj   rW  s       rR   Ú
draw_floatzDataObserver.draw_floatq  rY  rT   c                 ó   — y rt   rj   rW  s       rR   Údraw_stringzDataObserver.draw_stringv  rY  rT   c                 ó   — y rt   rj   rW  s       rR   Ú
draw_byteszDataObserver.draw_bytes{  rY  rT   c                 ó   — y rt   rj   rW  s       rR   Údraw_booleanzDataObserver.draw_boolean€  rY  rT   rë   )rb   rc   rd   r­   r[   r6   rQ  rS  rp   r)   r°   rX  Úfloatr(   r[  ri   r*   r]  Úbytesr"   r_  r!   ra  rj   rT   rR   rM  rM  Y  sì   „ ñ(ð	àð	ð .°Ñ4ð	ð 
ó		óDðØðØ*<ðØJNðà	óð
ØðØ,<ðØJNðà	óð
ØðØ*;ðØIMðà	óð
ØðØ,<ðØJNðà	óð
ØðØ+=ðØKOðà	ôrT   rM  c                   óŠ  — e Zd ZU dZeed<   edz  ed<    edd¬«      Ze	e
df   ed<   eed	<   ee   ed
<   edz  ed<   edz  ed<   eed<   eed<   ee   ed<    edd¬«      Zeed<    ed¬«      Zee   ed<    ed¬«      Zeedz  ef   ed<    ed¬«      Zedz  ed<    ed¬«      Zedz  ed<   dd„Zede	edf   fd„«       Z y)ÚConjectureResultz�Result class storing the parts of ConjectureData that we
    will care about after the original ConjectureData has outlived its
    usefulness.rI  NrN  F)ÚreprÚcompare.rÜ   ÚlengthÚnotesÚexpected_exceptionÚexpected_tracebackÚhas_discardsÚtarget_observationsÚtagsr·   )rf  Ú	arg_spansÚspan_commentsÚmisaligned_atÚcannot_proceed_scoperI   c                 ó   — | S rt   rj   r_   s    rR   Ú	as_resultzConjectureResult.as_resultž  s   € ØˆrT   c                 ó:   — t        d„ | j                  D «       «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrt   ©rª   ©Ú.0Únodes     rR   ú	<genexpr>z+ConjectureResult.choices.<locals>.<genexpr>£  s   è ø€ Ò7 D�T—Z•ZÑ7ùó   ‚)r÷   rÜ   r_   s    rR   ÚchoiceszConjectureResult.choices¡  s   € äÑ7¨D¯J©JÔ7Ó7Ð7rT   )rI   re  )!rb   rc   rd   r­   r[   rq   r6   r   rÜ   r÷   r$   rp   rF  ri   ÚBaseExceptionr°   ÚTargetObservationsr   rn   r·   r€   ro  rý   rp  Údictrq  rV   rr  r   rt  r±   r%   r}  rj   rT   rR   re  re  †  s  … ñð ƒNØ)¨DÑ0Ó0Ù$)¨u¸eÔ$D€Eˆ5�˜S�Ñ!ÓDØƒKØ�‰9ÓØ%¨Ñ,Ó,Ø˜d™
Ó"ØÓØ+Ó+Ø
Ð)Ñ
*Ó*Ù˜e¨UÔ3€Eˆ5Ó3Ù UÔ+€Iˆs�3‰xÓ+ñ ,1°eÔ+<€M�4˜˜d™
 C˜Ñ(Ó<Ù).°EÔ):€M�< $Ñ&Ó:Ù7<À%Ô7HÐÐ-°Ñ4ÓHóð ð8˜˜w¨˜|Ñ,ò 8ó ñ8rT   re  c                   ó
  — e Zd Zededdœdeeez  ez     de	dz  de
ee
   z  dedz  dd f
d„«       Zdedddd	œdedz  de	dz  de
ee
   z  d
eeez  ez     dz  dedz  deeef   dz  ddfd„Zdefd„Zedeedf   fd„«       Zedeedf   fd„«       Zeded   dedededz  def
d„«       Zeded   dedededz  def
d„«       Zeded   de dededz  def
d„«       Zeded   de!dede"dz  de"f
d„«       Zeded   de#dededz  def
d„«       Zde$de%dededz  def
d „Z	 	 d^dd!dd"d#œd$edz  d%edz  d&eeef   dz  d'ededz  dedefd(„Z&e'jP                   e'jP                  fd"e)dd"d)œd$ed%ed*ed+ededz  dedefd,„Z*d!e+dd"d-œd.e,d/ed0ededz  dedefd1„Z-d!e+fdd"d2œd/ed0ede"dz  dede"f
d3„Z.	 d_dd"d2œd4ededz  dedefd5„Z/eded   dedefd6„«       Z0eded   dedefd7„«       Z0eded   de de fd8„«       Z0eded   de!de!fd9„«       Z0eded   de#de#fd:„«       Z0de$de%de%fd;„Z0de$de%dedz  defd<„Z1de2e3z  fd=„Z4d>eddfd?„Z5d@eddfdA„Z6	 	 d^dBdCdDedz  dEedz  ddFfdG„Z7edefdH„«       Z8e9de:e   fdI„«       Z;e9dDede:e<   fdJ„«       Z=dDeddfdK„Z>dLdMœdNeddfdO„Z?ede@fdP„«       ZAd`dQ„ZBdd"d2œdReeC   deCdz  dedeCfdS„ZD	 dadTeEdUeFdz  deGfdV„ZHdUeFdeGfdW„ZI	 daddXœdYedz  dZedz  deGfd[„ZJdeGfd\„ZKdedz  fd]„ZLy)bÚConjectureDataN)ÚobserverÚproviderÚrandomr}  rƒ  r„  r…  rI   c                ó4   — ddl m}  |  ||«      ||||¬«      S )Nr   )r    )Úmax_choicesr…  Úprefixrƒ  r„  )Ú%hypothesis.internal.conjecture.enginer    )Úclsr}  rƒ  r„  r…  r    s         rR   Úfor_choiceszConjectureData.for_choices§  s)   € õ 	GáÙ$ WÓ-ØØØØô
ð 	
rT   )rƒ  r„  rˆ  r‡  Úprovider_kwrˆ  r‡  rŒ  c                óô  — ddl m} |€
t        «       }|€i }n"t        |t        «      st        d|›d|›d�«      ‚t        |t        «      sJ ‚|| _        || _        || _        d| _	        || _
        d| _        d| _        g | _        t        j                  | _        d| _        t$        j&                  | _        t$        xj&                  dz  c_        t+        j,                  «       | _        t1        «       | _        i | _        d | _        i | _        t;        t<        «      | _        d| _         d| _!        d| _"        d| _#        t        |t        «      r	 || fi |¤Žn|| _$        t        | jH                  tJ        «      sJ ‚d | _&        i | _'        tQ        «       | _)        g | _*        d | _+        d| _,        t[        «       | _.        tQ        «       | _/        i | _0        i | _1        t;        td        «      | _3        d | _4        d | _5        d | _6        i | _7        d | _8        d | _9        d | _:        d | _;        tx        | _=        d | _>        d | _?        || _@        d| _A        g | _B        d	| _C        d | _D        d | _E        | j�                  tŽ        «       y )
Nr   )ÚBUFFER_SIZEzExpected provider=z! to be a class since provider_kw=z) was passed, but got an instance instead.FrL   r	  rj   )Hr‰  rŽ  rM  r†   rç   r   rƒ  r‡  Ú
max_lengthÚoverdrawÚ_randomrh  r~   ri  r[   rg   rI  rl   ÚthreadlocalrY   ÚtestcounterÚtimeÚperf_counterÚ
start_timer1   Úgc_start_timeÚeventsrN  Ú
draw_timesr   rb  Ú_stateful_run_timesÚ	max_depthrl  Úunique_element_depthÚsimplest_indexr„  r4   Ú_ConjectureData__resultrm  rý   rn  Úlabels_for_structure_stackÚ_ConjectureData__spansrœ   rÙ   Ú_ConjectureData__span_recordro  rp  Ú_observability_argsr<   Ú_observability_predicatesÚinvalid_locationÚ_last_rejected_filterÚ-_sampled_from_all_strategies_elements_messageÚ_shared_strategy_drawsÚ_shared_data_strategyÚ_stateful_repr_partsÚstates_for_idsÚseeds_to_statesr@   Úhypothesis_runnerrj  rk  rˆ  Ú
_invertingÚ_nodesÚ_nodes_tuplerq  rr  rÉ   Ú	TOP_LABEL)r`   r…  rƒ  r„  rˆ  r‡  rŒ  rŽ  s           rR   r‚   zConjectureData.__init__º  sr  € õ 	FàÐÜ#“~ˆHØÐØ‰KÜ˜H¤dÔ+Ü!Ø%˜H˜;Ð&H¸K¸>ð J7ð 7óð ô
 ˜(¤LÔ1Ð1Ð1Ø ˆŒØ&ˆÔØ%ˆŒØˆŒØˆŒàˆŒØˆŒ
Ø "ˆŒ
Ü$Ÿl™lˆŒØ!ˆŒÜ +× ?Ñ ?ˆÔÜ×'Ò'¨1Ñ,Õ'Ü×+Ñ+Ó-ˆŒÜ/Ó1ˆÔØ46ˆŒØ<@ˆÔØ,.ˆŒÜ5@ÄÓ5GˆÔ ØˆŒØ"'ˆÔð *+ˆÔ!Ø#$ˆÔô .8¸Ä$Ô-G‰H�TÑ)˜[Ò)ÈXð 	Œô ˜$Ÿ-™-Ô):Ô;Ð;Ð;à15ˆŒð 8:ˆÔ ô 14³ˆŒ	Ø:<ˆÔ'ð
 &*ˆŒð ˆŒ
Ü'›\ˆÔô $'£5ˆŒØ46ˆÔØ35ˆÔ ÜLWÜóM
ˆÔ&ð -1ˆÔð ð 	Ô"ð ð 	Ô:ð SUˆÔ#Ø8<ˆÔ"Ø6:ˆÔ!Ø=AˆÔØ>BˆÔÜ&-ˆÔà8<ˆÔØ.2ˆÔàˆŒØˆŒð )+ˆŒØ46ˆÔØ26ˆÔØ@DˆÔ!Ø�‰œ	Õ"rT   c                 óŠ   — d| j                   j                  › dt        | j                  «      › d| j                  rd› d�S d› d�S )NzConjectureData(r?  z choicesz, frozenÚ r@  )rI  rH   rÈ   rÜ   rl   r_   s    rR   ra   zConjectureData.__repr__*  sS   € à˜dŸk™k×.Ñ.Ð/¨r´#°d·j±j³/Ð1Bð CØ$(§K¢K�jÐ8¸ð;ð	
à57Ð8¸ð;ð	
rT   .c                 ó¤   — t        | j                  «      t        | j                  «      k7  rt        | j                  «      | _        | j                  S rt   )rÈ   r¯  r®  r÷   r_   s    rR   rÜ   zConjectureData.nodes0  s;   € äˆt× Ñ Ó!¤S¨¯©Ó%5Ò5Ü % d§k¡kÓ 2ˆDÔØ× Ñ Ð rT   c                 ó:   — t        d„ | j                  D «       «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrt   rw  rx  s     rR   r{  z)ConjectureData.choices.<locals>.<genexpr>8  s   è ø€ Ò8 D�T—Z•ZÑ8ùr|  )r÷   r®  r_   s    rR   r}  zConjectureData.choices6  s   € äÑ8¨D¯K©KÔ8Ó8Ð8rT   Úchoice_typeÚintegerrT  ÚobserveÚforcedc                 ó   — y rt   rj   ©r`   r¶  rT  r¸  r¹  s        rR   Ú_drawzConjectureData._drawC  ó   € ð rT   rb  c                 ó   — y rt   rj   r»  s        rR   r¼  zConjectureData._drawM  ó   € ð rT   Ústringc                 ó   — y rt   rj   r»  s        rR   r¼  zConjectureData._drawW  r½  rT   rc  c                 ó   — y rt   rj   r»  s        rR   r¼  zConjectureData._drawa  r¿  rT   Úbooleanc                 ó   — y rt   rj   r»  s        rR   r¼  zConjectureData._drawk  s   € ð rT   c          	      ó¾  — | j                   rt        d«      ‚| j                  | j                  k(  r(t	        d| j                  ›�«       | j                  «        t        | j                  «      | j                  k(  r(t	        d| j                  ›�«       | j                  «        |rG| j                  �;| j                  t        | j                  «      k  r| j                  |||¬«      }|�'|}n$|€  t        | j                  d|› �«      di |¤Ž}n|}|dk(  r;t        |t        «      sJ ‚t!        j"                  |«      rt%        t'        |«      «      }|�r
|d u} t        | j(                  d|› �«      |||¬«       | j                  j*                  rdn
t-        |«      }| j                  |z   | j                  kD  r8t	        d	| j                  ›d
|›d| j                  ›�«       | j                  «        t/        ||||t        | j                  «      ¬«      }| j0                  j3                  «        | j                  j5                  |«       | xj                  |z  c_        |S )Nzcannot draw during _invertz$overrun because hit self.max_length=z%overrun because hit self.max_choices=)r¹  Údraw_rb  )rT  rU  r   zoverrun because self.length=z + size=z > self.max_length=)rç   rª   rT  rU  r~   rj   )r­  r   rh  r�  r>   Úmark_overrunrÈ   r®  r‡  rˆ  r~   Ú_pop_choiceÚgetattrr„  r†   rb  ÚmathÚisnanr9   r8   rƒ  Úavoid_realizationr/   r$   r¡  rà   rÊ   )	r`   r¶  rT  r¸  r¹  rª   rU  Úsizerz  s	            rR   r¼  zConjectureData._drawu  s  € ð �?Š?ô Ð;Ó<Ð<ð �;‰;˜$Ÿ/™/Ò)ÜÐ@°·±Ð/AÐBÔCØ×ÑÔÜˆt�{‰{Ó˜t×/Ñ/Ò/ÜÐA°×0@Ñ0@Ð/BÐCÔDØ×ÑÔá�t—{‘{Ð.°4·:±:ÄÀDÇKÁKÓ@PÒ3PØ×$Ñ$ [°+ÀfÐ$ÓMˆEØÐ!Ø‘Øˆ^ØA”G˜DŸM™M¨U°;°-Ð+@ÓAÑPÀKÑP‰EàˆEð, ˜'Ò!Ü˜e¤UÔ+Ð+Ð+Ü�z‰z˜%Ô Ü$¤\°%Ó%8Ó9�âØ tÐ+ˆJØ9ŒG�D—M‘M U¨;¨-Ð#8Ó9Ø ;¸:õð Ÿ™×7Ò7‘1¼[ÈÓ=OˆDØ�{‰{˜TÑ! D§O¡OÒ3ÜØ3 t§{¡{ n°I¸°wÐ>RÀ$Ç/Á/ÐASÐTôð ×!Ñ!Ô#äØ ØØ'Ø%Ü˜$Ÿ+™+Ó&ôˆDð ×Ñ×,Ñ,Ô.Ø�K‰K×Ñ˜tÔ$Ø�KŠK˜4Ñ�KàˆrT   r   T)ÚweightsÚshrink_towardsr¹  r¸  Ú	min_valueÚ	max_valuerÎ  rÏ  c                ó:  — |�X|€J ‚|€J ‚t        |«      dk  sJ ‚t        |j                  «       «      dk  sJ ‚t        d„ |j                  «       D «       «      sJ ‚|�	|�||k  sJ ‚|�	|�||k  sJ ‚| j	                  d||||dœ«      }| j                  d|||¬«      S )Néÿ   rL   c              3   ó&   K  — | ]	  }|d k7  –— Œ y­w)r   Nrj   )ry  Úws     rR   r{  z.ConjectureData.draw_integer.<locals>.<genexpr>Ü  s   è ø€ Ò8 !�q˜A•vÑ8ùs   ‚r·  )rÐ  rÑ  rÎ  rÏ  ©r¸  r¹  )rÈ   Úsumr"  ÚallÚ_pooled_constraintsr¼  )r`   rÐ  rÑ  rÎ  rÏ  r¹  r¸  rT  s           rR   rX  zConjectureData.draw_integerÇ  sÜ   € ð ÐØÐ(Ð(Ð(ØÐ(Ð(Ð(Ü�w“< 3Ò&Ð&Ð&ô �w—~‘~Ó'Ó(¨1Ò,Ð,Ð,ô Ñ8 w§~¡~Ó'7Ô8Ô8Ð8Ð8àÐ )Ð"7Ø Ò&Ð&Ð&ØÐ )Ð"7Ø˜YÒ&Ð&Ð&à*.×*BÑ*BØà&Ø&Ø"Ø"0ñ	ó+
ˆð �z‰z˜) [¸'È&ˆzÓQÐQrT   )Ú	allow_nanÚsmallest_nonzero_magnituder¹  r¸  rÚ  rÛ  c                óx  — |dkD  sJ ‚t        j                  |«      rJ ‚t        j                  |«      rJ ‚|dk(  rt        d«      ‚|�H|st        j                  |«      rJ ‚t        j                  |«      st        ||«      rt        ||«      sJ ‚| j	                  d||||dœ«      }| j                  d|||¬«      S )Nr   g        a_  Got allow_subnormal=True, but we can't represent subnormal floats right now, in violation of the IEEE-754 floating-point specification.  This is usually because something was compiled with -ffast-math or a similar option, which sets global processor state.  See https://simonbyrne.github.io/notes/fastmath/ for a more detailed writeup - and good luck!rb  )rÐ  rÑ  rÚ  rÛ  rÖ  )rÊ  rË  ÚFloatingPointErrorr:   rÙ  r¼  )r`   rÐ  rÑ  rÚ  rÛ  r¹  r¸  rT  s           rR   r[  zConjectureData.draw_floatî  sÔ   € ð *¨AÒ-Ð-Ð-Ü—:‘:˜iÔ(Ð(Ð(Ü—:‘:˜iÔ(Ð(Ð(à%¨Ò,Ü$ð+óð ð ÐÙ¤D§J¡J¨vÔ$6Ð6Ð6Ü—:‘:˜fÔ%Ü˜y¨&Ô1´nÀVÈYÔ6Wðð ð )-×(@Ñ(@Øà&Ø&Ø&Ø.Hñ	ó)
ˆð �z‰z˜' ;¸ÈˆzÓOÐOrT   )Úmin_sizeÚmax_sizer¹  r¸  Ú	intervalsrÞ  rß  c                óÆ   — |�|t        |«      cxk  r|k  sJ ‚ J ‚|dk\  sJ ‚t        |«      dk(  r|dk(  sJ ‚| j                  d|||dœ«      }| j                  d|||¬«      S )Nr   rÀ  )rà  rÞ  rß  rÖ  ©rÈ   rÙ  r¼  )r`   rà  rÞ  rß  r¹  r¸  rT  s          rR   r]  zConjectureData.draw_string  s†   € ð ˆ~ ¬S°«[Ô!D¸HÒ!DÐDÐDÐ!DÐDÐDØ˜1Š}Ðˆ}Üˆy‹>˜QÒØ˜q’=Ð �=à)-×)AÑ)AØà&Ø$Ø$ñó*
ˆð �z‰z˜( K¸ÈˆzÓPÐPrT   ©r¹  r¸  c                óš   — |�|t        |«      cxk  r|k  sJ ‚ J ‚|dk\  sJ ‚| j                  d||dœ«      }| j                  d|||¬«      S )Nr   rc  )rÞ  rß  rÖ  râ  )r`   rÞ  rß  r¹  r¸  rT  s         rR   r_  zConjectureData.draw_bytes2  sg   € ð ˆ~ ¬S°«[Ô!D¸HÒ!DÐDÐDÐ!DÐDÐDØ˜1Š}Ðˆ}à(,×(@Ñ(@Ø (¸ÑAó)
ˆð �z‰z˜' ;¸ÈˆzÓOÐOrT   r:  c                ó€   — |dus|dkD  sJ ‚|dus|dk  sJ ‚| j                  dd|i«      }| j                  d|||¬«      S )NTr   FrL   rÃ  r:  rÖ  )rÙ  r¼  )r`   r:  r¹  r¸  rT  s        rR   ra  zConjectureData.draw_booleanB  sZ   € ð ˜dÑ" q¨1¢uÐ,Ð,Ø˜eÑ#¨¨AªÐ-Ð-à*.×*BÑ*BÀ9ÈsÐTUÈhÓ*WˆØ�z‰z˜) [¸'È&ˆzÓQÐQrT   c                  ó   — y rt   rj   ©r`   r¶  rT  s      rR   rÙ  z"ConjectureData._pooled_constraintsO  ó   € ð !rT   c                  ó   — y rt   rj   rç  s      rR   rÙ  z"ConjectureData._pooled_constraintsT  ó   € ð rT   c                  ó   — y rt   rj   rç  s      rR   rÙ  z"ConjectureData._pooled_constraintsY  s   € ð  rT   c                  ó   — y rt   rj   rç  s      rR   rÙ  z"ConjectureData._pooled_constraints^  rê  rT   c                  ó   — y rt   rj   rç  s      rR   rÙ  z"ConjectureData._pooled_constraintsc  rè  rT   c                 óš   — | j                   j                  r|S |gt        ||«      ¢­}	 t        |   S # t        $ r |t        |<   |cY S w xY w)z<Memoize common dictionary objects to reduce memory pressure.)r„  rÌ  r,   ry   ru   )r`   r¶  rT  r  s       rR   rÙ  z"ConjectureData._pooled_constraintsh  s\   € ð
 �=‰=×*Ò*ØÐàÐNÔ3°KÀÓMÑNˆð	Ü+¨CÑ0Ð0øÜò 	Ø,7Ô$ SÑ)ØÒð	ús   ª3 ³A
Á	A
c          
      ó  — | j                   €J ‚| j                  t        | j                   «      k  sJ ‚| j                   | j                     }t        |t        «      rí|}|j
                  �|j
                  dk\  sJ ‚| j                  t        | j                   «      dz
  k(  sJ ‚|j                  dk(  rPd}|€=| j                  r1ddlm	} | j                   |||«      z  }| xj                  dz  c_
        	 t        |||«      }nt        ‚|j
                  �4|xj
                  dz  c_        |j
                  dk  r| j                  «        S t        |t        «      rF| j                   €| j                  |||f| _        	 t        d||«      }| xj                  dz  c_        S |}t"        dt$        dt&        dt(        dt*        d	it        |«         }	|	|k7  st-        ||«      s/| j                   €| j                  |||f| _        	 t        d||«      }| xj                  dz  c_        |S # t        $ r | j                  «        Y �Œ9w xY w# t        $ r | j                  «        Y Œ×w xY w# t        $ r | j                  «        Y Œqw xY w)
Nr   rL   Úsimplest)Úcompute_max_childrenrÀ  rb  r·  rÃ  rc  )rˆ  r~   rÈ   r†   r&   r&  rç   rœ  Ú'hypothesis.internal.conjecture.datatreerñ  r�  r-   r   rÇ  rÖ   r+   rq  ri   rb  rp   r°   rc  r.   )
r`   r¶  rT  r¹  rª   rz  r~   rñ  ÚchoiceÚnode_choice_types
             rR   rÈ  zConjectureData._pop_choicew  sl  € ð �{‰{Ð&Ð&Ð&à�z‰zœC §¡Ó,Ò,Ð,Ð,à—‘˜DŸJ™JÑ'ˆÜ�eœ^Ô,Ø#(ˆDØ�z‰zÐ%Ø—z‘z Q’Ð&�ð —:‘:¤ T§[¡[Ó!1°AÑ!5Ò5Ð5Ð5Ø�y‰y˜JÒ&Ø�Ø�> d×&?Ò&?õð !×/Ñ/Ñ2FØ# [ó3ñ �Eð ×'Ò'¨1Ñ,Õ'ð(Ü.¨u°kÀ;ÓO‘Fô *Ð)à�z‰zÐ%Ø—
’
˜a‘•
Ø—:‘: ’>Ø×%Ñ%Ô'ØˆMä�eœYÔ'ð ×!Ñ!Ð)Ø&*§j¡j°+¸{ÈFÐ%S�Ô"ð$Ü*¨1¨k¸;ÓG�ð �JŠJ˜!‰O�JØˆMàˆä�Ü�7Ü�Ü�)Ü�7ð
ô ˆv‹,ñÐð. ˜{Ò*Ô2BÀ6È;Ô2Wà×!Ñ!Ð)Ø&*§j¡j°+¸{ÈFÐ%S�Ô"ð$ô" +¨1¨k¸;ÓG�ð
 	�
Š
�a‰�
ØˆøôW &ò (Ø×%Ñ%×'ð(ûô& "ò $Ø×!Ñ!Ö#ð$ûôf "ò $à×!Ñ!Ö#ð$ús6   Ã3H$ Å;I È I# È$IÉ IÉI ÉI É#I?É>I?c                 ó,  — | j                   sJ ‚| j                  t        j                  k(  rt        S | j
                  €Ìt        | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  t!        | j"                  «      | j$                  | j&                  | j(                  | j*                  ¬«      | _        | j
                  €J ‚| j
                  S )zdConvert the result of running this test into
        either an Overrun object or a ConjectureResult.)rI  rN  r·   rÜ   rh  ri  rk  rj  rl  rm  rn  ro  rp  rq  rr  )rl   rI  r[   re   rK  rž  re  rN  r·   rÜ   rh  ri  rk  rj  rl  rm  r   rn  ro  rp  rq  rr  r_   s    rR   rt  zConjectureData.as_resultæ  sÕ   € ð �{Š{Ðˆ{Ø�;‰;œ&Ÿ.™.Ò(ÜˆNØ�=‰=Ð Ü,Ø—{‘{Ø#'×#:Ñ#:Ø—j‘jØ—j‘jØ—{‘{Ø—j‘jØ#'×#:Ñ#:Ø#'×#:Ñ#:Ø!×.Ñ.Ø$(×$<Ñ$<Ü˜tŸy™yÓ)ØŸ.™.Ø"×0Ñ0Ø"×0Ñ0Ø%)×%>Ñ%>ôˆDŒMð" —=‘=Ð,Ð,Ð,Ø�}‰}ÐrT   rH   c                 ó:   — | j                   rt        d|› d�«      ‚y )NzCannot call z on frozen ConjectureData)rl   r   )r`   rH   s     rR   Ú__assert_not_frozenz"ConjectureData.__assert_not_frozen  s#   € Ø�;Š;Ü˜<¨ vÐ-FÐGÓHÐHð rT   rª   c                 ó\   — | j                  d«       | j                  j                  |«       y )NÚnote)Ú"_ConjectureData__assert_not_frozenri  rÊ   )r`   rª   s     rR   rù  zConjectureData.note  s"   € Ø× Ñ  Ô(Ø�
‰
×Ñ˜%Õ rT   ÚstrategyzSearchStrategy[Ex]ro   Ú
observe_asrG   c                 ó  — ddl m} ddlm} ddlm} | j                  dk(  }d }d }	|rt        j                  «       }t        «       }	|j                  «        |j                  r| j                  d|›�«       | j                  t        k\  r| j                  d«        ||«      }
|€|
j                  }t        |t         «      sJ ‚| j"                  �Å| j$                  t'        | j"                  «      k  r£t        | j"                  | j$                     x}t(        «      rzd| _        	 |
j-                  |j.                  «      }t1        | j"                  d | j$                   «      |z   t1        | j"                  | j$                  dz   d  «      z   | _        d	| _        | j4                  j6                  }| j9                  |¬
«       	 |s@	 |
j;                  | «      }| j4                  j=                  ||«       || j?                  «        S |€J ‚|	€J ‚|xs dt'        | jD                  «      › �}	 	 |
j;                  | «      }t        «       |	z
  }t        j                  «       |z
  |z
  | jD                  |<   	  |«       r-| jH                  jJ                  } |||¬«      | jL                  |<   | j4                  j=                  ||«       || j?                  «        S # t2        $ r Y �ŒLw xY w# d	| _        w xY w# t@        $ r}tC        |d|›�«       ‚ d }~ww xY w# t        «       |	z
  }t        j                  «       |z
  |z
  | jD                  |<   w xY w# t2        $ r'}tC        |d|jG                  d«      ›d|›�«       ‚ d }~ww xY w# | j?                  «        w xY w)Nr   )Úobservability_enabled)Úunwrap_strategies)Úto_jsonablezempty strategy zmax depth exceededTrL   Frw   zwhile drawing from zgenerate:unlabeled_zwhile generating z	generate:z from )rÌ  )'Ú!hypothesis.internal.observabilityrþ  Ú$hypothesis.strategies._internal.lazyrÿ  Ú%hypothesis.strategies._internal.utilsr   rœ   r”  r•  r1   ÚvalidateÚis_emptyÚmark_invalidÚ	MAX_DEPTHro   r†   rp   rˆ  r~   rÈ   r+   r­  Ú_invertrª   r÷   Ú	Exceptionr¡  r¸   rÉ   Údo_drawrê   rÎ   r   r    r™  Úremoveprefixr„  rÌ  r¢  )r`   rû  ro   rü  rþ  rÿ  r   Úat_top_levelr–  r—  Ú	unwrappedÚholeÚinvertedrå   ÚvÚerrr  Ú	in_gctimeÚavoids                      rR   ÚdrawzConjectureData.draw
  sT  € õ 	LÝJÝEà—z‘z Q‘ˆØˆ
ØˆÙô
 ×*Ñ*Ó,ˆJÜ.Ó0ˆMà×ÑÔà×ÒØ×Ñ °¨|Ð<Ô=à�:‰:œÒ"Ø×ÑÐ2Ô3ñ & hÓ/ˆ	Øˆ=Ø—O‘OˆEÜ˜e¤SÔ)Ð)Ð)ð �K‰KÐ#Ø—
‘
œS §¡Ó-Ò-Ü 4§;¡;¨t¯z©zÑ#:Ð:˜4¼IÔFà"ˆDŒOð(Ø$×,Ñ,¨T¯Z©ZÓ8�ô ˜$Ÿ+™+ l¨¯
©
Ð3Ó4Øñä˜DŸK™K¨¯
©
°Q©Ð(8Ð9Ó:ñ;ð ”ð #(�”à×'Ñ'×2Ñ2ˆ
Ø�‰˜eˆÔ$ð$	Ùð
Ø!×)Ñ)¨$Ó/�AØ×&Ñ&×<Ñ<¸ZÈÔKØð> �N‰NÕð/ Ð)Ð)Ð)Ø Ð,Ð,Ð,ØÒLÐ"5´c¸$¿/¹/Ó6JÐ5KÐ LˆCððXØ!×)Ñ)¨$Ó/�Aô !3Ó 4°}Ñ D�IÜ+/×+<Ñ+<Ó+>ÀÑ+KÈiÑ+W�D—O‘O CÒ(ñ %Ô&ØŸ™×7Ñ7�Ù0;¸AÐQVÔ0W�×(Ñ(¨Ñ-Ø×Ñ×4Ñ4°ZÀÔCØà�N‰NÕøôg ò ò ðûð #(�•ûô /ò ô
 ˜SÐ$7¸°|Ð"DÔEØûðûô  !3Ó 4°}Ñ D�IÜ+/×+<Ñ+<Ó+>ÀÑ+KÈiÑ+W�D—O‘O CÒ(ûÜò ÜØØ'¨×(8Ñ(8¸Ó(EÐ'HÈÈxÈlÐ[ôð ûðûð �N‰NÕús’   Ä!K Ä<AK Æ<M5 Æ?.K( Ç>$M5 È$L	 È54M É)AM5 Ë	KËK ËKËK Ë	K%Ë(	LË1LÌLÌM5 Ì	6L?Ì?M Í	M2Í"M-Í-M2Í2M5 Í5Nc                 ó.   — | j                   j                  S )z‡The index that the next span to start will get. Spans are indexed
        in start order, so this also counts the spans started so far.)r¡  r¸   r_   s    rR   Únext_span_indexzConjectureData.next_span_indexp  s   € ð ×!Ñ!×,Ñ,Ð,rT   c              #   ób   K  — | j                   }|–— | j                  j                  |«       y ­wrt   )r  ro  r  )r`   rå   s     rR   Útrack_arg_spanzConjectureData.track_arg_spanv  s+   è ø€ ð ×)Ñ)ˆ
ØÒØ�‰×Ñ˜:Õ&ùs   ‚-/c              #   ól   K  — i }| j                  «       5 }|–— d d d «       ||<   y # 1 sw Y   ŒxY w­wrt   )r  )r`   ro   Ú
arg_labelsrå   s       rR   Útrack_arg_labelzConjectureData.track_arg_labelƒ  s?   è ø€ à!#ˆ
à× Ñ Ó"ð 	 jØÒ÷	ð
 'ˆ
�5Ò÷	ð 	üs   ‚4•(š4¨1­4c                 óH  — | j                   j                  |«       | j                  d«       | xj                  dz  c_        | j                  | j                  kD  r| j                  | _        | j
                  j                  |«       | j                  j                  |h«       y )NrÉ   rL   )	r„  Ú
span_startrú  rœ   r›  r¡  rÉ   rŸ  rÊ   )r`   ro   s     rR   rÉ   zConjectureData.start_spanŽ  sv   € Ø�‰× Ñ  Ô'Ø× Ñ  Ô.Ø�
Š
�a‰�
ð �:‰:˜Ÿ™Ò&Ø!ŸZ™ZˆDŒNØ×Ñ×%Ñ% eÔ,Ø×'Ñ'×.Ñ.°¨wÕ7rT   F©rã   rã   c                ó   — | j                   j                  |«       | j                  ry |rd| _        | xj                  dz  c_        | j                  dk\  sJ ‚| j
                  j                  |¬«       | j                  j                  «       }|s]| j                  r| j                  d   j                  |«       n2| j                  j                  |D �cg c]  }t        |«      ‘Œ c}«       |r| j                  j                  «        y y c c}w )NTrL   r	  r  )r„  Úspan_endrl   rl  rœ   r¡  rÎ   rŸ  rÍ   Úupdatern  rx   rƒ  rS  )r`   rã   Úlabels_for_structureÚls       rR   rÎ   zConjectureData.stop_span�  sÞ   € Ø�‰×Ñ˜wÔ'Ø�;Š;ØÙØ $ˆDÔØ�
Š
�a‰�
Ø�z‰z˜RÒÐÐØ×Ñ×$Ñ$¨WÐ$Ô5à#×>Ñ>×BÑBÓDÐáØ×.Ò.Ø×/Ñ/°Ñ3×:Ñ:Ð;OÕPà—	‘	× Ñ ÐBVÖ!W¸QÔ"5°aÕ"8Ò!WÔXáð2 �M‰M×%Ñ%Õ'ð3 ùò "Xs   ÃDc                 ó„   — | j                   sJ ‚| j                  €t        | j                  ¬«      | _        | j                  S )N)rÄ   )rl   r   r€   r¡  r_   s    rR   r·   zConjectureData.spansÊ  s4   € à�{Š{Ðˆ{Ø�<‰<ÐÜ ¨×(:Ñ(:Ô;ˆDŒLØ�|‰|ÐrT   c                 ón  — | j                   ry t        j                  «       | _        t	        «       | _        | j                  dk\  r | j                  «        | j                  dk\  rŒ | j                  j                  «        d| _         | j                  j                  | j                  | j                  «       y )Nr   T)rl   r”  r•  Úfinish_timer1   Úgc_finish_timerœ   rÎ   r¡  rÞ   rƒ  rQ  rI  rN  r_   s    rR   rÞ   zConjectureData.freezeÑ  s…   € Ø�;Š;ØÜ×,Ñ,Ó.ˆÔÜ0Ó2ˆÔð �j‰j˜AŠoØ�N‰NÔð �j‰j˜A‹oð 	×Ñ×!Ñ!Ô#ØˆŒØ�‰×#Ñ# D§K¡K°×1HÑ1HÕIrT   r"  c                óx   — |€d n|j                  |«      }| j                  dt        |«      dz
  ||¬«      }||   S )Nr   rL   rã  )r~   rX  rÈ   )r`   r"  r¹  r¸  Úforced_ir¤   s         rR   ró  zConjectureData.choiceß  sM   € ð "˜>‘4¨v¯|©|¸FÓ/CˆØ×ÑØÜ�‹K˜!‰OØØð	 ó 
ˆð �a‰yÐrT   rI  rN  c                 ó¸   — |�|t         j                  k(  sJ ‚| j                  d«       || _        || _        | j                  «        t        | j                  «      ‚)NrQ  )r[   rh   rú  rN  rI  rÞ   r   r“  rP  s      rR   rQ  zConjectureData.conclude_testï  sT   € ð
 #Ð*°¼&×:LÑ:LÒ0LÐMÐMØ× Ñ  Ô1Ø"4ˆÔØˆŒØ�‰ŒÜ�t×'Ñ'Ó(Ð(rT   c                 óD   — | j                  t        j                  |«       y rt   )rQ  r[   rh   )r`   rN  s     rR   Úmark_interestingzConjectureData.mark_interestingû  s   € Ø×Ñœ6×-Ñ-Ð/AÕBrT   )ÚlocationÚwhyr-  c                ór   — |�|| j                   d<   || _        | j                  t        j                  «       y )Nzgave up because)r˜  r¤  rQ  r[   rf   )r`   r.  r-  s      rR   r  zConjectureData.mark_invalidþ  s2   € ð ˆ?Ø-0ˆD�K‰KÐ)Ñ*Ø (ˆÔØ×Ñœ6Ÿ>™>Õ*rT   c                 óB   — | j                  t        j                  «       y rt   )rQ  r[   re   r_   s    rR   rÇ  zConjectureData.mark_overrun  s   € Ø×Ñœ6Ÿ>™>Õ*rT   c                 óX   — | j                   €y| j                   \  }}|xs t        |«      S )z2The location of the most recently rejected filter.N)r¥  r=   )r`   Ú	conditionr-  s      rR   Úlast_rejected_filter_locationz,ConjectureData.last_rejected_filter_location	  s2   € à×%Ñ%Ð-ØØ"×8Ñ8Ñˆ	�8àÒ7Ô,¨YÓ7Ð7rT   )NN)g      à?rë   rt   )Mrb   rc   rd   Úclassmethodr3   r	   r&   r+   r%   rM  r4   rç   r   r‹  rp   r€  ri   r   r‚   ra   r±   r÷   r$   rÜ   r}  r   r   r)   r°   r¼  r(   rb  r*   r"   rc  r!   r'   r#   rX  rÊ  Úinfr7   r[  r2   r;   r]  r_  ra  rÙ  rÈ  re  rH  rt  rú  rù  r  r  r
   r   r  rC   r  rÉ   rÎ   r€   r·   rÞ   rU   ró  r[   r6   r   rQ  r,  r  rÇ  r3  rj   rT   rR   r‚  r‚  ¦  s[  „ Øð
 )-Ø@RØ $ò
à˜.¨9Ñ4°wÑ>Ñ?ð
ð  Ñ%ð	
ð
 $ dÐ+<Ñ&=Ñ=ð
ð ˜‘ð
ð 
ò
ó ð
ð, )-Ø@RØHLØ"&Ø-1òn#ð ˜‘ðn#ð  Ñ%ð	n#ð
 $ dÐ+<Ñ&=Ñ=ðn#ð ˜¨)Ñ3°gÑ=Ñ>ÀÑEðn#ð ˜4‘Zðn#ð ˜#˜s˜(‘^ dÑ*ðn#ð 
ón#ð`
˜#ó 
ð ð!�u˜Z¨˜_Ñ-ò !ó ð!ð
 ð9˜˜w¨˜|Ñ,ò 9ó ð9ð ðà˜YÑ'ðð (ðð
 ðð �d‘
ðð 
òó ðð ðà˜WÑ%ðð &ðð
 ðð ˜‘ðð 
òó ðð ðà˜XÑ&ðð 'ðð
 ðð �d‘
ðð 
òó ðð ðà˜WÑ%ðð &ðð
 ðð ˜‘ðð 
òó ðð ðà˜YÑ'ðð (ðð
 ðð �t‘ðð 
òó ððPà ðPð (ðPð
 ðPð ˜$‘ðPð 
óPðh !%Ø $ð%Rð
 ,0ØØ!Øò%Rà˜‘:ð%Rð ˜‘:ð%Rð
 �c˜5�jÑ! DÑ(ð%Rð ð%Rð �d‘
ð%Rð ð%Rð 
ó%RðR !ŸH™H˜9ØŸ8™8ð*Pð
 Ø,>ð  $Øò*Pàð*Pð ð*Pð
 ð*Pð %*ð*Pð ˜‘ð*Pð ð*Pð 
ó*Pð` Ø3Ø!ØòQàðQð ð	Qð
 ðQð �d‘
ðQð ðQð 
óQð4 Ø3ðPð
  $ØòPàðPð ðPð
 ˜‘ðPð ðPð 
óPð$ ðRð #ØòRàðRð �t‘ð	Rð
 ðRð 
óRð ð!Ø" 9Ñ-ð!Ø<Nð!à	ò!ó ð!ð ðØ" 7Ñ+ðØ:Jðà	òó ðð ð Ø" 8Ñ,ð Ø;Lð à	ò ó ð ð ðØ" 7Ñ+ðØ:Jðà	òó ðð ð!Ø" 9Ñ-ð!Ø<Nð!à	ò!ó ð!ðØ&ðØ5Gðà	óðmà ðmð (ðmð
 ˜$‘ðmð 
ómð^Ð+¨hÑ6ó ð8I¨ð I°ó Ið!˜#ð ! $ó !ð !Ø!%ñ	dà&ðdð �T‰zðdð ˜$‘Jð	dð
 
ódðL ð- ò -ó ð-ð
 ð
' 	¨#¡ò 
'ó ð
'ð ð' Sð '¨Y°zÑ-Bò 'ó ð'ð8 ð 8¨ó 8ð ,1ò +( Dð +(°Tó +(ðZ ð�uò ó ðóJð$  Øòà˜‘ðð �D‘ð	ð
 ðð 
óð& 8<ñ
)àð
)ð .°Ñ4ð
)ð 
ó	
)ðCÐ3Dð CÈó Cð !%ð+Ø@Dò+Ø˜‘:ð+Ø36¸±:ð+à	ó+ð+˜hó +ð8¨s°T©zô 8rT   r‚  r¶  rT  r…  c          	      ót   — t        |¬«      }t        t         t        |j                  d| › �«      di |¤Ž«      S )N)r…  rÆ  rj   )r‚  r   r%   rÉ  r„  )r¶  rT  r…  Úcds       rR   Údraw_choicer8    s8   € ô 
˜vÔ	&€BÜ”ÐDœ §¡°°k°]Ð.CÓDÑSÀ{ÑSÓTÐTrT   )“ÚdatetimerÊ  r”  Útypesr¨   Úcollectionsr   Úcollections.abcr   r   r   r   r   r	   Ú
contextlibr
   Údataclassesr   r   Úenumr   Ú	functoolsr   r…  r   Útypingr   r   r   r   r   r   r   r   Úhypothesis.errorsr   r   r   r   r   r   r   Úhypothesis.internal.cacher   Úhypothesis.internal.compatr    Ú%hypothesis.internal.conjecture.choicer!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Ú)hypothesis.internal.conjecture.junkdrawerr0   r1   rP   r2   r3   r4   Ú$hypothesis.internal.conjecture.utilsr5   Úhypothesis.internal.escalationr6   Úhypothesis.internal.floatsr7   r8   r9   r:   Ú hypothesis.internal.intervalsetsr;   r  r<   Úhypothesis.internal.reflectionr=   Úhypothesis.reportingr>   Úhypothesis.utils.conventionsr?   r@   Úhypothesis.utils.deprecationrA   Úhypothesis.utils.threadingrB   Úhypothesis.vendor.prettyrC   Úhypothesis.strategiesrD   Ú$hypothesis.strategies._internal.corerE   Ú&hypothesis.strategies._internal.randomrF   Ú*hypothesis.strategies._internal.strategiesrG   ri   rS   rU   r€  rp   rb  r  r÷   rV   rq   r°  r  r  r’  r[   rn   rr   rx   ry   r°   rc  ÚNoneTypeÚdateÚ	timedeltarz   rç   r{   r}   r³   r¼   rÙ   rí   rû   r  r  r  r  r€   rH  rK  rM  re  r‚  r8  rj   rT   rR   ú<module>rX     s  ðô Û Û Û Û Ý #ß W× WÝ %ß (Ý Ý %Ý ÷	÷ 	ó 	÷÷ ñ õ /Ý /÷÷ ÷ ÷ ñ ÷" R÷ñ õ
 FÝ <÷ó õ 9Ý =Ý <Ý -ß BÝ 9Ý 2Ý /áÝ4Ý?ÝBÝ=ð�cð ˜có ñ$ ˆCƒL€Ø˜#˜s U™{Ð*Ñ+Ð à  [Ð2DÀgÐPTÁnÐ TÑU€ˆiÓ Uá  Ó'€	Ù.Ø/óÐ ð €	á¨cÔ2€ô%ˆWô %ñ �˜dÔ#÷ð ó $ðð ?AÐ ˜4 Ð%:Ð :Ñ;Ó @ðY˜sð YÐ'<ó Yñ KSÐSWË.Ð ˜( 5¨¨c¨¡?Ð4FÐ#FÑGÓ Xð ØØØ	Ø	Ø	‡N�NØ‡M�MØ‡M�MØ×ÑØ×Ñð-Ð ˜˜t S˜yÑ)ó ñ %Ð%8Ó9Ð ÷mñ m÷`5"ñ 5"ôp�ô ÷6ñ 6ôr(�|ô (ô 
�ô 
ô
�ô 
ô	ˆlô 	ô	�\ô 	ô@�lô @÷>Rñ R÷jñ ñ ‹*€÷*ñ *ñZ �˜dÔ#÷8ð 8ó $ð8÷>i8ñ i8ðXUØðUØ+=ðUØJPðUàôUrT   