Ë
   E“ãƒ¨6umã                   ó   — U d dl Zd dlmc mZ d dlZd dlmZm	Z	m
Z
mZ d dlmZ d dl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mZmZ d d	lm Z   ed
«      Z! G d„ de«      Z" G d„ de«      Z# G d„ de«      Z$ G d„ de«      Z% G d„ de«      Z&e'e(z  e)z  e*z  e+z  Z,ee-d<   e"e#z  e$z  e%z  e&z  Z.ee-d<   ed   Z/ee-d<   e'e(z  e+z  e0ed   e)f   z  e0ed   e'f   z  Z1ee-d<    edd¬«       G d„ d «      «       Z2 edd¬«       G d!„ d"«      «       Z3 edd¬«       G d#„ d$«      «       Z4d%e'd&e'd'e'fd(„Z5d)e'd&e'd'e'fd*„Z6d+ee!   d,e'd&e'd-ee!ge'f   d'e'f
d.„Z7d)e'd,e'd&e'd/ee'ge!f   d'e8e!   f
d0„Z9d1e'd2e'd'e'fd3„Z:d)e'd2e'd'e'fd4„Z;d+e,d5e.d'e'fd6„Z<d)e'd7e/d5e.d'e,fd8„Z=d+e,d5e.d'e)fd9„Z>d:ee,   d'e0e1d;f   fd<„Z? e@e'e(e+h«      ZAd+e,d'e1fd=„ZBd>e,d?e,d'e)fd@„ZCd7e/dAe.dBe.d'e)fdC„ZDd7e/d5e.d'e0e	d;f   fdD„ZEd:e
e,   d'e'fdE„ZFd+e,d'e'fdF„ZGy)Gé    N)ÚCallableÚHashableÚIterableÚSequence)Ú	dataclass)ÚLiteralÚ	TypeAliasÚ	TypedDictÚTypeVarÚcast)ÚChoiceTooLarge)Úfloat_to_lexÚlex_to_float)Úidentity)Úfloat_to_intÚmake_float_clamperÚsign_aware_lte)ÚIntervalSetÚTc                   óR   — e Zd ZU edz  ed<   edz  ed<   eeef   dz  ed<   eed<   y)ÚIntegerConstraintsNÚ	min_valueÚ	max_valueÚweightsÚshrink_towards)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__ÚdictÚfloat© ó    új/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/conjecture/choice.pyr   r      s0   … Ø�T‰zÓØ�T‰zÓØ�#�u�*Ñ Ñ$Ó$ØÔr$   r   c                   ó6   — e Zd ZU eed<   eed<   eed<   eed<   y)ÚFloatConstraintsr   r   Ú	allow_nanÚsmallest_nonzero_magnitudeN)r   r   r   r"   r    Úboolr#   r$   r%   r'   r'   &   s   … ØÓØÓØƒOØ %Ô%r$   r'   c                   ó,   — e Zd ZU eed<   eed<   eed<   y)ÚStringConstraintsÚ	intervalsÚmin_sizeÚmax_sizeN)r   r   r   r   r    r   r#   r$   r%   r,   r,   -   s   … ØÓØƒMØ„Mr$   r,   c                   ó"   — e Zd ZU eed<   eed<   y)ÚBytesConstraintsr.   r/   N)r   r   r   r   r    r#   r$   r%   r1   r1   3   s   … ØƒMØ„Mr$   r1   c                   ó   — e Zd ZU eed<   y)ÚBooleanConstraintsÚpN)r   r   r   r"   r    r#   r$   r%   r3   r3   8   s   … Ø„Hr$   r3   ÚChoiceTÚChoiceConstraintsT)ÚintegerÚstringÚbooleanr"   ÚbytesÚChoiceTypeTr*   r"   Ú
ChoiceKeyTTF)ÚslotsÚfrozenc                   ó6   — e Zd ZU ed   ed<   edz  ed<   dd„Zy)ÚChoiceTemplateÚsimplestÚtypeNÚcountc                 ó®  — | j                   �É| j                   }d}||kD  }|s­t        j                  d|fd||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}y y )Nr   )ú>)z,%(py2)s
{%(py2)s = %(py0)s.count
} > %(py5)sÚself)Úpy0Úpy2Úpy5zassert %(py7)sÚpy7)	rC   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)rF   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8s         r%   Ú__post_init__zChoiceTemplate.__post_init__O   s}   € Ø�:‰:Ð!Ø—:‘:Ð! Ð!�: ‘>×!×!Õ!�: ×!×!×!×!×!Ñ!�4×!×!Ó!�4×!×!Ô!�:×!×!Ò! ×!×!×!×!×!×!Ô!ð "r$   )ÚreturnN)r   r   r   r   r    r   rX   r#   r$   r%   r@   r@   J   s   … à
�*Ñ
ÓØ�‰:Óô"r$   r@   c                   ó   — e Zd ZU dZeed<   y)Ú	ValueHoleaj  A hole in a choice sequence, carrying a value instead of choices.

    When ``ConjectureData.draw`` finds a ValueHole at the current prefix
    position, it asks the strategy being drawn to ``_invert`` the value, and
    on success splices the resulting choices into the prefix in place of the
    hole - so the value is re-encoded by whichever strategy is drawn at that
    position, with that strategy's own constraints. If no strategy claims the
    hole (inversion failed, or the hole fell out of alignment with strategy
    draw boundaries), it is treated as a misalignment when a draw_* call
    reaches it.
    ÚvalueN)r   r   r   Ú__doc__Úobjectr    r#   r$   r%   r[   r[   T   s   … ñ
