
    iX                         S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJr  S SKJr  S S	KJrJrJr  S S
KJr  \" \\S9rS r " S S\\   5      rg)    )CallableSequence)	signature)Any)WeakKeyDictionary)&check_sideeffect_during_initialization)ConjectureData)convert_keyword_argumentsconvert_positional_argumentsget_pretty_function_description	repr_call)DeferredStrategy)ExRecurTSearchStrategy)ThreadLocal)unwrap_depthunwrap_cachec                 b   [        U [        [        45      (       d  U $  [        R                  U    $ ! [
         a     Of = fU [        R                  U '   [        =R                  S-  sl         [        U R                  5      nU[        R                  U '    UR                  U R                  :X  d   eO! [         a     Of = f U R                  Ul	        O! [         a     Of = fU[        =R                  S-  sl        [        R                  S::  a  [        R                  R                  5         [        R                  S:  d   e$ ! [        =R                  S-  sl        [        R                  S::  a  [        R                  R                  5         [        R                  S:  d   ef = f)N   r   )
isinstanceLazyStrategyr   threadlocalr   KeyErrorr   unwrap_strategieswrapped_strategyforce_has_reusable_valuesAttributeErrorclear)sresults     c/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hypothesis/strategies/_internal/lazy.pyr   r      ss   a,(89::''**  #$KQ!-"1#5#56&,  #	33q7R7RRRR 			/0/J/JF, 		   A% ##q($$**,''1,,, 	  A% ##q($$**,''1,,,sa   2 
??/(E B5 4E 5
C?E CE C E 
C%"E $C%%E A#F.c                   0  ^  \ rS rSrSrSSS.S\S\\   4   S\\	   S	\
\\	4   S
\\\\S\4   4   S4   S\S-  4
U 4S jjjrS\S\4S jrS\S\4S jrS\S\4S jrS\4S jr\S\\   4S j5       rS rS rS rSS jrS\4S jrS\S\4S jrSrU =r $ )r   B   zA 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kwargsr'   r(   c                l   > [         TU ]  5         S U l        XPl        Xl        X l        X0l        X@l        g N)super__init___LazyStrategy__wrapped_strategy_LazyStrategy__representationr)   _LazyStrategy__args_LazyStrategy__kwargs_transformations)selfr)   r*   r+   r'   r(   	__class__s         r"   r/   LazyStrategy.__init__I   s3     	=A,6  *    recurreturnc                 &    U" U R                   5      $ r-   r   r5   r9   s     r"   calc_is_emptyLazyStrategy.calc_is_emptyZ       T**++r8   c                 &    U" U R                   5      $ r-   r<   r=   s     r"   calc_has_reusable_values%LazyStrategy.calc_has_reusable_values]   r@   r8   c                     U R                   U R                  R                  5       4 H7  nU H.  n[        U[        5      (       d  M  UR
                  (       a  M-      g   M9     g)NFT)r2   r3   valuesr   r   is_cacheable)r5   r9   sourcevs       r"   calc_is_cacheableLazyStrategy.calc_is_cacheable`   sI    {{DMM$8$8$:;Fa00   < r8   c                 .    U R                   R                  $ r-   )r   label)r5   s    r"   
calc_labelLazyStrategy.calc_labelg   s    $$***r8   c                 (   U R                   c  [        SU 5        [        S U R                   5       5      nU R                  R                  5        VVs0 s H  u  p#U[        U5      _M     nnnU R                  " U R                  0 U R                  D6nXR                  :X  a  X@R                  :X  a  UnOU R                  " U0 UD6nU R                   H  u  px[        Xg5      " U5      nM     X`l         U R                   c   eU R                   $ s  snnf )Nzlazy evaluation of {!r}c              3   8   #    U  H  n[        U5      v   M     g 7fr-   )r   ).0r    s     r"   	<genexpr>0LazyStrategy.wrapped_strategy.<locals>.<genexpr>o   s     "MA#4Q#7#7s   )
r0   r   tupler2   r3   itemsr   r)   r4   getattr)	r5   unwrapped_argskrH   unwrapped_kwargsbase_wrapped_strategymethodfns	            r"   r   LazyStrategy.wrapped_strategyj   s    ""*23LdS""M"MMN48MM4G4G4I 4IDA$Q''4I    ==$++??D,1A]]1R$(!$(MM>$VEU$V!"33
$+,=$Fr$J! 4&7#&&222&&& s   Dc                     U R                   nU(       a  U SU S[        U5       S3n[        U R                  U R                  U R
                  / U R                  QX4P7US9$ )N.()r&   )r1   r   r   r)   r2   r3   r4   )r5   r\   r]   repr_s       r"   __with_transformLazyStrategy.__with_transform   si    %%gQvha(G(K'LANEMMKKMM=..==
 	
r8   c                 &    U R                  SU5      $ )Nmap_LazyStrategy__with_transform)r5   packs     r"   rg   LazyStrategy.map   s    $$UD11r8   c                 &    U R                  SU5      $ )Nfilterrh   )r5   	conditions     r"   rm   LazyStrategy.filter   s    $$Xy99r8   c                     U R                   n[        U[        5      (       d   U < SU< 35       eUR                  5         g )Nz returned non-strategy )r   r   r   validate)r5   ws     r"   do_validateLazyStrategy.do_validate   s;    !!!^,,U8OPQu.UU,	

r8   c                 *  ^ U R                   Gcn  [        U R                  5      mTR                  R	                  5        Vs/ s H!  nSUR
                  R                  ;   d  M  UPM#     nn[        U5      S:  d  [        U4S jU 5       5      (       a.  [        U R                  U R                  U R                  5      u  p4O-[        U R                  U R                  U R                  5      u  p4UR                  5        VVs0 s H5  u  pVUTR                  ;  d  UTR                  U   R                  Ld  M3  XV_M7     nnn[        U R                  X7SS9SR!                  S U R"                   5       5      -   U l         U R                   $ s  snf s  snnf )N
POSITIONALr   c              3   R   >#    U  H  oR                   TR                  Lv   M     g 7fr-   )defaultempty)rQ   psigs     r"   rR   (LazyStrategy.__repr__.<locals>.<genexpr>   s     "Ks!99CII#=ss   $'F)reorder c              3   J   #    U  H  u  pS U S[        U5       S3v   M     g7f)r`   ra   rb   N)r   )rQ   r\   r]   s      r"   rR   r|      s/      "7JF F81<R@AC"7s   !#)r1   r   r)   
parametersrE   kindnamelenanyr   r2   r3   r
   rU   rx   r   joinr4   )	r5   rz   pos_args_kwargsrX   rH   kwargs_for_reprr{   s	           @r"   __repr__LazyStrategy.__repr__   sS     (DMM*C!nn335U59T15CU3x!|s"Ks"KKK!=MM4;;"w ";MM4;;"
 $MMO+DACNN*as~~a7H7P7P.P +  
 %.uu% "&"7"7 %D! $$$) Vs   F
#F
2F8Fdatac                 8    UR                  U R                  5      $ r-   )drawr   )r5   r   s     r"   do_drawLazyStrategy.do_draw   s    yy..//r8   )__args__kwargs__representation__wrapped_strategyr4   r)   )r:   N)!__name__
__module____qualname____firstlineno____doc__r   r   r   r   objectdictstrrT   r   r/   r   boolr>   rB   rI   intrM   propertyr   ri   rg   rm   rs   r   r	   r   __static_attributes____classcell__)r6   s   @r"   r   r   B   s'    BD!%+3r 223+ v+ S&[!	+ %Xc3h%7 78#=>+ $J+ +",6 ,d ,,f , ,v $ +C + '."4 ' '(

2:
%# %20N 0r 0 0r8   r   N)collections.abcr   r   inspectr   typingr   weakrefr   hypothesis.configurationr   #hypothesis.internal.conjecture.datar	   hypothesis.internal.reflectionr
   r   r   r   (hypothesis.strategies._internal.deferredr   *hypothesis.strategies._internal.strategiesr   r   r   hypothesis.utils.threadingr   r   r   r   r   r%   r8   r"   <module>r      sX    /   % K >  F Q Q 2s9JK -Fn0>"% n0r8   