Ë
    iKêjV  ã                   óÆ  — U d Z ddlZddlZddlZ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
mZ ddlmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZmZ dd	lmZmZ dd
lmZmZ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* erddl+m,Z,  ed«      Z-de.de/fd„Z0de1de2fd„Z3dede2fd„Z4dddœdede/de/defd„Z5d ede/fd!„Z6	 	 dAde
d"ef   d#e7d$   d%e8e1e d&ef   f   dz  de9e1   fd'„Z:ded#ee.   d%e8e1e.f   de7e7e.d"f   e8e1e.f   f   fd(„Z;ded#ee.   d%e8e1e.f   de7e7e.d"f   e8e1e.f   f   fd)„Z<d#ejz                  d*ede/fd+„Z>d,ede/fd-„Z?d,e.de1dz  fd.„Z@d,e.de1fd/„ZAd0ede1fd1„ZBdd2œd,ed#ee.   d%e8e1e.f   d3e/de1f
d4„ZCd5e1ddfd6„ZDi ZEe8e1ef   eFd7<   d8e1defd9„ZGd:j‘                  «       ZIej”                  fd*ed;eKdedz  fd<„ZLd=„ ZMd>„ ZNde-de
e
ge-f   fd?„ZOd,e
de/fd@„ZPy)Bz…This file can approximately be considered the collection of hypothesis going
to really unreasonable lengths to produce pretty output.é    N)ÚCallableÚSequence)ÚpartialÚwraps)Ú	ParameterÚ	Signature)ÚStringIO)Ú_inst)ÚCOMMENTÚgenerate_tokensÚ
untokenize)ÚEllipsisTypeÚ
ModuleType)ÚTYPE_CHECKINGÚAnyÚTypeVarÚUnion)ÚHypothesisWarning)Úlambda_sources)Úis_typed_named_tuple)Únot_set)Úpretty)ÚSearchStrategyÚTÚobjÚreturnc                 ó   — t        | d«      S )z/Determine if the given argument is a mock type.Ú(hypothesis_internal_is_this_a_mock_check)Úhasattr)r   s    úc/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/reflection.pyÚis_mockr!   +   s   € ô �3ÐBÓCÐCó    Úsrcc                 ó¬  — 	 t        j                  | «      j                  d   }dj                  | j	                  d¬«      |j
                  dz
  d «      } 	 t        d„ t        t        | «      j                  «      D «       «      } dj                  d	„ | j	                  «       D «       «      j                  «       S # t        $ r Y Œnw xY w# t        $ r Y ŒNw xY w)
aY  Return the source code as bytes, without decorators or comments.

    Because this is part of our database key, we reduce the cache invalidation
    rate by ignoring decorators, comments, trailing whitespace, and empty lines.
    We can't just use the (dumped) AST directly because it changes between Python
    versions (e.g. ast.Constant)
    r   Ú T)Úkeependsé   Nc              3   óH   K  — | ]  }|j                   t        k7  sŒ|–— Œ y ­w©N)Útyper   )Ú.0Úts     r    ú	<genexpr>z _clean_source.<locals>.<genexpr>I   s    è ø€ ò 
