Ë
   ‹Œ87�ÜÆã                   óø   — d dl Zd dlmc 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 d dlmZ d dlm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#  e#e$e¬«      Z%d„ Z& G d„ dee   «      Z'y)é    N)ÚCallableÚSequence)Ú	signature)ÚAny)ÚWeakKeyDictionary)Ú&check_sideeffect_during_initialization)ÚChoiceT)ÚConjectureData)Úconvert_keyword_argumentsÚconvert_positional_argumentsÚget_pretty_function_descriptionÚ	repr_call)ÚDeferredStrategy)ÚExÚRecurTÚSearchStrategyÚ_filter_location_overrideÚcurrent_filter_call_site)ÚThreadLocal)Úunwrap_depthÚunwrap_cachec           	      óÆ  — t        | t        t        f«      s| S | j                  j	                  d«      x}�|S 	 t
        j                  |    S # t        $ r Y nw xY w| t
        j                  | <   t
        xj                  dz  c_        	 t        | j                  «      }|t
        j                  | <   	 |j                  }| j                  }||k(  }|sît        j                  d|fd||f«      dt        j                  «       v st        j                   |«      rt        j"                  |«      ndt        j"                  |«      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}x}}n# t(        $ r Y nw xY w	 | j                  |_        n# t(        $ r Y nw xY wt
        j                  dk(  rt        | t        «      r|| _        |t
        xj                  dz  c_        t
        j                  d
k  rt
        j                  j-                  «        t
        j                  }d
}||k\  }|sµt        j                  d|fd||f«      dt        j                  «       v st        j                   t
        «      rt        j"                  t
        «      ndt        j"                  |«      t        j"                  |«      dœz  }dd|iz  }	t%        t        j&                  |	«      «      ‚d x}x}}S # t
        xj                  dz  c_        t
        j                  d
k  rt
        j                  j-                  «        t
        j                  }d
}||k\  }|sµt        j                  d|fd||f«      dt        j                  «       v st        j                   t
        «      rt        j"                  t
        «      ndt        j"                  |«      t        j"                  |«      dœz  }dd|iz  }	t%        t        j&                  |	«      «      ‚d x}x}}w xY w)NÚ
_unwrappedé   )ú==)zp%(py2)s
{%(py2)s = %(py0)s.force_has_reusable_values
} == %(py6)s
{%(py6)s = %(py4)s.force_has_reusable_values
}ÚresultÚs)Úpy0Úpy2Úpy4Úpy6zassert %(py8)sÚpy8r   )ú>=)z4%(py2)s
{%(py2)s = %(py0)s.unwrap_depth
} >= %(py5)sÚthreadlocal©r   r   Úpy5úassert %(py7)sÚpy7)Ú
isinstanceÚLazyStrategyr   Ú__dict__Úgetr$   r   ÚKeyErrorr   Úunwrap_strategiesÚwrapped_strategyÚforce_has_reusable_valuesÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚAttributeErrorr   Úclear)
r   r   Ú@py_assert1Ú@py_assert5Ú@py_assert3Ú@py_format7Ú@py_format9Ú@py_assert4Ú@py_format6Ú@py_format8s
             úi/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/strategies/_internal/lazy.pyr.   r.   &   sé  € ä�aœ,Ô(8Ð9Ô:Øˆð —*‘*—.‘. Ó.Ð.ˆÐ;ØˆðÜ×'Ñ'¨Ñ*Ð*øÜò Ùðúð #$„K×Ñ˜QÑÜ×Ò Ñ!Õð-Ü" 1×#5Ñ#5Ó6ˆØ&,Œ× Ñ  Ñ#ð	Ø×3Ñ3ÐR°q×7RÑ7RÐRÐ3Ð7RÑR×R×RÕRÐ3Ð7R×R×R×R×R×RÑR�6×R×RÓR�6×R×RÔRÐ3×R×R×R×R×RÐR°q×R×RÓR°q×R×RÔRÐ7R×R×R×R×R×R×RÔRøÜò 	Ùð	úð	Ø/0×/JÑ/JˆFÕ,øÜò 	Ùð	úô ×#Ñ# qÒ(¬Z¸¼<Ô-HØ!ˆAŒLØä× Ò  AÑ%Õ Ü×#Ñ# qÒ(Ü×$Ñ$×*Ñ*Ô,Ü×'Ñ'Ð,¨1Ð,Ð'¨1Ñ,×,×,Õ,Ð'¨1×,×,×,×,×,Ñ,Œ{×,×,Ó,Œ{×,×,Ô,Ð'×,×,Ò,¨1×,×,×,×,×,×,Ô,øô 	× Ò  AÑ%Õ Ü×#Ñ# qÒ(Ü×$Ñ$×*Ñ*Ô,Ü×'Ñ'Ð,¨1Ð,Ð'¨1Ñ,×,×,Õ,Ð'¨1×,×,×,×,×,Ñ,Œ{×,×,Ó,Œ{×,×,Ô,Ð'×,×,Ò,¨1×,×,×,×,×,×,Ô,úsg   ¹A Á	AÁAÂ(M  Â1DG ÇM  Ç	GÇM  ÇGÇM  ÇG' Ç&M  Ç'	G3Ç0M  Ç2G3Ç3.M  Í D Q c                   ó:  ‡ — e Zd ZdZdddœdedee   f   dee   de	e
ef   d	eee
edef   e
dz  f   df   d
e
dz  f
ˆ fd„Zdede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e   fd„«       Zddœd„Zd„ Zd„ Zdd„Zde
fd„Zdedefd„Zdedeedf   fd„Zˆ xZ S )r*   zšA strategy which is defined purely by conversion to and from another
    strategy.

    Its parameter and distribution come from that other strategy.
    © N©Ú
