Ë
    iKêjÛ0  ã            	       ó
  — U 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 d dl	m
Z
 d dl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 d d	lmZmZ d d
lmZ d dlmZ eeef   Zee d<   eedz  ef   Z!ee d<   e"e!   Z#ee d<   e jH                  dede%fd„«       Z&dZ' e(ed«      r"ejR                  jT                  jV                  diZ, G d„ d«      Z-dZ.de
e   defd„Z/d„ Z0d„ Z1 e1«       Z2 e ejf                  d«      «      ji                  «        e ejf                  d«      «      ji                  «       hZ5dZ6 G d„ d e«      Z7d!ed"edeeeef   fd#„Z8d$d%œd&„Z9d'„ Z:e j                  defd(„«       Z;d)e#de<ee=e   f   fd*„Z>y)+é    N)Údefaultdict)ÚIterable)ÚIntEnum)Ú	lru_cacheÚreduce)Úsep)ÚPath)ÚSelfÚ	TypeAlias)ÚPhaseÚ	Verbosity)ÚPYPY)Úis_hypothesis_fileÚLocationÚBranchÚTraceÚfnameÚreturnc                 ó@   — t        | «      xs | j                  d«       S )Nú<)r   Ú
startswith)r   s    úc/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/scrutineer.pyÚshould_trace_filer   #   s"   € ô # 5Ó)ÒB¨U×-=Ñ-=¸cÓ-BÐCÐCó    é   Ú
monitoringÚ
trace_linec                   óŒ   — e Zd ZdZdZdeddfd„Zedefd„«       Ze	de
fd„«       Zd	„ Zd
ej                  deddfd„Zdd„Zd„ Zy)ÚTracerz&A super-simple branch coverage tracer.)Ú	_branchesÚ_previous_locationÚ_should_traceÚ_tried_and_failed_to_traceÚshould_tracer   Nc                óp   — t        «       | _        d | _        d| _        |xr | j	                  «       | _        y )NF)Úsetr    r!   r#   Ú	can_tracer"   )Úselfr$   s     r   Ú__init__zTracer.__init__=   s/   € Ü&)£eˆŒØ37ˆÔØ*/ˆÔ'Ø)Ò>¨d¯n©nÓ.>ˆÕr   c                  ó¦   — t         ryt        t        d«      r%t        j                  j	                  t
        «      d u S t        j                  «       d u S )NFr   )r   ÚhasattrÚsysr   Úget_toolÚMONITORING_TOOL_IDÚgettrace© r   r   r'   zTracer.can_traceC   s>   € åØÜ”3˜Ô%Ü—>‘>×*Ñ*Ô+=Ó>À$ÐFÐFÜ�|‰|‹~ Ð%Ð%r   c                 ó,   — t        | j                  «      S ©N)Ú	frozensetr    )r(   s    r   ÚbrancheszTracer.branchesK   s   € ä˜Ÿ™Ó(Ð(r   c                 ó  — 	 |dk(  r| j                   S |dk(  r_|j                  j                  }t        |«      r=||j                  f}| j
                  j                  | j                  |f«       || _        y y y # t        $ r Y y w xY w)NÚcallÚline)	ÚtraceÚf_codeÚco_filenamer   Úf_linenor    Úaddr!   ÚRecursionError)r(   ÚframeÚeventÚargr   Úcurrent_locations         r   r8   zTracer.traceO   s‰   € ð
	Ø˜ŠØ—z‘zÐ!Ø˜&’ØŸ™×0Ñ0�Ü$ UÔ+Ø(-¨u¯~©~Ð'>Ð$Ø—N‘N×&Ñ&¨×(?Ñ(?ÐAQÐ'RÔSØ.>�DÕ+ð ,ð !øô ò 	Ùð	ús   ‚A8 “A"A8 Á8	BÂBÚcodeÚline_numberc                 óÊ   — |j                   }t        |«      st        j                  j                  S ||f}| j
                  j                  | j                  |f«       || _        y r2   )r:   r   r,   r   ÚDISABLEr    r<   r!   )r(   rB   rC   r   rA   s        r   r   zTracer.trace_line\   sZ   € ð
 × Ñ ˆÜ  Ô'ô —>‘>×)Ñ)Ð)à! ;Ð/ÐØ�‰×Ñ˜D×3Ñ3Ð5EÐFÔGØ"2ˆÕr   c                 óî  — d| _         | j                  s| S t        t        d«      s!t        j                  | j
                  «       | S 	 t        j                  j                  t        d«       t        j                  «       D ]Z  \  }}t        j                  j                  t        |«       t        | |«      }t        j                  j                  t        ||«       Œ\ | S # t        $ r d| _         | cY S w xY w)NFr   Ú