ØÀ!Ç&Á&ÌGÓBSŒAñ
ùs   ‚"›"ú
c              3   ó^   K  — | ]%  }|j                  «       sŒ|j                  «       –— Œ' y ­wr)   )Úrstrip)r+   Úxs     r    r-   z _clean_source.<locals>.<genexpr>O   s   è ø€ ÒH A¸Q¿X¹X½Z�Q—X‘X—ZÑHùs   ‚-˜-)ÚastÚparseÚbodyÚjoinÚ
splitlinesÚlinenoÚ	Exceptionr   r   r	   ÚreadlineÚencode)r#   Úfuncdefs     r    Ú_clean_sourcer<   7   sÂ   € ðÜ—)‘)˜C“.×%Ñ% aÑ(ˆØ�g‰g�c—n‘n¨d�nÓ3°G·N±NÀQÑ4FÐ4HÐIÓJˆð
Üñ 
Ü&¤x°£}×'=Ñ'=Ó>ô
ó 
ˆð �9‰9ÑH¨¯©Ó)9ÔHÓH×OÑOÓQÐQøô ò Ùðûô ò Ùðús$   ‚AB8 Á.C Â8	CÃCÃ	CÃCÚfunctionc                 ó>  — t        j                  «       }	 t        j                  | «      }|j	                  t        |«      «       	 |j	                  t        t        | «      «      j                  «       «       	 |j	                  | j                  «       |j                  «       S # t        t        f$ r= 	 |j	                  | j                  j                  «       «       n# t        $ r Y nw xY wY Œ©w xY w# t        $ r Y Œ†w xY w# t        $ r Y |j                  «       S w xY w)aK  Returns a string that is stable across multiple invocations across
    multiple processes and is prone to changing significantly in response to
    minor changes to the function.

    No guarantee of uniqueness though it usually will be. Digest collisions
    lead to unfortunate but not fatal problems during database replay.
    )ÚhashlibÚsha384ÚinspectÚ	getsourceÚupdater<   ÚOSErrorÚ	TypeErrorÚ__name__r:   ÚAttributeErrorÚreprÚget_signaturer8   Ú_hypothesis_internal_add_digestÚdigest)r=   Úhasherr#   s      r    Úfunction_digestrM   R   sý   € ô �^‰^Ó€Fð*Ü×Ñ Ó)ˆð 	�‰”m CÓ(Ô)ðð 	�‰”dœ=¨Ó2Ó3×:Ñ:Ó<Ô=ðà�‰�h×>Ñ>Ô?ð �=‰=‹?Ðøô- ”YÐò ð
	Ø�M‰M˜(×+Ñ+×2Ñ2Ó4Õ5øÜò 	Ùð	üðûô ò Ùðûô
 ò ØØ�=‰=‹?ÐðúsY   –B# Á1C2 Á8D Â#C/Â3)CÃC/Ã	C)Ã&C/Ã(C)Ã)C/Ã.C/Ã2	C>Ã=C>Ä	DÄDTF©Úfollow_wrappedÚeval_strÚtargetrO   rP   c                ó  ‡	— t        | dd «      }t        |t        «      rrt        j                  j                  d«      xŠ	�Qt        ˆ	fd„|D «       «      r=t        t        dt        j                  «      t        dt        j                  «      g«      S t        t        | dd «      t        «      �r| j                  }|j                  rét        j                  | «      st        j                  | «      r¿t!        t#        |j                  j%                  «       «      «      }|j&                  dk(  r„|j(                  t        j*                  u rh|j,                  j&                  j/                  d«      rC|j1                  |j                  j3                  «       D ��cg c]  \  }}|dk7  sŒ|‘Œ c}}¬	«      S |S t        j4                  d
k\  r*|s(ddlm} t        j:                  | ||j<                  ¬«      S t        j:                  | ||¬«      S c c}}w )NÚ	patchingszunittest.mockc              3   óJ   •K  — | ]  }t        |‰j                  «      –— Œ y ­wr)   )Ú
isinstanceÚ_patch)r+   ÚpÚmocks     €r    r-   z get_signature.<locals>.<genexpr>€   s   øè ø€ Ò<¨q”
˜1˜dŸk™k×*Ñ<ùs   ƒ #ÚargsÚkeywargsÚ__signature__ÚselfÚPOSITIONAL_)Ú
parameters)é   é   r   )ÚFormat)rO   Úannotation_formatrN   )ÚgetattrrU   ÚlistÚsysÚmodulesÚgetÚallr   r   ÚVAR_POSITIONALÚVAR_KEYWORDr[   r^   rA   ÚisclassÚismethodÚnextÚiterÚvaluesÚnameÚdefaultÚemptyÚkindÚ
startswithÚreplaceÚitemsÚversion_infoÚannotationlibra   Ú	signatureÚ
FORWARDREF)
rQ   rO   rP   ÚpatchesÚsigÚselfyÚkÚvra   rX   s
            @r    rI   rI   v   s˜  ø€ ô �f˜k¨4Ó0€Gä�7œDÔ!Ü—[‘[—_‘_ _Ó5Ð5ˆTÐBÜÓ<°GÔ<Ô<ää˜&¤)×":Ñ":Ó;Ü˜*¤i×&;Ñ&;Ó<ðó
ð 	
ô ”'˜& /°4Ó8¼)ÕDà×"Ñ"ˆð �>Š>œwŸ™¨vÔ6¼'×:JÑ:JÈ6Ô:RÜœ˜cŸn™n×3Ñ3Ó5Ó6Ó7ˆEà—
‘
˜fÒ$Ø—M‘M¤Y§_¡_Ñ4Ø—J‘J—O‘O×.Ñ.¨}Ô=à—{‘{Ø.1¯n©n×.BÑ.BÓ.D×T¡d a¨ÈÈVË¢ÓTð #ó ð ð ˆ
Ü
×Ñ˜7Ò"©8Ý(ô × Ñ Ø >ÀV×EVÑEVô
ð 	
ô ×Ñ˜V°NÈXÔVÐVùó  Us   ÆH
Æ!H
Úparamc                 ó–   — | j                   t        j                  u xr, | j                  t        j                  t        j
                  fv S r)   )rq   r   rr   rs   ÚPOSITIONAL_OR_KEYWORDÚKEYWORD_ONLY)r€   s    r    Úarg_is_requiredr„   ¤   s>   € Ø�=‰=œIŸO™OÐ+ò °·