ð „Mr$   r[   c                   ó°   — e Zd ZU eed<   eed<   eed<   eed<   dZe	dz  ed<   dddœdedz  d	edz  d
d fd„Z
ed
efd„«       Zded
efd„Zd
e	fd„Zd
efd„Zy)Ú
ChoiceNoderB   r\   ÚconstraintsÚ
was_forcedNÚindex)Ú
with_valueÚwith_constraintsrd   re   rY   c                ó  — | j                   r»d }||u }|s¯t        j                  d|fd||f«      dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |«      dœz  }t        j                  d«      dz   d|iz  }t        t        j                  |«      «      ‚d x}}t        | j                  |€| j                  n||€| j                  n|| j                   ¬«      S )	N©Úis)z%(py0)s is %(py3)srd   ©rG   Úpy3z*modifying a forced node doesn't make sensez
>assert %(py5)srI   )rB   r\   ra   rb   )rb   rK   rL   rM   rN   rO   rP   Ú_format_assertmsgrQ   rR   r`   rB   r\   ra   )rF   rd   re   Ú@py_assert2rS   Ú@py_format4rV   s          r%   ÚcopyzChoiceNode.copyn   s©   € ð �?Š?Ø!%ÐS�: Ð%×S×SÕS�: ×S×S×S×S×SÑS�:×S×SÓS�:×S×SÔS ×S×S×SÐ'S×S×S×S×S×SÖSô Ø—‘Ø *Ð 2�$—*’*¸
à$4Ð$<�× Ò ÐBRà—‘ô
ð 	
r$   c                 óÔ  — | j                   ry| j                  dk7  r7t        d| j                  | j                  «      }t	        | j
                  |«      S t        t        | j                  «      }|d   }|d   }d}|t        j                   k(  r)|t        j                  k(  rt	        | j
                  |«      S t        j                  |«      s�t        j                  |«      sˆt        j                  |«      t        j                  |«      k  r]t        t        j                  |«      |«      }t        t        j                  |«      |«      }t	        | j
                  t        |«      «      S y)a-  
        A node is trivial if it cannot be simplified any further. This does not
        mean that modifying a trivial node can't produce simpler test cases when
        viewing the tree as a whole. Just that when viewing this node in
        isolation, this is the simplest the node can get.
        Tr"   r   r   r   g        F)rb   rB   Úchoice_from_indexra   Úchoice_equalr\   r   r'   ÚmathÚinfÚisinfÚceilÚfloorÚmaxÚminr"   )rF   Ú
zero_valuera   r   r   r   s         r%   ÚtrivialzChoiceNode.trivial„   s  € ð �?Š?Øà�9‰9˜ÒÜ*¨1¨d¯i©i¸×9IÑ9IÓJˆJÜ §
¡
¨JÓ7Ð7äÔ/°×1AÑ1AÓBˆKØ# KÑ0ˆIØ# KÑ0ˆIØ ˆNàœTŸX™X˜IÒ%¨)´t·x±xÒ*?Ü# D§J¡J°Ó?Ð?ô —J‘J˜yÔ)ÜŸ
™
 9Ô-Ü—I‘I˜iÓ(¬D¯J©J°yÓ,AÒAô "%¤T§Y¡Y¨yÓ%9¸>Ó!J�Ü!$¤T§Z¡Z°	Ó%:¸NÓ!K�Ü# D§J¡J´°nÓ0EÓFÐFð r$   Úotherc                 ó4  — t        |t        «      st        S | j                  |j                  k(  xrh t	        | j
                  |j
                  «      xrF t        | j                  | j                  |j                  «      xr | j                  |j                  k(  S ©N)	Ú
isinstancer`   ÚNotImplementedrB   rq   r\   Úchoice_constraints_equalra   rb   )rF   r{   s     r%   Ú__eq__zChoiceNode.__eq__¬   sz   € Ü˜%¤Ô,Ü!Ð!ð �I‰I˜Ÿ™Ñ#ò 4Ü˜TŸZ™Z¨¯©Ó5ò4ä(¨¯©°D×4DÑ4DÀe×FWÑFWÓXò4ð —‘ 5×#3Ñ#3Ñ3ð		
r$   c                 óª   — t        | j                  t        | j                  «      t	        | j                  | j
                  «      | j                  f«      S r}   )ÚhashrB   Ú