scrutineerT)r#   r"   r+   r,   Úsettracer8   r   Úuse_tool_idr.   Ú
ValueErrorÚMONITORING_EVENTSÚitemsÚ
set_eventsÚgetattrÚregister_callback)r(   r?   Úcallback_nameÚcallbacks       r   Ú	__enter__zTracer.__enter__k   sÑ   € Ø*/ˆÔ'à×!Ò!ØˆKä”s˜LÔ)Ü�L‰L˜Ÿ™Ô$ØˆKð	Ü�N‰N×&Ñ&Ô'9¸<ÔHô %6×$;Ñ$;Ó$=ò 	RÑ ˆE�=Ü�N‰N×%Ñ%Ô&8¸%Ô@Ü˜t ]Ó3ˆHÜ�N‰N×,Ñ,Ô-?ÀÈÕQð	Rð
 ˆøô ò 	ð /3ˆDÔ+ØŠKð		ús   Á$C ÃC4Ã3C4c                 ó*  — | j                   sy t        t        d«      st        j                  d «       y | j                  ry t        j
                  j                  t        «       t        D ]'  }t        j
                  j                  t        |d «       Œ) y )Nr   )
r"   r+   r,   rH   r#   r   Úfree_tool_idr.   rK   rO   )r(   ÚargsÚkwargsr?   s       r   Ú__exit__zTracer.__exit__„   sn   € Ø×!Ò!Øä”s˜LÔ)Ü�L‰L˜ÔØà×*Ò*Øä�‰×#Ñ#Ô$6Ô7Ü&ò 	NˆEÜ�N‰N×,Ñ,Ô-?ÀÈÕMñ	Nr   )r   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Úboolr)   Ústaticmethodr'   Úpropertyr   r4   r8   ÚtypesÚCodeTypeÚintr   rR   rW   r0   r   r   r   r   3   s†   „ Ù0ð€Ið?¨ð ?°ó ?ð ð&�tò &ó ð&ð ð)˜%ò )ó ð)òð3Ø—N‘Nð3Ø14ð3à	ó3óó2Nr   r   )z/_pytest/**z/pluggy/_*.pyz/pygments/*z/conftest.pyz/syrupy/__init__.pyÚlocsc                 ó2   — dj                  d„ | D «       «      S )zºTranslate a list of glob patterns to a combined regular expression.
    Only the * and ** wildcards are supported, and patterns including special
    characters will only work by chance.ú|c              3   óú   K  — | ]s  }|j                  d t        j                  d «      «      j                  dd«      j                  dd«      j                  dt        j                  t        «      «      dz   –— Œu y­w)ú.z**z.+Ú*z[^/]+ú/z\ZN)ÚreplaceÚreÚescaper   )Ú.0Úlocs     r   ú	<genexpr>z_glob_to_re.<locals>.<genexpr>¨   sa   è ø€ ò ð ð 	�‰�CœŸ™ 3›Ó(ß	‰��uÓ	ß	‰��hÓ	ß	‰�”b—i‘i¤“nÓ	%Ø
õ		ñùs   ‚A9A;)Újoin)rc   s    r   Ú_glob_to_rerq   £   s$   € ð
 �8‰8ñ ð ôó ð r   c                 ó  — | si S | j                  «       D ��ci c]  \  }}| t        «       j                  |Ž “Œ }}} d hj                  |j                  d t        «       «      Ž }| j                  «       D ���ci c]H  \  }}|�A|t	        t        j
                  |D �cg c]  } t        «       j                  |Ž ‘Œ c}«      |z
  “ŒJ }}}}|D �ci c]  }|t        t        «      “Œ }}|j                  «       D ]5  \  }}|D ]  \  }	}