±
Ü×'Ñ'Ü×Ñð?ð 1ð r"   .rY   )úSearchStrategy[Any].Úkwargsr…   c                 óÌ  — |€i n|}t        j                  | «      rHt        | «      r=| j                  }t	        |«      t	        |dt        |«       «      z  }t	        |«      |z
  S 	 t        | «      }t        |j                  j                  «       «      t        |«      d D ��ch c]  \  }}t        |«      r||vr|’Œ c}}S # t        t        f$ r t	        «       cY S w xY wc c}}w )a…  Return a set of names of required args to target that were not supplied
    in args or kwargs.

    This is used in builds() to determine which arguments to attempt to
    fill from type hints.  target may be any callable (including classes
    and bound methods).  args and kwargs should be as they are passed to
    builds() - that is, a tuple of values and a dict of names: values.
    N)rA   rk   r   Ú_fieldsÚsetÚlenrI   Ú
ValueErrorrE   rd   r^   rv   r„   )rQ   rY   r†   ÚfieldsÚprovidedr|   rp   r€   s           r    Úrequired_argsrŽ   «   sÖ   € ð �>‰R v€Fä‡��vÔÔ#7¸Ô#?Ø—‘ˆÜ�v“;¤ V¨K¬c°$«iÐ%8Ó!9Ñ9ˆÜ�6‹{˜XÑ%Ð%ðÜ˜FÓ#ˆô
   §¡× 4Ñ 4Ó 6Ó7¼¸D»	¸ÐD÷áˆD�%Ü˜5Ô! d°&Ñ&8ò 	óð øô œ	Ð"ò Ü‹uŠðüós   Á%C Â"C ÃCÃCc                 óp   — t        | d¬«      } |j                  |i |¤Ž}|j                  |j                  fS )zØReturns a pair of a tuple and a dictionary which would be equivalent
    passed as positional and keyword args to the function. Unless function has
    kwonlyargs or **kwargs the dictionary will always be empty.
    F©rO   )rI   ÚbindrY   r†   )r=   rY   r†   r|   Úbounds        r    Úconvert_keyword_argumentsr“   Ê   s8   € ô ˜°Ô
7€CØˆC�H‰H�dÐ%˜fÑ%€EØ�:‰:�u—|‘|Ð#Ð#r"   c                 óú  — t        | d¬«      } |j                  |i |¤Ž}g }t        |j                  «      }|j                  j                  «       D �]  }|j                  |v sŒ|j                  |j                  u r+|j                  |j                  |j                  «      «       ŒV|j                  |j                  u r+|j                  |j                  |j                  «      «       Œ™|j                  |j                  u sŒ²t        ||j                     «      j                  t        |«      |j                  hz
  «      sJ ‚|j!                  |j                  |j                  «      «       �Œ t#        |«      |fS )z³Return a tuple (new_args, new_kwargs) where all possible arguments have
    been moved to kwargs.

    new_args will only be non-empty if function has pos-only args or *args.
    Fr�   )rI   r‘   ÚdictÚ	argumentsr^   ro   rp   rs   ÚPOSITIONAL_ONLYÚappendÚpopri   Úextendrj   r‰   Ú
isdisjointrC   Útuple)r=   rY   r†   r|   r’   Únew_argsÚ
new_kwargsrW   s           r    Úconvert_positional_argumentsrŸ   Ö   s#  € ô ˜°Ô
7€CØˆC�H‰H�dÐ%˜fÑ%€EØ€HÜ�e—o‘oÓ&€JØ�^‰^×"Ñ"Ó$ó :ˆØ�6‰6�ZÒØ�v‰v˜×*Ñ*Ñ*Ø—‘ 
§¡¨q¯v©vÓ 6Õ7Ø—‘˜1×+Ñ+Ñ+Ø—‘ 
§¡¨q¯v©vÓ 6Õ7Ø—‘˜1Ÿ=™=Ò(Ü˜: a§f¡fÑ-Ó.×9Ñ9¼#¸j»/ÈQÏVÉVÈHÑ:TÔUÐUÐUØ×!Ñ! *§.¡.°·±Ó"8Ö9ð:ô �‹?˜JÐ&Ð&r"   r|   c                 óþ  — g }| j                   D ]-  }|j                  |j                  t        j                  f«       Œ/ | j
                  D ]-  }|j                  |j                  t        j                  f«       Œ/ | j                  �5|j                  | j                  j                  t        j                  f«       | j                  D ]-  }|j                  |j                  t        j                  f«       Œ/ | j                  �5|j                  | j                  j                  t        j                  f«       ||j                  j                  «       D �cg c]  }|j                  |j                   f‘Œ c}k(  S c c}w r)   )Úposonlyargsr˜   Úargr   r—   rY   r‚   Úvarargri   Ú