transformsÚ
force_reprÚfunction.ÚargsÚkwargsrG   rH   c                óv   •— t         ‰| �  «        d | _        || _        || _        || _        || _        || _        y ©N)ÚsuperÚ__init__Ú_LazyStrategy__wrapped_strategyÚ_LazyStrategy__representationrI   Ú_LazyStrategy__argsÚ_LazyStrategy__kwargsÚ_transformations)ÚselfrI   rJ   rK   rG   rH   Ú	__class__s         €rC   rO   zLazyStrategy.__init__W   s=   ø€ ô 	‰ÑÔØ=AˆÔØ,6ˆÔØ ˆŒØˆŒØˆŒØ *ˆÕó    ÚrecurÚreturnc                 ó&   —  || j                   «      S rM   ©r/   ©rU   rX   s     rC   Úcalc_is_emptyzLazyStrategy.calc_is_emptyi   ó   € Ù�T×*Ñ*Ó+Ð+rW   c                 ó&   —  || j                   «      S rM   r[   r\   s     rC   Úcalc_has_reusable_valuesz%LazyStrategy.calc_has_reusable_valuesl   r^   rW   c                 ó¨   — | j                   | j                  j                  «       fD ])  }|D ]"  }t        |t        «      sŒ|j
                  rŒ!  y Œ+ y)NFT)rR   rS   Úvaluesr)   r   Úis_cacheable)rU   rX   ÚsourceÚvs       rC   Úcalc_is_cacheablezLazyStrategy.calc_is_cacheableo   sN   € Ø—{‘{ D§M¡M×$8Ñ$8Ó$:Ð;ò 	!ˆFØò !�Ü˜a¤Õ0¸¿»Ú ñ!ð	!ð rW   c                 ó.   — | j                   j                  S rM   )r/   Úlabel)rU   s    rC   Ú