choice_keyr\   Úchoice_constraints_keyra   rb   )rF   s    r%   Ú__hash__zChoiceNode.__hash__·   sB   € Üà—	‘	Ü˜4Ÿ:™:Ó&Ü& t§y¡y°$×2BÑ2BÓCØ—‘ð	ó
ð 	
r$   c                 óv   — | j                   rdnd}| j                  › d| j                  ›|› d| j                  ›�S )Nz	 [forced]Ú ú )rb   rB   r\   ra   )rF   Úforced_markers     r%   Ú__repr__zChoiceNode.__repr__Á   s9   € Ø'+§¢™¸BˆØ—)‘)�˜A˜dŸj™j˜^¨M¨?¸!¸D×<LÑ<LÐ;OÐPÐPr$   )r   r   r   r;   r    r5   r6   r*   rc   r   rn   Úpropertyrz   r^   r�   r†   Ústrr‹   r#   r$   r%   r`   r`   f   s¤   … à
ÓØƒNØ#Ó#ØÓØ€Eˆ3�‰:Óð
 &*Ø6:ò	
ð ˜d‘Nð
ð -¨tÑ3ð	
ð
 
ó
ð, ð%˜ò %ó ð%ðN	
˜Fð 	
 tó 	
ð
˜#ó 
ðQ˜#ô Qr$   r`   ÚsizeÚalphabet_sizerY   c                ó¤  — |dk  r§d}| |k(  }|s™t        j                  d|fd| |f«      dt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}y|dk(  r| S || z  dz
  |dz
  z  }t        t        |«      S )	Nr   ©ú==©z%(py0)s == %(py3)srŽ   ri   úassert %(py5)srI   é   )
rK   rL   rM   rN   rO   rP   rQ   rR   r   r   )rŽ   r�   rl   rS   rm   rV   Úvs          r%   Ú_size_to_indexr—   Æ   s™   € ð ˜ÒØÐˆt�q‰y××Õˆt�q×××××Ñˆt××Óˆt××Ô�q××××××ÑØØ˜ÒØˆØ	˜Ñ	˜qÑ	  m°aÑ&7Ñ8€Aä”�Q‹<Ðr$   rc   c                 ó  — |dk(  ry|dk(  r| S | |dz
  z  dz   }t        j                  ||«      }dt        j                  |«      |z
  cxk  rdk  rn nd}||k\  r||z  }|dz  }||k\  rŒ|S t        j                  |«      S )Nr   r•   gH¯¼šò×z>)rr   Úlogru   rv   )rc   r�   ÚtotalrŽ   Úss        r%   Ú_index_to_sizerœ   Ô   sž   € Ø˜ÒØØ	˜!Ò	ð ˆð �] QÑ&Ñ'¨!Ñ+€EÜ�8‰8�E˜=Ó)€Dð
 	Œ4�9‰9�T‹?˜TÑ!Ô( DÕ(ØˆØ�}Ò$Ø�mÑ#ˆEØ�‰FˆAð �}Ó$ð ˆÜ�:‰:�dÓÐr$   Úchoicer.   Úto_orderc                ó˜   — t        t        | «      |¬«      t        ||¬«      z
  }d}t        | «      D ]  }|| ||«      z  z  }||z  }Œ |S )N©r�   r•   )r—   ÚlenÚreversed)r�   r.   r�   rž   rc   Úrunning_expÚcs          r%   Úcollection_indexr¥   ñ   se   € ô œ3˜v›;°mÔDÄ~Ø ôHñ €Eð €KÜ�fÓò %ˆØ�™x¨›{Ñ*Ñ*ˆØ�}Ñ$‰ð%ð €Lr$   Ú
from_orderc                ó  — ddl m} | t        ||¬«      z  } t        | |¬«      }||k\  rt        ‚| t        ||¬«      z  } g }t        t        |«      «      D ]4  }| dk(  rd}n| ||z  z  }| |||z  z  z  } |j                   ||«      «       Œ6 |S )Nr   )ÚBUFFER_SIZEr    )Ú%hypothesis.internal.conjecture.enginer¨   r—   rœ   r   r¢   ÚrangeÚappend)	rc   r.   r�   r¦   r¨   rŽ   ÚvalsÚiÚns	            r%   Úcollection_valuer¯     s¯   € õ Bð
 
Œ^˜H°MÔBÑB€EÜ˜%¨}Ô=€Dð ˆ{ÒÜÐð 
Œ^˜D°Ô>Ñ>€EØ€DÜ”e˜D“kÓ"ò 	#ˆð �AŠ:Ø‰Aà˜-¨Ñ*Ñ+ˆAà�Q˜-¨Ñ*Ñ+Ñ+ˆEØ�‰‘J˜q“MÕ"ð	#ð €Kr$   r\   r   c                ó<   — dt        || z
  «      z  }| |kD  r|dz  }|S )Né   r•   )Úabs)r\   r   rc   s      r%   Úzigzag_indexr³   2  s.   € ð ”�N UÑ*Ó+Ñ+€EØˆ~ÒØ�‰