kwonlyargsrƒ   Úkwargrj   r^   ro   rp   rs   )rY   r|   ÚexpectedÚnoderW   s        r    Úast_arguments_matches_signaturer¨   î   s  € Ø&(€HØ× Ñ ò ?ˆØ�‰˜Ÿ™¤9×#<Ñ#<Ð=Õ>ð?à—	‘	ò EˆØ�‰˜Ÿ™¤9×#BÑ#BÐCÕDðEà‡{�{ÐØ�‰˜Ÿ™Ÿ™¬)×*BÑ*BÐCÔDØ—‘ò <ˆØ�‰˜Ÿ™¤9×#9Ñ#9Ð:Õ;ð<à‡z�zÐØ�‰˜Ÿ™Ÿ™¬×)>Ñ)>Ð?Ô@Ø°#·.±.×2GÑ2GÓ2IÖJ¨Q˜Ÿ™ §¡Ò(ÒJÑJÐJùÒJs   ÅE:Úfc                 ó6  ‡— 	 t        j                  t        j                  t	        j
                  | «      «      «      }t        t        t        | «      j                  «      «      Št        ˆfd„t        j                  |«      D «       «      S # t        $ r Y yw xY w)z&Is the given name referenced within f?Tc              3   óÀ   •K  — | ]U  }t        |t        j                  «      xr5 |j                  ‰k(  xr$ t        |j                  t        j
                  «      –— ŒW y ­wr)   )rU   r2   ÚNameÚidÚctxÚLoad)r+   r§   rp   s     €r    r-   z8is_first_param_referenced_in_function.<locals>.<genexpr>  sR   øè ø€ ò ð ô 	�4œŸ™Ó"ò 	+Ø�G‰G�t‰Oò	+ä�t—x‘x¤§¡Ó*ó	+ñùs   ƒAA)r2   r3   ÚtextwrapÚdedentrA   rB   r8   rm   rn   rI   r^   ÚanyÚwalk)r©   Útreerp   s     @r    Ú%is_first_param_referenced_in_functionrµ   ý   s~   ø€ ðÜ�y‰yœŸ™¬×):Ñ):¸1Ó)=Ó>Ó?ˆô ””] 1Ó%×0Ñ0Ó1Ó2€DÜó ô —H‘H˜T“Nô	ó ð øô ò Ùðús   ƒ;B Â	BÂBc                 óp   — 	 | j                   }|j                  › d|j                  › �S # t        $ r Y yw xY w)zJReturn a ``filename:lineno`` string for where ``f`` was defined, if known.ú:N)Ú__code__Úco_filenameÚco_firstlinenorG   )r©   Úcodes     r    Úfunction_locationr¼     sA   € ðØ�z‰zˆØ×"Ñ"Ð# 1 T×%8Ñ%8Ð$9Ð:Ð:øÜò Ùðús   ‚&) ©	5´5c                 óh  — t        | t        «      s!t        t        | dd «      «      rt	        | «      S t        | t
        «      rt	        | «      S t        | d«      st        | «      S | j                  }|dk(  rt        j                  | «      S t        | t        j                  t        j                  f«      rN| j                  }|�>t        j                   |«      s)t        j"                  |«      s|t$        u rd|› �S |›d|› �S |S t        |t&        «      r t        t(        |t+        «       «      | u rd|› �S |S )NÚ_repr_pretty_rF   ú<lambda>zrandom.ú.zdict.)rU   r*   Úcallablerc   r   r   r   rH   rF   r   Úlambda_descriptionÚtypesÚ
MethodTypeÚBuiltinMethodTypeÚ__self__rA   rk   ÚismoduleÚglobal_random_instanceÚstrr•   Úobject)r©   rp   r\   s      r    Úget_pretty_function_descriptionrË     s  € ô �aœÔ¤8¬G°A°ÈÓ,MÔ#NÜ�a‹yÐÜ�!”WÔÜ�a‹yÐÜ�1�jÔ!Ü�A‹wˆØ�:‰:€DØˆzÒÜ×0Ñ0°Ó3Ð3Ü	�Aœ×(Ñ(¬%×*AÑ*AÐBÔ	CØ�z‰zˆð �¤§¡°Ô 5¼×9IÑ9IÈ$Ô9OØÔ-Ñ-Ø   Ð'Ð'Ø�X˜Q˜t˜fÐ%Ð%ð €Kô 
�Dœ#Ô	¤7¬4°´v³xÓ#@ÀAÑ#Eà�t�fˆ~ÐØ€Kr"   r   c                 óº   — t        j                  | «      rt        | «      S t        | t        «      r| j
                  S t        j                  ddt        | «      «      S )Nz(\[)~([A-Z][a-z]*\])z
