
    i?9                        S SK r S SKrS SKrS SKJr  S SKJrJrJr  S SK	J
r
  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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$  S SK%J&r&  \S\'S\(4S j5       r) " S S\$\(   5      r*Sr+Sr, " S S\\(   5      r-S r.Sr/\S\0\\4   4S j5       r1 " S S\$5      r2g)    N)
Collection)cache	lru_cachepartial)cast)HypothesisWarningInvalidArgument)charmap)
Categories)ConjectureData)COLLECTION_DEFAULT_MAX_SIZE)max_lenmin_len)IntervalSet)get_pretty_function_description)ListStrategy)unwrap_strategies)OneOfStrategySampledFromStrategySearchStrategy)prettycreturnc                     [        U [        5      (       d'  [        [        U 5      5      n[	        SU < SU S35      e[        U 5      S:w  a  [	        SU < S[        U 5       S35      eU $ )NzGot non-string z (type )   zGot z	 (length z != 1))
isinstancestrr   typer	   len)r   type_s     f/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hypothesis/strategies/_internal/strings.py_check_is_single_characterr#   %   sg     a/Q8uGE7!DEE
1v{QE3q6(&ABBH    c                      ^  \ rS rSrSrSS\S\S-  SS4U 4S jjjr\SSSSSSS	.S
\S-  S\	S-  S\	S-  S\
S-  S\\   S\\   SS 4S jj5       r\S\\-  SS 4S j5       rS\4S jrS\S\4S jrSrU =r$ )OneCharStringStrategy3   zAA strategy which generates single character strings of text type.N	intervals
force_reprr   c                 h   > [         TU ]  5         [        U[        5      (       d   eXl        X l        g N)super__init__r   r   r(   _force_repr)selfr(   r)   	__class__s      r"   r-   OneCharStringStrategy.__init__6   s,    )[1111"%r$    )codecmin_codepointmax_codepoint
categoriesexclude_charactersinclude_charactersr3   r4   r5   r6   r7   r8   c          
      x   [        U=(       d    S5      R                  [        R                  " 5       5      (       d   e[        R                  " UUUUUS9nUb  U[        R
                  " U5      -  nSR                  S SU4SU4SU4SU4S	U4S
U44 5       5      nU(       d  [        SU 35      eU " USU S3S9$ )N )r4   r5   r6   r7   r8   , c              3      #    U  H\  u  pUS ;  d  M  US:X  a?  [        [        [        U5      5      [        [        R                  " 5       5      S1-
  :X  a  MR  U SU< 3v   M^     g7f))Nr2   r6   Cs=N)setr   r   r
   r6   ).0kvs      r"   	<genexpr>=OneCharStringStrategy.from_characters_args.<locals>.<genexpr>R   sk      
 
"  \!Z+,G4F4F4H0ITF0RR qc1%Ls   A&AA&A&r3   r4   r5   r6   r7   r8   zLNo characters are allowed to be generated by this combination of arguments: zcharacters(r   r)   )r?   issubsetr
   r6   queryintervals_from_codecjoinr	   )	clsr3   r4   r5   r6   r7   r8   r(   	_arg_reprs	            r"   from_characters_args*OneCharStringStrategy.from_characters_args<   s     :#$--g.@.@.BCCCCMM''!11
	 55e<<III 
 %  -0 -0z*%'9:%'9:
 
	" !--6K9  9;yk)CDDr$   alphabetc                 F   [        U[        5      (       a  U R                  SUS9$ [        U[        5      (       d   e[	        U5      n[        X 5      (       a  U$ [        U[
        5      (       a8  UR                   H  n[        U5        M     U R                  SUR                  S9$ [        U[        5      (       aW  [        5       nUR                   H-  nUR                  U R                  U5      R                  5      nM/     U " U[        U5      S9$ [        SU< S35      e)Nr:   r6   r8   rE   z	alphabet=z2 must be a sampled_from() or characters() strategy)r   r   rL   r   r   r   elementsr#   r   r   element_strategiesunionfrom_alphabetr(   reprr	   )rJ   rN   char_strategyr   r(   ss         r"   rT   #OneCharStringStrategy.from_alphabetj   s   h$$++rh+WW(N3333)(3m))  ':;;"++*1- ,++#0#9#9 ,   }55#I"55%OOC,=,=a,@,J,JK	 6yT(^<<xkKL
 	
r$   c                 J    U R                   =(       d    SU R                  < S3$ )NzOneCharStringStrategy(r   r.   r(   )r/   s    r"   __repr__OneCharStringStrategy.__repr__   s"    O%;DNN;MQ#OOr$   datac                 8    UR                  U R                  SSS9$ )Nr   min_sizemax_size)draw_stringr(   r/   r]   s     r"   do_drawOneCharStringStrategy.do_draw   s    QGGr$   rZ   r+   )__name__
__module____qualname____firstlineno____doc__r   r   r-   classmethodintr   r   rL   r   rT   r[   r   rd   __static_attributes____classcell__r0   s   @r"   r&   r&   3   s   K&+ &3: &QU & &  !$($((,.0.0+E Tz+E Tz	+E
 Tz+E %+E 'sO+E 'sO+E 
!+E +EZ 
S>%9 
>U 
 
0P# PHN Hs H Hr$   r&   )

capitalize
expandtabsrI   lowerrsplitsplit
splitlinesswapcasetitleupper)islowerisupperisalnumisalphaisasciiisdigitisspaceistitlelstriprstripstripc                      ^  \ rS rSrU 4S jrS\4S jr/ \R                  Q\P\R                  P\R                  PS \ 5       Q7r\R                  \R                  /S \ 5       Q7rU 4S jrSrU =r$ )	TextStrategy   c                 4  > [        U R                  5      n[        U[        5      (       aP  UR	                  UR
                  U R                  U R                  [        S5      :X  a  [        S9$ U R                  S9$ SR                  [        TU ]1  U5      5      $ )Ninfr_   r2   )r   element_strategyr   r&   rb   r(   r`   ra   floatr   rI   r,   rd   )r/   r]   elemsr0   s      r"   rd   TextStrategy.do_draw   s    
 "$"7"78e233## }}e4 0	 $    $   wwuwt,--r$   r   c                 v   / n[        U R                  5      S:w  a$  UR                  [        U R                  5      5        U R                  (       a  UR                  SU R                   35        U R                  [        S5      :  a  UR                  SU R                   35        SSR                  U5       S3$ )Nzcharacters()z	min_size=r   z	max_size=ztext(r;   r   )rU   r   appendr`   ra   r   rI   )r/   argss     r"   r[   TextStrategy.__repr__   s    %%&.8KKT2234==KK)DMM?34==5<'KK)DMM?34tyy'q))r$   c              #   B   #    U  H  n[        [        U5      v   M     g 7fr+   getattrr   r@   ns     r"   rC   TextStrategy.<genexpr>   s     	3?a'#q//?   c              #   B   #    U  H  n[        [        U5      v   M     g 7fr+   r   r   s     r"   rC   r      s     	?#>a'#q//#>r   c                 Z  > [        U R                  5      nU[        R                  L a  U R                  S:  a  [        U[        5      (       a  SSKJnJ	n  [        5       u  pVUR                  U-  (       d  U" 5       $ U" SR                  [        UR                  U-  5      [        [        UR                  U-  5      [        SU R                  S-
  5      U R                  S-
  S95      R!                  [        R                  5      $ [#        U [        U5      =nb  U$ [$        TU ]A  U5      $ )Nr   r   )buildsnothingz{}{}r_   )r   r   r   isidentifierra   r   r&   hypothesis.strategiesr   r   _identifier_charactersr(   formatr   maxr`   filter_string_filter_rewriter,   )	r/   	conditionr   r   r   id_startid_continuenewr0   s	           r"   r   TextStrategy.filter   s    !$"7"78)))"5"788=$:$<!HOOh.y %eoo&@A)%//K*GH DMMA$56!]]Q.	 fS%%&	' *$Y??CLJw~i((r$   r:   )rf   rg   rh   ri   rd   r   r[   r   _nonempty_filterscasefoldencode_nonempty_names	isdecimal	isnumeric_nonempty_and_content_names_nonempty_and_content_filtersr   rm   rn   ro   s   @r"   r   r      s    .$*# *		'	' 	 	

	
 
4?	3 	% 
@#>	?%!) )r$   r   c                    X!R                   UR                  UR                  4;   aG  UR                  n[        R
                  " SU SUR                   SU SUR                   S3	[        SS9  U[        L d)  [        [        U R                  5      [        5      (       Ga  [        [        USS 5      =n[        R                  5      (       Ga  [        UR                  U5      (       Ga  S	S
KJn  UR                  S:X  aI  U[$        L a  SOSu  pg[        R&                  " XdR                  -   U-   UR(                  S9nUR*                  nUR                  S;   a  U" UUR                  S:H  U[$        L a  U R                  OS S9nU R,                  S	:  a)  UR/                  [1        [2        U R,                  5      5      nU R4                  S:  a)  UR/                  [1        [6        U R4                  5      5      nU$ UR                  S;   a)  [        R
                  " S[9        U5       S3[        SS9  U $ UR                  S:X  a<  [        R
                  " S[9        U5       S3[        SS9  U R/                  [:        5      $ X R<                  ;   aW  U R4                  S:  aG  [>        R>                  " U 5      n [A        SU R,                  5      U l        [B        R.                  " X5      $ g )NzYou applied .zB as a filter, but this allows all nonempty strings!  Did you mean z.is?   )
stacklevel__self__r   )regex_strategymatch)z^(?:r   )s   ^(?:   ))flags)searchfindall	fullmatchr   )r   rN   g      )finditerscannerzI as a filter, but this allows any string at all!  Did you mean .findall ?   rt   zJ as a filter, but this allows any nonempty string!  Did you mean .search ?r   )"rr   rw   rx   rf   warningswarnr   bytesr   r   r   r&   r   rePatternpattern%hypothesis.strategies._internal.regexr   r   compiler   r   r`   r   r   r   ra   r   r   boolr   copyr   r   )	r/   kindr   rA   r   r   caretcloserW   s	            r"   r   r      sk   ZZTZZ88MM1#Qy112 3334#S9K9K8LAO		
 EM!$"7"78:O  ')Z"FFw

SSw--H(,0CK=_LEjj!85!@VGI!CC#,,;26#+..4A
 }}q HHWWdmm<=}}u$HHWWdmm<=H#::MMvi01 2> ?!	 K7*MMvi01 2? @!	 ;;t$$
 6664==A;MyyAt}}-""433r$   a  
# ================================================

1885..1886    ; Other_ID_Start # Mn   [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
2118          ; Other_ID_Start # Sm       SCRIPT CAPITAL P
212E          ; Other_ID_Start # So       ESTIMATED SYMBOL
309B..309C    ; Other_ID_Start # Sk   [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK

# Total code points: 6

# ================================================

00B7          ; Other_ID_Continue # Po       MIDDLE DOT
0387          ; Other_ID_Continue # Po       GREEK ANO TELEIA
1369..1371    ; Other_ID_Continue # No   [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
19DA          ; Other_ID_Continue # No       NEW TAI LUE THAM DIGIT ONE

# Total code points: 12
c            	         SSS.n [         R                  5        H|  n[        R                  " SU5      =n(       d  M#  UR	                  5       u  p4[        [        USS SS9[        USS SS9S	-   5      nX==   SR                  S
 U 5       5      -  ss'   M~     [        R                  " SSU S   -   S9nU[        R                  " S5      -  nU[        R                  " SU S   S9-  nXg4$ )zISee https://docs.python.org/3/reference/lexical_analysis.html#identifiersr2   )Other_ID_StartOther_ID_Continuez([0-9A-F.]+) +; (\w+) # N      )baser   c              3   8   #    U  H  n[        U5      v   M     g 7fr+   )chr)r@   xs     r"   rC   )_identifier_characters.<locals>.<genexpr>Q  s     "84a3q664s   )LuLlLtLmLoNl_r   rP   uG   ͺำຳⸯ゛゜ﱞﱟﱠﱡﱢﱣﷺﷻﹰﹲﹴﹶﹸﹺﹼﹾﾞﾟ)MnMcNdPcr   )	_PROPLISTru   r   r   groupsrangerl   rI   r
   rG   r   from_string)charslinemcodespropspanr   r   s           r"   r   r   H  s      ";E$$&4d;;1;((*KEU2AYR0#eBCjr2JQ2NODK277"84"888K	 ' }}7'7!88H ''	S H W]]+ !45 K   r$   c                      ^  \ rS rSrS\S\S-  4U 4S jjrS\S\4S jr/ \	R                  Q\PS	 \ 5       Q7r
/ S
 \ 5       Q7rS rSrU =r$ )BytesStrategyie  r`   ra   Nc                 Z   > [         TU ]  5         Xl        Ub  UU l        g [        U l        g r+   )r,   r-   r`   r   ra   )r/   r`   ra   r0   s      r"   r-   BytesStrategy.__init__f  s,      ,H 	2M 	r$   r]   r   c                 N    UR                  U R                  U R                  5      $ r+   )
draw_bytesr`   ra   rc   s     r"   rd   BytesStrategy.do_drawm  s    t}}dmm<<r$   c              #   B   #    U  H  n[        [        U5      v   M     g 7fr+   r   r   r   s     r"   rC   BytesStrategy.<genexpr>s  s     	5_'%

_r   c              #   B   #    U  H  n[        [        U5      v   M     g 7fr+   r   r   s     r"   rC   r   v  s     	A%@'%

%@r   c                 Z    [        U [        U5      =nb  U$ [        R                  " X5      $ r+   )r   r   r   r   )r/   r   r   s      r"   r   BytesStrategy.filtery  s,    )$yAACNJ""433r$   )ra   r`   )rf   rg   rh   ri   rl   r-   r   r   rd   r   r   r   r   r   r   rm   rn   ro   s   @r"   r   r   e  sz    
 
d
 
=N =u =		'	' 
6_	5
%	A%@	A%!4 4r$   r   )3r   r   r   collections.abcr   	functoolsr   r   r   typingr   hypothesis.errorsr   r	   hypothesis.internalr
   hypothesis.internal.charmapr   #hypothesis.internal.conjecture.datar   (hypothesis.internal.conjecture.providersr   hypothesis.internal.filteringr   r    hypothesis.internal.intervalsetsr   hypothesis.internal.reflectionr   +hypothesis.strategies._internal.collectionsr   $hypothesis.strategies._internal.lazyr   *hypothesis.strategies._internal.strategiesr   r   r   hypothesis.vendor.prettyr   objectr   r#   r&   r   r   r   r   r   tupler   r   r:   r$   r"   <module>r     s     	  & / /  @ ' 2 > P : 8 J D B 
 , & S  THN3/ THn D)<$ D)NAN	* !k;&> ? ! !84N 4r$   