calc_labelzLazyStrategy.calc_labelv   s   € Ø×$Ñ$×*Ñ*Ð*rW   c                 óî  — | j                   �€t        d| «       t        d„ | j                  D «       «      }| j                  j                  «       D ��ci c]  \  }}|t        |«      “Œ }}} | j                  | j                  i | j                  ¤Ž}|| j                  k(  r|| j                  k(  r|}n | j                  |i |¤Ž}| j                  D ]6  \  }}}	t        j                  |	«      5   t        ||«      |«      }d d d «       Œ8 || _         | j                   }
d }|
|u}|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}}| j                   S c c}}w # 1 sw Y   �Œ#xY w)	Nzlazy evaluation of {!r}c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrM   )r.   )Ú.0r   s     rC   ú	<genexpr>z0LazyStrategy.wrapped_strategy.<locals>.<genexpr>~   s   è ø€ Ò"M¸AÔ#4°Q×#7Ñ"Mùs   ‚)úis not)z>%(py2)s
{%(py2)s = %(py0)s.__wrapped_strategy
} is not %(py5)srU   r%   r'   r(   )rP   r   ÚtuplerR   rS   Úitemsr.   rI   rT   r   Ú
with_valueÚgetattrr1   r2   r3   r4   r5   r6   r7   r8   )rU   Úunwrapped_argsÚkre   Úunwrapped_kwargsÚbaseÚ_wrapped_strategyÚmethodÚfnÚlocationr;   r@   r=   rA   rB   s                  rC   r/   zLazyStrategy.wrapped_strategyy   s§  € à×"Ñ"Ñ*Ü2Ð3LÈdÔSä"Ñ"MÀÇÁÔ"MÓMˆNà48·M±M×4GÑ4GÓ4I÷ Ù,0¨A¨q�Ô$ QÓ'Ñ'ð Ðñ  ð !�4—=‘= $§+¡+Ð?°·±Ñ?ˆDØ §¡Ò,Ð1AÀTÇ]Á]Ò1RØ$(Ñ!à$1 D§M¡M°>Ð$VÐEUÑ$VÐ!Ø(,×(=Ñ(=ò OÑ$�˜˜Hô /×9Ñ9¸(ÓCñ OØ(J¬Ð0AÀ6Ó(JÈ2Ó(NÐ%÷Oð OðOð
 '8ˆDÔ#Ø×&Ñ&Ð2¨dÐ2Ð&¨dÐ2×2×2Õ2Ð&¨d×2×2×2×2×2Ñ2ˆt×2×2Ó2ˆt×2×2Ô2Ð&×2×2Ò2¨d×2×2×2×2×2×2Ó2Ø×&Ñ&Ð&ùó! ÷Oñ Oús   ÁG$Ã-G*Ç*G4	©rz   c          	      óÆ   — | j                   }|r|› d|› dt        |«      › d�}t        | j                  | j                  | j
                  g | j                  ¢|||f‘­|¬«      S )Nú.ú(ú)rF   )rQ   r   r*   rI   rR   rS   rT   )rU   rx   ry   rz   Úrepr_s        rC   Ú__with_transformzLazyStrategy.__with_transform‘   sn   € Ø×%Ñ%ˆÙØ�g˜Q˜v˜h aÔ(GÈÓ(KÐ'LÈAÐNˆEÜØ�M‰MØ�K‰KØ�M‰MØG˜×.Ñ.ÐG°¸¸XÐ0FÑGØô
ð 	
rW   c                 ó&   — | j                  d|«      S )NÚmap)Ú_LazyStrategy__with_transform)rU   Úpacks     rC   rƒ   zLazyStrategy.map�   s   € Ø×$Ñ$ U¨DÓ1Ð1rW   c                 ó:   — | j                  d|t        «       ¬«      S )NÚfilterr{   )r„   r   )rU   Ú	conditions     rC   r‡   zLazyStrategy.filter    s%   € Ø×$Ñ$Ø�iÔ*BÓ*Dð %ó 
ð 	
rW   c                 ó²  — | j                   }t        |t        «      }|�s&t        j                  | ›d|›�«      dz   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                  «        y )Nz returned non-strategy z7
>assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}r)   Úwr   )r   Úpy1r   r    )r/   r)   r   r1   Ú_format_assertmsgr3   r4   r5   r6   r7   r8   Úvalidate)rU   rŠ   r=   Ú@py_format5s       rC   Údo_validatezLazyStrategy.do_validate¥   s¶   € Ø×!Ñ!ˆÜ˜!œ^Ó,ÐUÒ,×UÖU°°Ð8OÐPQÈuÐ.U×U×U×U×U×UÓUŒz×U×UÓUŒz×U×U×U×U×UÒU˜!×U×UÓU˜!×U×U×U×U×UÒUœ^×U×UÓUœ^×U×UÔUÐ,×U×U×U×U×UÐUØ	�
‰
�rW   c                 ó  ‡— | j                   �€at        | j                  «      Š‰j                  j	                  «       D �cg c]  }d|j
                  j                  v sŒ|‘Œ }}t        |«      dkD  st        ˆfd„|D «       «      r/t        | j                  | j                  | j                  «      \  }}n.t        | j                  | j                  | j                  «      \  }}|j                  «       D ��ci c]1  \  }}|‰j                  vs|‰j                  |   j                  ur||“Œ3 }}}t        | j                  ||d¬«      dj!                  d„ | j"                  D «       «      z   | _         | j                   S c c}w c c}}w )NÚ