\g<1>\g<2>)	rA   Ú
isfunctionrË   rU   r*   rF   ÚreÚsubr   )r   s    r    ÚnicereprrÐ   2  sI   € Ü×Ñ˜!ÔÜ.¨qÓ1Ð1Ü	�A”tÔ	Ø�z‰zÐô �v‰vÐ-¨}¼fÀQ»iÓHÐHr"   )ÚreorderrÑ   c          
      ó  — |rt        | ||«      \  }}|D �cg c]  }t        |«      ‘Œ }}t        | «      j                  j	                  «       D ]y  }|j
                  |v sŒ|j                  j
                  j                  d«      rŒ8|j                  |j
                  › dt        |j                  |j
                  «      «      › �«       Œ{ |r2t        |«      D ]$  }|j                  |› dt        ||   «      › �«       Œ& t        | «      }|j                  d«      r
d|v rd|› d�}t        |«      t        d„ |D «       «      z   }	|	dkD  r#t        j                  d	|	d
z  › d�t        d¬«       |dz   dj!                  |«      z   dz   S c c}w )NÚVAR_ú=Úlambdar·   ú(ú)c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr)   )rŠ   )r+   Úbs     r    r-   zrepr_call.<locals>.<genexpr>O  s   è ø€ Ò3¨œc !ŸfÑ3ùs   ‚i0u  zSGenerating overly large repr. This is an expensive operation, and with a length of iè  z` kB is unlikely to be useful. Use -Wignore to ignore the warning, or -Werror to get a traceback.é   )Ú
stacklevelú, )rŸ   rÐ   rI   r^   ro   rp   rs   rt   r˜   r™   ÚsortedrŠ   ÚsumÚwarningsÚwarnr   r5   )
r©   rY   r†   rÑ   r1   ÚbitsrW   ÚaÚrepÚrepr_lens
             r    Ú	repr_callrå   <  sz  € ñ Ü3°A°t¸VÓD‰ˆˆfà!%Ö&˜AŒH�Q�KÐ&€DÐ&ä˜1Ó×(Ñ(×/Ñ/Ó1ò DˆØ�6‰6�VÒ A§F¡F§K¡K×$:Ñ$:¸6Õ$BØ�K‰K˜1Ÿ6™6˜( !¤H¨V¯Z©Z¸¿¹Ó-?Ó$@Ð#AÐBÕCðDñ Ü˜“ò 	6ˆAØ�K‰K˜1˜#˜Qœx¨¨q©	Ó2Ð3Ð4Õ5ð	6ô �1‹+€CØ
‡~�~�hÔ C¨3¡JØ�#��aˆjˆÜ�3‹xœ#Ñ3¨dÔ3Ó3Ñ3€HØ�%ÒÜ�‰ðØ# T™>Ð*ð +DðDô Øõ	
ð �‰9�t—y‘y “Ñ&¨Ñ,Ð,ùò+ 's   —FÚ
identifierc                 ó@   — | j                  «       st        | ›d�«      ‚y )Nz! is not a valid python identifier)Úisidentifierr‹   )ræ   s    r    Úcheck_valid_identifierré   [  s&   € Ø×"Ñ"Ô$Ü˜J˜>Ð)JÐKÓLÐLð %r"   Ú
eval_cacheÚsourcec                 ó  — 	 t         |    S # t        $ r Y nw xY wt        j                  | j	                  «       «      j                  «       }t        d|z   «      }|`t        | t        «      sJ ‚t        | |j                  «       |t         | <   |S )NÚhypothesis_temporary_module_)rê   ÚKeyErrorr?   r@   r:   Ú	hexdigestr   Ú__spec__rU   rÉ   ÚexecÚ__dict__)rë   rï   Úresults      r    Úsource_exec_as_modulerô   c  s‡   € ðÜ˜&Ñ!Ð!øÜò Ùðúô —‘˜vŸ}™}›Ó/×9Ñ9Ó;€IÜÐ6¸ÑBÓC€Fð 	ˆÜ�fœcÔ"Ð"Ð"Üˆ�—‘Ô!Ø„JˆvÑØ€Ms   ‚ ‹	–z½
from contextlib import aclosing, closing

from hypothesis.utils.conventions import not_set

def accept({funcname}):
    {def_prefix}def {name}{signature}:
        {body}
    return {name}