ˆØ€Lr$   c                ó‚  — d}| |k\  }|s™t        j                  d|fd| |f«      dt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}| dz   d	z  }| d	z  dk(  r|d
z  }||z   S )Nr   ©ú>=©z%(py0)s >= %(py3)src   ri   r”   rI   r•   r±   éÿÿÿÿ)rK   rL   rM   rN   rO   rP   rQ   rR   )rc   r   rl   rS   rm   rV   r®   s          r%   Úzigzag_valuer¹   ;  sˆ   € ØÐˆ5�A‰:××Õˆ5�A×××××Ñˆ5××Óˆ5××Ô�A××××××Ñà	�‰�qÑ€Aà�‰	�aÒØ	ˆR‰ˆØ˜AÑÐr$   ra   c                 ó
  — t        | t        «      �rØt        | t        «      �sÇt        t        |«      }|d   }|d   }|d   }|�t        ||«      }|�t        ||«      }|€|€t        | |¬«      S |�(|€&t        | |z
  «      ||z
  k  rt        | |¬«      S | |z
  S |�(|€&t        | |z
  «      ||z
  k  rt        | |¬«      S || z
  S d }||u}|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd	|iz  }t        t        j                   |«      «      ‚d x}}d }||u}|s™t        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd	|iz  }t        t        j                   |«      «      ‚d x}}g }|d
   }d }	||	u }
|
}|
s'd„ |d
   j#                  «       D «       }t%        |«      }|}|�s=t        j                  d|
fd||	f«      t        j                  |«      t        j                  |	«      dœz  }dd|iz  }|j'                  |«       |
sˆddt        j                  «       v st        j                  t$        «      rt        j                  t$        «      ndt        j                  «      t        j                  «      dœz  }|j'                  |«       t        j(                  |d«      i z  }t        j*                  d«      dz   d|iz  }t        t        j                   |«      «      ‚d x}x}x}x}
x}	x}}||z
  ||z
  k  r&t        | |z
  «      ||z
  k  rt        | |¬«      S | |z
  S t        | |z
  «      ||z
  k  rt        | |¬«      S || z
  S t        | t        «      r.t        t,        |«      }|d   }d|cxk  rdk  sy yt        | «      S t        | t.        «      r/t        t0        |«      }t3        t5        | «      |d   dt6        ¬«      S t        | t8        «      r:t        t:        |«      }|d   }t3        | |d   t=        |«      |j>                  ¬«      S t        | t@        «      r<t        tC        jD                  d| «      dk  «      }|d z  tG        t        | «      «      z  S tH        ‚)!Nr   r   r   ©r   ©úis not©z%(py0)s is not %(py3)sri   r”   rI   r   c              3   ó&   K  — | ]	  }|d kD  –— Œ y­w©r   Nr#   ©Ú.0Úws     r%   ú	<genexpr>z"choice_to_index.<locals>.<genexpr>Š  ó   è ø€ ò 9Ø��A•ñ9ùó   ‚rg   ©z%(py3)s is %(py6)s©rj   Úpy6ú%(py8)sÚpy8ú)%(py14)s
{%(py14)s = %(py10)s(%(py12)s)
}Úall©Úpy10Úpy12Úpy14r•   z@technically possible but really annoying to support zero weightsú
>assert %(py17)sÚpy17r4   ç      ð;ç      ð?r   r.   é   )r.   r�   rž   r-   é@   )%r~   r   r*   r   r   rw   rx   r³   r²   rK   rL   rM   rN   rO   rP   rQ   rR   ÚvaluesrÍ   r«   Ú_format_booloprk   r3   r:   r1   r¥   Úlistr   r�   r,   r¡   Úindex_from_char_in_shrink_orderr"   rr   Úcopysignr   ÚNotImplementedError)r�   ra   r   r   r   rl   rS   rm   rV   Ú@py_assert5rT   Ú@py_assert0Ú@py_assert11Ú@py_assert13Ú@py_format7Ú@py_format9Ú@py_format15Ú@py_format16Ú@py_format18r4   r-   Úsigns                         r%   Úchoice_to_indexrè   E  sÄ  € ô �&œ#Õ¤z°&¼$Õ'?ô Ô-¨{Ó;ˆØ$Ð%5Ñ6ˆØ Ñ,ˆ	Ø Ñ,ˆ	àÐ Ü  ¨NÓ;ˆNØÐ Ü  ¨NÓ;ˆNàÐ Ð!2ä °~ÔFÐFØÐ" yÐ'8ô �6˜NÑ*Ó+°ÀÑ0JÒKÜ# F¸>ÔJÐJØ˜IÑ%Ð%ØÐ" yÐ'8ä�6˜NÑ*Ó+°	¸NÑ0JÒKÜ# F¸>ÔJÐJØ˜vÑ%Ð%ð %)Ð(�9 DÐ(×(×(Õ(�9 D×(×(×(×(×(Ñ(�9×(×(Ó(�9×(×(Ô( D×(×(×(×(×(×(Ñ(Ø$(Ð(�9 DÐ(×(×(Õ(�9 D×(×(×(×(×(Ñ(�9×(×(Ó(�9×(×(Ô( D×(×(×(×(×(×(Ñ(ñR�;˜yÑ)ð R¨Tð RÐ)¨TÐ1ô Rñ 9Ø*¨9Ñ5×<Ñ<Ó>ô9ð R´Sð 9ó 6ð Rð 6÷ Rð Rç@QÑ@QóRÐ)¨T÷ Rñ RçHQÉ	ð *÷ Rð RçHQÉ	ð .2÷ R÷ Rð RçKQÉ6ðRäKQ÷Rð RçKQÉ6÷Rò Rç9QÑ9Qô 69÷ Rñ RçHQÉ	ô 69÷ Rò RçHQÉ	ð9÷ Rð RçHQÉ	ð6÷ Rñ RçKQÉ6ðRäKQôRçCQÁ>÷Rö Rç@QÑ@QÐQ÷R÷ Rö Rç>QÑ>Q÷R÷ R÷ Rð
  Ñ*¨y¸>Ñ/IÒJô �v Ñ.Ó/°NÀYÑ4NÒOÜ'¨¸~ÔNÐNØ 	Ñ)Ð)ô �v Ñ.Ó/°IÀÑ4NÒOÜ'¨¸~ÔNÐNØ  6Ñ)Ð)Ü	�FœDÔ	!ÜÔ-¨{Ó;ˆà˜ÑˆØ˜QÔ1 .Ò1àð 2àÜ�6‹{ÐÜ	�FœEÔ	"ÜÔ+¨[Ó9ˆÜÜ�‹LØ  Ñ,ØÜô	
ð 	
ô 
�FœCÔ	 ÜÔ,¨kÓ:ˆØ Ñ,ˆ	ÜØØ  Ñ,Ü˜i›.Ø×>Ñ>ô	
ð 	
ô 
�FœEÔ	"Ü”4—=‘=  fÓ-°Ñ1Ó2ˆØ˜‘
œl¬3¨v«;Ó7Ñ7Ð7ä!Ð!r$   Úchoice_typec                 ó”  — d}| |k\  }|s™t        j                  d|fd| |f«      dt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}|dk(  �r·t        t        |«      }|d	   }|d
   }|d   }	|�t        ||«      }|	�t        |	|«      }|€|	€t        | |¬«      S |�$|	€"| t        ||¬«      k  rt        | |¬«      S | |z   S |	�$|€"| t        |	|¬«      k  rt        | |¬«      S |	| z
  S d }||u}|s™t        j                  d|fd||f«      d