POSITIONALr   c              3   óN   •K  — | ]  }|j                   ‰j                  u–— Œ y ­wrM   )ÚdefaultÚempty)rl   ÚpÚsigs     €rC   rm   z(LazyStrategy.__repr__.<locals>.<genexpr>®   s   øè ø€ Ò"KÀ! 1§9¡9°C·I±IÔ#=Ñ"Kùs   ƒ"%F)ÚreorderÚ c              3   óH   K  — | ]  \  }}}d |› dt        |«      › d�–— Œ y­w)r}   r~   r   N)r   )rl   rx   ry   Ú_s       rC   rm   z(LazyStrategy.__repr__.<locals>.<genexpr>½   s4   è ø€ ò á!�F˜B ð �F�8˜1Ô<¸RÓ@ÐAÀÔCñùs   ‚ ")rQ   r   rI   Ú
parametersrb   ÚkindÚnameÚlenÚanyr   rR   rS   r   rp   r“   r   ÚjoinrT   )	rU   r•   ÚposÚ_argsÚ_kwargsrt   re   Úkwargs_for_reprr–   s	           @rC   Ú__repr__zLazyStrategy.__repr__ª   sP  ø€ Ø× Ñ Ñ(Ü˜DŸM™MÓ*ˆCØ!Ÿn™n×3Ñ3Ó5ÖU˜¸ÈÏÉÏÉÒ9T’1ÐUˆCÐUÜ�3‹x˜!Š|œsÓ"KÀsÔ"KÔKÜ!=Ø—M‘M 4§;¡;°·±ó"‘�‘wô ";Ø—M‘M 4§;¡;°·±ó"‘��wð
 $ŸM™M›O÷á�A�qØ˜CŸN™NÑ*¨a°s·~±~ÀaÑ7H×7PÑ7PÑ.Pð �1‘ðˆOñ ô
 %.Ø—‘˜u o¸uô%à—‘ñ à%)×%:Ñ%:ôó ñ%ˆDÔ!ð ×$Ñ$Ð$ùò) Vùós   Á E<ÁE<Ã66FÚdatac                 ó8   — |j                  | j                  «      S rM   )Údrawr/   )rU   r¦   s     rC   Údo_drawzLazyStrategy.do_drawÃ   s   € Ø�y‰y˜×.Ñ.Ó/Ð/rW   Úvaluec                 ó8   — | j                   j                  |«      S rM   )r/   Ú_invert)rU   rª   s     rC   r¬   zLazyStrategy._invertÆ   s   € Ø×$Ñ$×,Ñ,¨UÓ3Ð3rW   )rY   N)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   ÚobjectÚdictÚstrro   r   rO   r   Úboolr]   r`   rf   Úintri   Úpropertyr/   r„   rƒ   r‡   r�   r¥   r
   r©   r	   r¬   Ú__classcell__)rV   s   @rC   r*   r*   P   sD  ø„ ñð NPØ!%ò+à˜3 ¨rÑ 2Ð2Ñ3ð+ð �vÑð+ð �S˜&�[Ñ!ð	+ð ˜%  X¨c°3¨hÑ%7¸¸t¹Ð CÑDÀcÐIÑJð+ð ˜$‘Jõ+ð$, 6ð ,¨dó ,ð,¨fð ,¸ó ,ð vð °$ó ð+˜Có +ð ð' .°Ñ"4ò 'ó ð'ð. 8<ô 

ò2ò
ó
ð
%˜#ó %ð20˜Nð 0¨ró 0ð4˜Sð 4 U¨7°C¨<Ñ%8÷ 4rW   r*   )(Úbuiltinsr3   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter1   Úcollections.abcr   r   Úinspectr   Útypingr   Úweakrefr   Úhypothesis.configurationr   Ú%hypothesis.internal.conjecture.choicer	   Ú#hypothesis.internal.conjecture.datar
   Úhypothesis.internal.reflectionr   r   r   r   Ú(hypothesis.strategies._internal.deferredr   Ú*hypothesis.strategies._internal.strategiesr   r   r   r   r   Úhypothesis.utils.threadingr   rµ   r$   r.   r*   rE   rW   rC   ú<module>rÇ      sf   ð÷ „ × .Ý Ý Ý %å KÝ 9Ý >÷ó õ F÷õ õ 3á sÐ9JÔK€ò'-ôTw4�> "Ñ%õ w4rW   