rs   c                 óf   — | j                   j                  «       D ]  }|j                  |u sŒ|c S  y r)   )r^   ro   rs   )r|   rs   rW   s      r    Úget_varargsrö   „  s5   € ð �^‰^×"Ñ"Ó$ò ˆØ�6‰6�TŠ>ØŠHðð r"   c                 óD  ‡ ‡‡‡‡‡— ‰ dk(  rdŠ t        ‰ «       ‰j                  D ]  }t        |«       Œ h ‰j                  £‰ ’Š‰j                  ˆfd„‰j                  j                  «       D «       D �cg c]2  }|j                  ‰j
                  u r|n|j                  t        ¬«      ‘Œ4 c}‰j
                  ¬«      Š‰j                  j                  «       D �cg c])  }|j                  j                  j                  d«      r|‘Œ+ c}Šˆˆ ˆˆˆˆfd„}|S c c}w c c}w )z\A decorator which sets the name, signature and docstring of the function
    passed into it.r¿   Ú_lambda_c              3   óV   •K  — | ]   }|j                  ‰j                  ¬ «      –— Œ" y­w))Ú
annotationN)ru   rr   ©r+   rW   ry   s     €r    r-   z,define_function_signature.<locals>.<genexpr>›  s(   øè ø€ ò àð —	‘	 Y§_¡_�	×5ñùs   ƒ&))rq   )r^   Úreturn_annotationr]   c           
      ó€  •— t        j                  | d¬«      }g }g }‰D ]\  }|j                  |j                  vr't	        |«      €|j                  |j                  «       ŒB|j                  |j                  «       Œ^ t	        ‰«      �'|j                  dt	        ‰«      j                  z   «       |D ]  }|j                  |› d|› �«       Œ ‰j                  j                  «       D ]E  }|j                  |j                  u sŒ|j                  |j                  › d|j                  › �«       ŒG t	        ‰t        j                  ¬«      }|r|j                  d|j                  z   «       dgt        dt        ‰«      d	z   «      D �cg c]  }d
|› �‘Œ	 c}z   }|D �	cg c]	  }	|	‰vsŒ|	‘Œ }
}	|
d d \  }}}|› ddj                  |«      › d�}t        j                  | «      rdd|› �}}nTt        j                  | «      rd}d|› d|› d|› d|› d|› �
}n+t        j                   | «      rd}d|› d|› d|› d�}ndd|› �}}t"        j%                  ‰|t'        ‰«      ||¬«      }t)        |«      j+                  | «      }‰|_        t/        ˆfd„‰j                  j                  «       D «       «      |_        ‰j                  j                  «       D �ci c]I  }|j2                  ‰j4                  ur/|j                  |j                  u r|j                  |j2                  “ŒK }}|r||_        ‰j                  j                  «       D �ci c]1  }|j8                  ‰j4                  ur|j                  |j8                  “Œ3 }}‰j:                  ‰j4                  ur‰j:                  |d<   |r||_        |S c c}w c c}	w c c}w c c}w )NFr�   Ú*rÔ   )rs   z**r©   r'   é   Úf_r_   rÖ   rÜ   r×   zasync zreturn await zasync with aclosing(z) as z:
            async for z in z:
                yield r%   zwith closing(z!:
            return (yield from zreturn )rp   Úfuncnamery   Ú
def_prefixr4   c              3   ó–   •K  — | ]@  }|j                   ‰j                  ur&d |j                  j                  v r|j                   –— ŒB y­w)Ú
POSITIONALN)rq   rr   rs   rp   rû   s     €r    r-   z<define_function_signature.<locals>.accept.<locals>.<genexpr>à  s<   øè ø€ ò $
àØ�y‰y 	§¡Ñ/°LÀAÇFÁFÇKÁKÑ4Oð �I�Iñ$
ùs   ƒAA	r   )rA   ry   rp   r^   rö   r˜   ro   rs   rƒ   r   rj   ÚrangerŠ   r5   ÚiscoroutinefunctionÚisasyncgenfunctionÚisgeneratorfunctionÚCOPY_SIGNATURE_SCRIPTÚformatrÉ   rô   ÚacceptÚ__doc__rœ   Ú__defaults__rq   rr   Ú__kwdefaults__rú   rü   Ú__annotations__)r©   ÚfsigÚmust_pass_as_kwargsÚinvocation_partsrW   r~   ÚvarkwÚiÚcandidate_namesÚnÚ
free_namesr  ÚgenÚvalÚ
invocationr  r4   rë   ró   Ú
kwdefaultsÚannotationsÚ	docstringrp   ÚnewsigÚpos_argsry   Ú
used_namess                        €€€€€€r    r  z)define_function_signature.<locals>.accept©  sÌ  ø€ Ü× Ñ  °5Ô9ˆØ ÐØÐØò 	0ˆAØ�v‰v˜TŸ_™_Ñ,´¸TÓ1BÐ1JØ#×*Ñ*¨1¯6©6Õ2à ×'Ñ'¨¯©Õ/ð		0ô
 �yÓ!Ð-Ø×#Ñ# C¬+°iÓ*@×*EÑ*EÑ$EÔFØ$ò 	0ˆAØ×#Ñ# q c¨¨1¨# JÕ/ð	0à×%Ñ%×,Ñ,Ó.ò 	>ˆAØ�v‰v˜Ÿ™Ò'Ø ×'Ñ'¨1¯6©6¨(°!°A·F±F°8Ð(<Õ=ð	>ô ˜I¬I×,AÑ,AÔBˆÙØ×#Ñ# D¨5¯:©:Ñ$5Ô6à˜%´U¸1¼cÀ*»oÐPQÑ>QÓ5RÖ"S° R¨ s¢8Ò"SÑSˆØ!0ÖH˜A°A¸ZÒ4G’aÐHˆ