t        j                  «       v st        j                  |«      rt        j
                  |«      nd
t        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}d }|	|u}|s™t        j                  d|fd|	|f«      dt        j                  «       v st        j                  |	«      rt        j
                  |	«      ndt        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}g }|d   }d }
||
u }|}|s'd„ |d   j                  «       D «       }t        |«      }|}|�s=t        j                  d|fd||
f«      t        j
                  |«      t        j
                  |
«      dœz  }dd|iz  }|j!                  |«       |sˆddt        j                  «       v st        j                  t        «      rt        j
                  t        «      ndt        j
                  «      t        j
                  «      dœz  }|j!                  |«       t        j"                  |d«      i z  }t        j$                  d«      dz   d|iz  }t        t        j                  |«      «      ‚d x}x}x}x}x}
x}}||z
  |	|z
  k  r"| t        ||¬«      k  rt        | |¬«      S | |z   S | t        |	|¬«      k  rt        | |¬«      S |	| z
  S |dk(  �r‚t        t&        |«      }|d   }d }|dk  rd }n|d!k\  rd"}ddh}| |v }|s™t        j                  d#|fd$| |f«      dt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}|�¨d}| |k(  }|s™t        j                  d%|fd&| |f«      dt        j                  «       v st        j                  | «      rt        j
                  | «      ndt        j
                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}|S t)        | «      S |d'k(  r1t        t*        |«      }t-        | |d(   d)t.        ¬*«      }t1        |«      S |d+k(  rKt        t2        |«      }|d,   }t-        | |d(   t5        |«      |j6                  ¬*«      }d-j9                  |«      S |d.k(  rMt        t:        |«      }| d/z	  rd0nd}|t=        | d1z  «      z  }t?        |d
   |d   |d2   |d3   ¬4«      } ||«      S t@        ‚)5Nr   rµ   r·   rc   ri   r”   rI   r7   r   r   r   r»   r¼   r¾   r   c              3   ó&   K  — | ]	  }|d kD  –— Œ y­wrÀ   r#   rÁ   s     r%   rÄ   z$choice_from_index.<locals>.<genexpr>Û  rÅ   rÆ   rg   rÇ   rÈ   rÊ   rË   rÌ   rÍ   rÎ   r•   z4possible but really annoying to support zero weightsrÒ   rÓ   r9   r4   rÔ   FrÕ   T)Úin)z%(py0)s in %(py3)sr‘   r“   r:   r.   rÖ   )r.   r�   r¦   r8   r-   rˆ   r"   r×   r¸   l   ÿÿÿÿ r)   r(   )r   r   r)   r(   )!rK   rL   rM   rN   rO   rP   rQ   rR   r   r   rw   rx   r¹   r³   rØ   rÍ   r«   rÙ   rk   r3   r*   r1   r¯   r   r:   r,   r¡   Úchar_in_shrink_orderÚjoinr'   r   r   rÝ   )rc   ré   ra   rl   rS   rm   rV   r   r   r   rÞ   rT   rß   rà   rá   râ   rã   rä   rå   ræ   r4   ÚonlyÚvalue_br-   Úvalue_srç   ÚresultÚclampers                               r%   rp   rp   »  sì  € ð Ðˆ5�A‰:××Õˆ5�A×××××Ñˆ5××Óˆ5××Ô�A××××××ÑØ�iÓÜÔ-¨{Ó;ˆØ$Ð%5Ñ6ˆØ Ñ,ˆ	Ø Ñ,ˆ	àÐ Ü  ¨NÓ;ˆNØÐ Ü  ¨NÓ;ˆNàÐ Ð!2ä °nÔEÐEØÐ" yÐ'8àœ Y¸~ÔNÒNÜ# E¸.ÔIÐIØ˜9Ñ$Ð$ØÐ" yÐ'8àœ Y¸~ÔNÒNÜ# E¸.ÔIÐIØ˜uÑ$Ð$ð %)Ð(�9 DÐ(×(×(Õ(�9 D×(×(×(×(×(Ñ(�9×(×(Ó(�9×(×(Ô( D×(×(×(×(×(×(Ñ(Ø$(Ð(�9 DÐ(×(×(Õ(�9 D×(×(×(×(×(Ñ(�9×(×(Ó(�9×(×(Ô( D×(×(×(×(×(×(Ñ(ñF�;˜yÑ)ð F¨Tð FÐ)¨TÐ1ô Fñ 9Ø*¨9Ñ5×<Ñ<Ó>ô9ð F´Sð 9ó 6ð Fð 6÷ Fð Fç4EÑ4EóFÐ)¨T÷ Fñ Fç<E¹Ið *÷ Fð Fç<E¹Ið .2÷ F÷ Fð Fç?E¹vðFä?E÷Fð Fç?E¹v÷Fò Fç-EÑ-Eô 69÷ Fñ Fç<E¹Iô 69÷ Fò Fç<E¹Ið9÷ Fð Fç<E¹Ið6÷ Fñ Fç?E¹vðFä?EôFç7E±~÷Fö Fç4EÑ4EÐE÷F÷ Fö Fç2EÑ2E÷F÷ F÷ Fð  Ñ*¨y¸>Ñ/IÒJàœL¨À>ÔRÒRÜ'¨¸nÔMÐMØ˜yÑ(Ð(ð œL¨À>ÔRÒRÜ'¨¸nÔMÐMØ  5Ñ(Ð(Ø	˜	Ó	!ÜÔ-¨{Ó;ˆà˜ÑˆØˆØ�
Š?Ø‰DØ�>Ò"ØˆDà˜A˜Ðˆu˜ˆ××Õˆu˜×××××Ñˆu××Óˆu××Ô˜××××××ÑØÐàÐ�5˜A‘:××Õ�5˜A×××××Ñ�5××Ó�5××Ô˜A××××××ÑØˆKÜ�E‹{ÐØ	˜Ò	ÜÔ+¨[Ó9ˆÜ"ØØ  Ñ,ØÜô	
ˆô �W‹~ÐØ	˜Ò	 ÜÔ,¨kÓ:ˆØ Ñ,ˆ	ô #ØØ  Ñ,Ü˜i›.Ø ×5Ñ5ô	
ˆð �w‰w�wÓÐØ	˜Ò	ÜÔ+¨[Ó9ˆØ˜b’[‰r aˆØœ U¨mÑ%<Ó=Ñ=ˆä$Ø! +Ñ.Ø! +Ñ.Ø'2Ð3OÑ'PØ! +Ñ.ô	
ˆñ �v‹Ðä!Ð!r$   c                 ób  ‡— t        | t        «      r>t        | t        «      s.t        t        ‰«      Š‰d   }‰d   }|�| |k  ry|d uxr | |kD   S t        | t
        «      rct        t        ‰«      Št        j                  | «      r‰d   S dt        | «      cxk  r‰d   k  ry t        ‰d   | «      xr t        | ‰d   «      S t        | t        «      rHt        t        ‰«      Št        | «      ‰d   k  ryt        | «      ‰d   kD  ryt        ˆfd	„| D «       «      S t        | t        «      r3t        t         ‰«      Št        | «      ‰d   k  ryt        | «      ‰d   k  S t        | t        «      r)t        t"        ‰«      Š‰d
   dk  r| du S ‰d
   dk\  r| du S yt%        dt'        | «      › d| › �«      ‚)Nr   r   Fr(   r   r)   r.   r/   c              3   ó>   •K  — | ]  }t        |«      ‰d    v –— Œ y­w)r-   N)Úord)rÂ   r¤   ra   s     €r%   rÄ   z#choice_permitted.<locals>.<genexpr>5  s   øè ø€ ÒF¸!”3�q“6˜[¨Ñ5Ô5ÑFùs   ƒr4   r•   Tzunhandled type z with value )r~   r   r*   r   r   r"   r'   rr   Úisnanr²   r   r�   r,   r¡   rÍ   r:   r1   r3   rÝ   rB   )r�   ra   r   r   s    `  r%   Úchoice_permittedrø     sÍ  ø€ Ü�&œ#Ô¤z°&¼$Ô'?ÜÔ-¨{Ó;ˆØ Ñ,ˆ	Ø Ñ,ˆ	ØÐ  V¨iÒ%7ØØ TÐ)Ò@¨f°yÑ.@ÐAÐAÜ	�FœEÔ	"ÜÔ+¨[Ó9ˆÜ�:‰:�fÔØ˜{Ñ+Ð+ØŒs�6‹{ÔF˜[Ð)EÑFÒFØð Gä˜k¨+Ñ6¸Ó?ò 
ÄNØ�K Ñ,óE
ð 	
ô 
�FœCÔ	 ÜÔ,¨kÓ:ˆÜˆv‹;˜ ZÑ0Ò0ØÜˆv‹;˜ ZÑ0Ò0ØÜÓF¸vÔFÓFÐFÜ	�FœEÔ	"ÜÔ+¨[Ó9ˆÜˆv‹;˜ ZÑ0Ò0ØÜ�6‹{˜k¨*Ñ5Ñ5Ð5Ü	�FœDÔ	!ÜÔ-¨{Ó;ˆØ�sÑ˜qÒ Ø˜U�?Ð"Ø�sÑ˜qÒ Ø˜T�>Ð!Øä! O´D¸³L°>ÀÈfÈXÐ"VÓWÐWr$   Úchoices.c           	      ó’   — t        | D �cg c].  }t        |«      t        v rt        t        |«      n
t        |«      ‘Œ0 c}«      S c c}w r}   )ÚtuplerB   Ú_SELF_KEYED_TYPESr   r<   r„   )rù   r�   s     r%   Úchoices_keyrý   F  sQ   € äð "ö	
ð ô ˜“<Ô#4Ñ4ô ”Z Ô(ä Ó'ñ(ò	
ó	ð 	ùò	
s   Š3Ac                 óh   — t        | t        «      rdt        | «      fS t        | t        «      rd| fS | S )Nr"   r*   )r~   r"   r   r*   )r�   s    r%   r„   r„   W  s8   € Ü�&œ%Ô ð œ fÓ-Ð.Ð.Ü�&œ$Ôà˜ÐÐØ€Mr$   Úchoice1Úchoice2c           	      ó¦  — t        | «      }t        |«      }||u }|�s˜t        j                  d|fd||f«      dt        j                  «       v st        j
                  t         «      rt        j                  t         «      nddt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      dt        j                  «       v st        j
                  t         «      rt        j                  t         «      nddt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |«      dœz  }t        j                  | |f«      dz   d|iz  }t        t        j                  |«      «      ‚d x}x}}t        | «      t        |«      k(  S )	Nrg   )zN%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} is %(py8)s
{%(py8)s = %(py5)s(%(py6)s)
}rB   rÿ   r   )rG   Úpy1rj   rI   rÉ   rË   z
>assert %(py10)srÏ   )rB   rK   rL   rM   rN   rO   rP   rk   rQ   rR   r„   )rÿ   r   rl   Ú@py_assert7rT   rã   Ú@py_format11s          r%   rq   rq   b  sõ   € Ü�‹=Ð=œD ›MÐ=ˆ=˜MÐ)×=×=Ö=ˆ=˜M×=×=×=×=×=Ñ=Œ4×=×=Ó=Œ4×=×=×=×=×=Ò=�×=×=Ó=�×=×=Ô=ˆ=×=×=×=×=×=Ð=œD×=×=Ó=œD×=×=×=×=×=Ò= ×=×=Ó= ×=×=Ô=˜M×=×=×=¨G°WÐ+=×=×=×=×=×=×=Ð=Ü�gÓ¤*¨WÓ"5Ñ5Ð5r$   Úconstraints1Úconstraints2c                 ó4   — t        | |«      t        | |«      k(  S r}   )r…   )ré   r  r  s      r%   r€   r€   g  s&   € ô
 " +¨|Ó<Ô@VØ�\óAñ ð r$   c                 ób  ‡— | dk(  r4t        t        ‰«      Št        ‰d   «      t        ‰d   «      ‰d   ‰d   fS | dk(  rIt        t        ‰«      Š‰d   ‰d   ‰d   €d n$t	        t        ‰d   j                  «       «      «      ‰d   fS | d	k(  r‰d
   fS t	        ˆfd„t        ‰«      D «       «      S )Nr"   r   r   r(   r)   r7   r   r   r9   r4   c              3   ó(   •K  — | ]	  }‰|   –— Œ y ­wr}   r#   )rÂ   Úkeyra   s     €r%   rÄ   z)choice_constraints_key.<locals>.<genexpr>Š  s   øè ø€ ÒA c�˜SÕ!ÑAùs   ƒ)r   r'   r   r   rû   ÚsortedÚitems)ré   ra   s    `r%   r…   r…   q  sä   ø€ ð �gÒÜÔ+¨[Ó9ˆä˜ [Ñ1Ó2Ü˜ [Ñ1Ó2Ø˜Ñ$ØÐ4Ñ5ð	
ð 	
ð �iÒÜÔ-¨{Ó;ˆà˜Ñ$Ø˜Ñ$ð ˜yÑ)Ð1ñ äœ6 +¨iÑ"8×">Ñ">Ó"@ÓAÓBàÐ(Ñ)ð	
ð 		
ð �iÒØ˜CÑ Ð"Ð"ÜÓA¬V°KÓ-@ÔAÓAÐAr$   c                 ó0   — ddl m} t         || «      «      S )Nr   )Úchoices_to_bytes)Úhypothesis.databaser  r¡   )rù   r  s     r%   Úchoices_sizer  �  s   € Ý4äÑ Ó(Ó)Ð)r$   c                 óà  — t        | t        «      ryt        | t        «      rd}�n›t        | t        «      rd| j	                  «       dz  z   }�nst        | t
        «      rt        | «      }�nVt        | t        «      }|�sddt        j                  «       v st        j                  t         «      rt        j                  t         «      nddt        j                  «       v st        j                  | «      rt        j                  | «      nddt        j                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d}| j                  «       rt        | «      nt        | j!                  d	¬