||   |	   j                  |
«       Œ ||   d    rŒ0J d«       ‚ t        t        «      }|D ]Š  }d h}t        «       }|sŒ|j                  |«      sJ d||z  › �«       ‚|j                  «       }	|j                  |	«       |	||   v r||   j                  |	«       n|j                  ||   |	   |z
  «       |rŒxŒŒ t        j                  t        t        «      «      }|j                  «       D ���ci c]R  \  }}||D �ch c]@  }|j                  |d   «      s*t        j!                  |d   «      t        j"                  ur|’ŒB c}“ŒT c}}}S c c}}w c c}w c c}}}w c c}w c c}w c c}}}w )Nz&Expected start node with >=1 successorzIntersection: r   )rL   r&   ÚunionÚpopr   Úintersectionr   r<   Ú
isdisjointÚupdaterk   Úcompilerq   ÚUNHELPFUL_LOCATIONSÚsearchÚModuleLocationÚ	from_pathÚSTDLIB)ÚtracesÚoriginÚvaluesÚunionsÚseen_passingÚvÚalways_failing_never_passingÚ	cf_graphsÚ	seen_arcsÚsrcÚdstÚexplanationsÚqueueÚseenÚfilter_regexÚ	afnp_locsrn   s                    r   Úget_explaining_locationsrŽ   ²   s�  € ñ Øˆ	àAGÇÁÃ×P©~¨v°vˆf�k”c“e—k‘k 6Ð*Ñ*ÐP€FÑPØ�D�6—<‘< §¡¨D´#³%Ó!8Ð9€Lð
 %Ÿl™l›n÷$ð $ñ ˆF�FØÐð 	””s×'Ñ'À6Ö)J¸a¨+¬#«%¯+©+°qª/Ò)JÓKØ
ññ 	ð$Ð ò $ð 9?Ö?¨f�œ¤SÓ)Ñ)Ð?€IÐ?Ø#Ÿ\™\›^ò QÑˆ�	Ø!ò 	,‰HˆC�Ø�fÑ˜cÑ"×&Ñ& sÕ+ð	,à˜Ñ  Ó&ÐPÐ(PÓPÐ&ðQô œsÓ#€LØò 
<ˆØ�ˆÜ‹uˆÚØ×#Ñ# DÔ)ÐJ¨^¸EÀD¹L¸>Ð+JÓJÐ)Ø—)‘)“+ˆCØ�H‰H�SŒMØÐ2°6Ñ:Ñ:Ø˜VÑ$×(Ñ(¨Õ-à—‘˜Y vÑ.¨sÑ3°dÑ:Ô;ó ð
<ô —:‘:œkÔ*=Ó>Ó?€Lð ".×!3Ñ!3Ó!5÷	ð 	ñ ˆF�Ið 	à ö
àØ×&Ñ& s¨1¡vÔ.ä×(Ñ(¨¨Q©Ó0¼×8MÑ8MÑMò	 ò
ñ 	
ô	ð 	ùóK Qùò *Kùô$ùò @ùò6
ùô	s<   ˜"IÁ9#I*ÂI%Â:I*ÃI1ÈI;ÈAI6ÉI;É%I*É6I;c                  óà   — t        t        j                  d«      «      j                  «       t        t        j                  d«      «      j                  «       hd„ t        j
                  D «       £S )NÚ
platstdlibÚstdlibc              3   óV   K  — | ]!  }|j                  d «      sŒt        |«      –— Œ# y­w)z.zipN)Úendswithr	   )rm   Úps     r   ro   z_stdlib_dirs.<locals>.<genexpr>ñ   s   è ø€ Ò	:�a q§z¡z°&Õ'9Œ$ˆq�'Ñ	:ùs   ‚)™))r	   Ú	sysconfigÚget_pathÚresolver,   Úpathr0   r   r   Ú_stdlib_dirsr™   ë   sW   € äŒY×Ñ Ó-Ó.×6Ñ6Ó8ÜŒY×Ñ Ó)Ó*×2Ñ2Ó4ðñ
 