ÐHØ'¨¨˜^Ñˆ�#�sà �z  4§9¡9Ð-=Ó#>Ð"?¸qÐAˆ
ô ×&Ñ& qÔ)Ø'¨=¸¸Ð)E˜‰JÜ×'Ñ'¨Ô*Ø!ˆJà& z l°%¸°uð =)Ø),¨¨T°#°ð 7)Ø),¨ð/ñ ô
 ×(Ñ(¨Ô+ØˆJà 
˜|¨5°°ð 62Ø25°°að9ñ ð
  " W¨Z¨LÐ#9˜ˆJä&×-Ñ-ØØÜ˜&“kØ!Øð .ó 
ˆô ' vÓ.×5Ñ5°aÓ8ˆØ"ˆŒÜ#ó $
à×)Ñ)×0Ñ0Ó2ô$
ó 
ˆÔð ×)Ñ)×0Ñ0Ó2ö
àØ�y‰y 	§¡Ñ/°A·F±F¸a¿n¹nÑ4Lð �F‰F�A—I‘IÑð
ˆ
ð 
ñ
 Ø$.ˆFÔ!ð ×)Ñ)×0Ñ0Ó2ö
àØ�|‰| 9§?¡?Ñ2ð �F‰F�A—L‘LÑ ð
ˆð 
ð
 ×&Ñ&¨i¯o©oÑ=Ø$-×$?Ñ$?ˆK˜Ñ!ÙØ%0ˆFÔ"Øˆùòq #TùÚHùòN