«      «      }|dk  rd|z   S dt#        d|j	                  «        dz   «      z   |z   S )zIEquivalent to ``choices_size([choice])``, without serializing ``choice``.r•   é   z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}r~   r�   r�   )rG   r  rH   Úpy4NÚsurrogatepass)Úerrorsé   é   )r~   r*   r"   r   Ú
bit_lengthr:   r¡   r�   rM   rN   rK   rO   rP   rQ   rR   ÚisasciiÚencoderw   )r�   rŽ   rU   Ú@py_format5s       r%   Úchoice_sizer  “  sC  € ä�&œ$ÔØÜ�&œ%Ô ØŠÜ	�FœCÔ	 Ø�6×$Ñ$Ó&¨!Ñ+Ñ+ŠÜ	�FœEÔ	"Ü�6‹{Šä˜&¤#Ó&Ð&Ò&×&×&×&×&Õ&Œz×&×&Ó&Œz×&×&×&×&×&Ò&˜&×&×&Ó&˜&×&×&×&×&×&Ò&¤#×&×&Ó&¤#×&×&Ô&Ð&×&×&×&×&×&Ð&ð �~‰~Ôô �ŒKä�V—]‘]¨/�]Ó:Ó;ð 	ð
 ˆg‚~Ø�4‰xˆàŒs�1˜Ÿ™Ó*Ð*¨aÑ/Ð0Ó1Ñ1°DÑ8Ð8r$   )HÚbuiltinsrM   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterK   rr   Úcollections.abcr   r   r   r   Údataclassesr   Útypingr   r	   r
   r   r   Úhypothesis.errorsr   Ú%hypothesis.internal.conjecture.floatsr   r   Ú$hypothesis.internal.conjecture.utilsr   Úhypothesis.internal.floatsr   r   r   Ú hypothesis.internal.intervalsetsr   r   r   r'   r,   r1   r3   r   r�   r*   r"   r:   r5   r    r6   r;   rû   r<   r@   r[   r`   r—   rœ   r¥   rÚ   r¯   r³   r¹   rè   rp   rø   rý   Ú	frozensetrü   r„   rq   r€   r…   r  r  r#   r$   r%   ú<module>r*     sÀ  ð÷ … ƒß BÓ BÝ !÷õ õ -ß LÝ 9ß WÑ WÝ 8áˆCƒL€ô˜ô ô&�yô &ô˜	ô ô�yô ô