;œ3Ÿ8™8Ô	:ðð r   ÚpurelibÚplatlib)zExplanation:z?    These lines were always and only run by failing test cases:c                   óH   — e Zd ZdZdZdZe ed«      dedd fd„«       «       Z	y)	r{   r   é   é   i   r˜   r   c                 óÞ   ‡— t        |«      j                  «       Št        ˆfd„t        D «       «      r| j                  S t        ˆfd„t
        D «       «      r| j                  S | j                  S )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr2   ©Úis_relative_to©rm   r”   Úresolveds     €r   ro   z+ModuleLocation.from_path.<locals>.<genexpr>  s   øè ø€ ÒF¨aˆx×&Ñ& q×)ÑFùó   ƒc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr2   r¡   r£   s     €r   ro   z+ModuleLocation.from_path.<locals>.<genexpr>  s   øè ø€ Ò?¨aˆx×&Ñ& q×)Ñ?ùr¥   )r	   r—   ÚanyÚSITE_PACKAGES_DIRSÚSITE_PACKAGESÚSTDLIB_DIRSr}   ÚLOCAL)Úclsr˜   r¤   s     @r   r|   zModuleLocation.from_path  sV   ø€ ô ˜“:×%Ñ%Ó'ˆô ÓFÔ3EÔFÔFØ×$Ñ$Ð$ÜÓ?´;Ô?Ô?Ø—:‘:ÐØ�y‰yÐr   N)
rX   rY   rZ   r«   r©   r}   Úclassmethodr   Ústrr|   r0   r   r   r{   r{     s>   „ Ø€EØ€MØ€FàÙˆtƒ_ð˜Sð Ð%5ò ó ó ñr   r{   r˜   Úlinenoc                 ó2   — t         j                  | «      | |fS r2   )r{   r|   )r˜   r¯   s     r   Ú	_sort_keyr±     s   € Ü×$Ñ$ TÓ*¨D°&Ð9Ð9r   é   ©Úcap_lines_atc          	      óh  — t        t        «      }| j                  «       D ]‰  \  }}t        |«      }|j                  d„ ¬«       |D ��cg c]  \  }}d|› d|› �‘Œ }}}t	        |«      |dz   kD  r#d}|j                  t	        ||d  «      «      g||d  |sŒut        t        «      |z   ||<   Œ‹ |S c c}}w )Nc                 ó&   — t        | d   | d   «      S )Nr   r�   )r±   )rƒ   s    r   ú<lambda>zmake_report.<locals>.<lambda>  s   € ¤Y¨q°©t°Q°q±TÓ%:€ r   )Úkeyz        ú:r�   z8        (and {} more with settings.verbosity >= verbose))r   ÚlistrL   ÚsortÚlenÚformatÚEXPLANATION_STUB)	r‰   r´   Úreportr   Ú	locationsr   r¯   Úreport_linesÚmsgs	            r   Úmake_reportrÃ     sÆ   € ÜœÓ€FØ)×/Ñ/Ó1ò CÑˆ�	Ü˜“Oˆ	Ø�‰Ñ:ˆÔ;ØIR×S¹¸¸v˜( 5 '¨¨6¨(Ò3ÐSˆÑSÜˆ|Ó˜|¨aÑ/Ò/ØLˆCØ+.¯:©:´c¸,À|À}Ð:UÓ6VÓ+WÐ*XˆL˜˜Ð'ÚÜ!Ô"2Ó3°lÑBˆF�6ŠNðCð €Mùó Ts   Á	B.c                 ó  — t         j                  |j                  v r%t        j                  «       r| st        t        «      S t        | «      }|j                  t        j                  k  rdn
t        d«      }t        ||¬«      S )Nr²   Úinfr³   )r   ÚexplainÚphasesr,   r/   r   rº   rŽ   Ú	verbosityr   ÚnormalÚfloatrÃ   )r~   Úsettingsr‰   Ú	max_liness       r   Úexplanatory_linesrÍ   &  s\   € Ü‡}�}˜Ÿ™Ñ'¬C¯L©L¬NÁ6Üœ4Ó Ð ä+¨FÓ3€LØ×'Ñ'¬9×+;Ñ+;Ò;‘ÄÀuÃ€IÜ�|°)Ô<Ð<r   c                  óì   — 	 t        j                  g d¢ddddd¬«      j                  j                  «       } t	        | «      S # t
        $ r( t	        «       j                  «       j                  d   cY S w xY w)N)Úgitz	rev-parsez--show-toplevelTé
   zutf-8)ÚcheckÚtimeoutÚcapture_outputÚtextÚencodingéÿÿÿÿ)Ú