ùò
s   ÆN,Æ	N1Æ%N1ËAN6Í6N;)
ré   r^   ru   ro   rq   rr   r   rs   rp   rt   )	rp   r  ry   râ   rW   r  r  r  r   s	   ```   @@@r    Údefine_function_signaturer!  �  s  ý€ ð ˆzÒØˆÜ˜4Ô Ø×!Ñ!ò "ˆÜ˜qÕ!ð"ð /�9×'Ñ'Ð.¨Ð.€Jà×Ñóà"×-Ñ-×4Ñ4Ó6ôö
àð —‘˜iŸo™oÑ-‰A°1·9±9ÄW°9Ó3MÑMò
ð $Ÿ/™/ð ó 	€Fð ×%Ñ%×,Ñ,Ó.öàØ�6‰6�;‰;×!Ñ! -Ô0ò 	
ò€H÷Lñ Lð\ €Mùò}
ùòs   Á57DÃ.Dc                 ó   ‡ — ˆ fd„}|S )zÙDecorator to update the attributes of a function so that to external
    introspectors it will appear to be the target function.

    Note that this updates the function in place, it doesn't return a
    new one.
    c                 ó.  •— | j                   j                  ‰j                   j                  ‰j                   j                  ¬«      | _         ‰j                  | _        ‰j
                  | _        ‰j                  | _        d| j                  d<   ‰| _        | S )N)r¹   rº   TÚ__hypothesistracebackhide__)	r¸   ru   r¹   rº   rF   Ú
__module__r  Ú__globals__Ú__wrapped_target)r©   rQ   s    €r    r  zimpersonate.<locals>.accept  s}   ø€ ð —Z‘Z×'Ñ'ØŸ™×3Ñ3Ø!Ÿ?™?×9Ñ9ð (ó 
ˆŒ
ð —_‘_ˆŒ
Ø×(Ñ(ˆŒØ—N‘NˆŒ	Ø7;ˆ�‰Ð3Ñ4ð $ˆÔØˆr"   © )rQ   r  s   ` r    Úimpersonater)  ú  s   ø€ ôð  €Mr"   c                 óŽ   ‡ ‡— t        ‰ j                  j                  dd«      ‰ j                  t	        ‰ d¬«      «      Šˆˆ fd„}|S )Nr¿   rø   Fr�   c                 óP   •—  t        ‰«       t        ‰«       ‰| «      «      «      S r)   )r)  r   )ÚproxyÚreplace_sigrQ   s    €€r    r  zproxies.<locals>.accept  s%   ø€ Ø"Œ{˜6Ó" =¤5¨£=±¸UÓ1CÓ#DÓEÐEr"   )r!  rF   ru   r  rI   )rQ   r  r-  s   ` @r    Úproxiesr.    s?   ù€ Ü+Ø�‰×Ñ 
¨JÓ7Ø�‰Ü�f¨UÔ3ó€KõFð €Mr"   c                 ó„  — 	 | j                   }t        t	        j
                  | «      «      }|j                  |dz   k7  s|j                  dkD  ry|rd„ nd„ }	 |j                  |j                   j                  k(  S # t        $ r- 	 | j                  } | j                   }n# t        $ r Y Y yw xY wY Œ¡w xY w# t        $ r Y yw xY w)NFr'   r   c                 ó   — |S r)   r(  )r\   r1   s     r    ú<lambda>z&is_identity_function.<locals>.<lambda>5  s   €  € r"   c                 ó   — | S r)   r(  )r1   s    r    r1  z&is_identity_function.<locals>.<lambda>5  s   € À€ r"   )	r¸   rG   Ú__call__ÚintrA   rl   Úco_argcountÚco_kwonlyargcountÚco_code)r©   r»   Ú
bound_argsÚtemplates       r    Úis_identity_functionr:  "  sÉ   € ðØ�z‰zˆô ”W×%Ñ% aÓ(Ó)€JØ×Ñ˜:¨™>Ò)¨T×-CÑ-CÀaÒ-GØñ '1Ò!±{€HðØ�|‰|˜x×0Ñ0×8Ñ8Ñ8Ð8øô% ò ð	Ø—
‘
ˆAØ—:‘:‰DøÜò 	Úð	úñ ðûô& ò ñ
 ðúsG   ‚A: Á"B3 Á:	B0ÂBÂB0Â	B*Â&B0Â)B*Â*B0Â/B0Â3	B?Â>B?)r(  N)Qr  r2   r?   rA   rÎ   re   r°   rÃ   rß   Úcollections.abcr   r   Ú	functoolsr   r   r   r   Úior	   Úrandomr
   rÈ   Útokenizer   r   r   r   r   Útypingr   r   r   r   Úhypothesis.errorsr   Úhypothesis.internalr   Úhypothesis.internal.compatr   Úhypothesis.utils.conventionsr   Úhypothesis.vendor.prettyr   Ú*hypothesis.strategies._internal.strategiesr   r   rÊ   Úboolr!   rÉ   Úbytesr<   rM   rI   r„   rœ   r•   r‰   rŽ   r“   rŸ   r–   r¨   rµ   r¼   rË   rÐ   rå   ré   rê   r  rô   Úlstripr	  ri   r4  rö   r!  r)  r.  r:  r(  r"   r    ú<module>rJ     sS  ðò<ó Û Û Û 	Û 
Û Û Û ß .ß $ß (Ý Ý 2ß 9Ñ 9ß *ß 5Ó 5å /Ý .Ý ;Ý 0Ý +áÝIáˆCƒL€ð	D�ð 	D˜Dó 	DðR�sð R˜uó Rð6!˜cð ! eó !ðJ ,0À%ò+WØð+WØ$(ð+WØ;?ð+Wàó+Wð\˜9ð ¨ó ð /1ØKOñØ�S˜#�XÑðà
Ð*Ñ
+ðð ��eÐ1°<Ð?Ñ@Ð@ÑAÀDÑHðð 	ˆ�Xó	ð>	$Øð	$Ø! &Ñ)ð	$Ø37¸¸V¸Ñ3Dð	$à
ˆ5�˜�Ñ˜t C¨ KÑ0Ð0Ñ1ó	$ð'Øð'Ø! &Ñ)ð'Ø37¸¸V¸Ñ3Dð'à
ˆ5�˜�Ñ˜t C¨ KÑ0Ð0Ñ1ó'ð0K¨#¯-©-ð K¸ið KÈDó Kð¨Sð °Tó ð˜ð  C¨$¡Jó ð vð °#ó ð:I�ð I˜ó Ið SWò-Ø
ð-Ø˜6Ñ"ð-Ø,0°°f°Ñ,=ð-ØKOð-àó-ð>M sð M¨tó Mð
 %'€
ˆD��j�Ñ!Ó &ð #ð ¨*ó ð*	÷ �FƒHð ð !*× 8Ñ 8ñØ	ðØðà�ÑóòjòZð6
�Að 
˜( H :¨q =Ñ1ó 
ð˜Hð ¨ô r"   