˜ô ð ˜3‘Y Ñ%¨Ñ-°Ñ5€ˆÓ 5àØñàñð ñð ñ	ð �Ió ð !Ð!QÑR€ˆYÓ Ràˆ#�I�Ñ˜˜g f™o¨tÐ3Ñ4Ñ4°u¸WÀWÑ=MÈsÐ=RÑ7SÑSð ˆIó ñ
 �˜eÔ$÷"ð "ó %ð"ñ �˜dÔ#÷ð ó $ðñ" �˜eÔ$÷\Qð \Qó %ð\Qð~˜ð °ð ¸ó ð˜#ð ¨cð °có ð:Ø�Q‰Kðð ðð ð	ð
 ˜�s˜C�xÑ ðð 	óð:!Øð!ð ð!ð ð	!ð
 ˜#˜ ˜Ñ"ð!ð 
ˆ!�Wó!ðH˜ð °ð ¸ó ð˜ð °ð ¸ó ðs"˜Gð s"Ð2Dð s"Èó s"ðl`"Øð`"Ø(ð`"Ø7Ið`"àó`"ðF%X˜Wð %XÐ3Eð %XÈ$ó %XðP˜ 'Ñ*ð ¨u°ZÀ°_Ñ/Eó ñ ˜s C¨Ð/Ó0Ð ð�wð  :ó ð6˜'ð 6¨Gð 6¸ó 6ð
Øðà$ðð %ðð 
ó	ðBØðBØ+=ðBà
ˆ8�Sˆ=ÑóBð8*˜( 7Ñ+ð *°ó *ð9˜ð 9 Cô 9r$   