subprocessÚrunÚstdoutÚstripr	   Ú	ExceptionÚabsoluteÚparents)Úwheres    r   Ú_get_git_repo_rootrß   2  sn   € ðÜ—‘Ú3ØØØØØô
÷ ‰&—‘“ð 	ô �E‹{Ðøô ò -Ü‹v�‰Ó ×(Ñ(¨Ñ,Ò,ð-ús   ‚5A Á.A3Á2A3r8   c                 ó`  — i }t        | «      }t        |j                  «       «      j                  |j	                  «       «      dhz
  D ].  \  }}|j                  |t        «       «      j                  |«       Œ0 t        j                  › dt        j                  › dt        j                  j                  › t        j                  › �}|j                  «       D ��ci c]G  \  }}||vr>t        |«      x}j                  t        «       «      rd|j                   vr|t#        |«      “ŒI c}}S c c}}w )zIReport a simple coverage map which is (probably most) of the user's code.NÚlibzpython3.zsite-packages)Údictr&   Úkeysrs   r€   Ú
setdefaultr<   Úosr   r,   Úversion_infoÚminorrL   r	   r¢   rß   ÚpartsÚsorted)	r8   ÚcoverageÚtÚfiler7   Ústdlib_fragmentÚkrƒ   r”   s	            r   Útractable_coverage_reportrï   C  sø   € à€HÜˆU‹€AÜ˜!Ÿ&™&›(“m×)Ñ)¨!¯(©(«*Ó5¸¸Ñ>ò 3‰
ˆˆdØ×Ñ˜D¤#£%Ó(×,Ñ,¨TÕ2ð3äŸ™˜ ¤B§F¡F 8¨8´C×4DÑ4D×4JÑ4JÐ3KÌBÏFÉFÈ8ÐT€Oð —N‘NÓ$÷áˆAˆqØ !Ñ#Ü�q“'ˆ\ˆQ×)Ñ)Ô*<Ó*>Ô?Ø 1§7¡7Ñ*ð	 	
Œ6�!‹9‰óð ùó s   ÃAD*)?Ú	functoolsrå   rk   r×   r,   r•   r`   Úcollectionsr   Úcollections.abcr   Úenumr   r   r   r   Úpathlibr	   Útypingr
   r   Úhypothesis._settingsr   r   Úhypothesis.internal.compatr   Úhypothesis.internal.escalationr   Útupler®   rb   r   Ú__annotations__r   r3   r   Úcacher]   r   r.   r+   r   ÚeventsÚLINErK   r   ry   rq   rŽ   r™   rª   r–   r—   r¨   r¾   r{   r±   rÃ   rÍ   rß   râ   rº   rï   r0   r   r   ú<module>rþ      sÛ  ðô Û 	Û 	Û Û 
Û Û Ý #Ý $Ý ß 'Ý Ý ß "ç 1Ý +Ý =à˜C ˜H‘o€ˆ)Ó %Ø˜( T™/¨8Ð3Ñ4€ˆ	Ó 4Ø˜VÑ$€€yÓ $ð ‡�ðD˜Sð D Tò Dó ðDð Ð Ù
ˆ3�ÔØŸ™×.Ñ.×3Ñ3°\ÐBÐ÷^Nñ ^NðBÐ ð�h˜s‘mð ¨ó ò4òrñ ‹n€áÐ	ˆ×	Ñ	˜IÓ	&Ó'×/Ñ/Ó1ÙÐ	ˆ×	Ñ	˜IÓ	&Ó'×/Ñ/Ó1ðÐ ð
Ð ô�Wô ð&:�Cð : ð :¨¨s°C¸¨}Ñ)=ó :ð /0ô ò=ð ×Ñð˜Dò ó ðð  Uð ¨t°C¸¸c¹°NÑ/Cô r   