+
    "Ý³jŒ  ã                   ó"  € ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	t	]	P                  ! R4      t0 RmtRt]! RR	7       ! R
 R4      4       tR R ltR R ltRR R llt]! R4      R 4       tR R ltR R ltR R ltR R ltR R ltR# )é    N)ÚSequence)Ú	dataclass)Ú	lru_cache)Úversionz(?:^|\.)layers\.(\d+)(?:\.|$)z5.3.0T)Úfrozenc                   ó0   a € ] tR t^t o RtV 3R ltRtV tR# )ÚModuleNameFilterz;Compiled include or exclude rules for module path matching.c                ó‚   <€ V ^8„  d   Qh/ S[ S[P                  R3,          ;R&   S[ S[P                  R3,          ;R&   # )é   .ÚpositiveÚnegative)ÚtupleÚpcreÚPattern)ÚformatÚ__classdict__s   "€ÚU/home/luca/screen-checking/.venv/lib/python3.14/site-packages/defuser/utils/common.pyÚ__annotate__ÚModuleNameFilter.__annotate__   s;   ø‡ ‚ ñ ‘D—L‘L #Ð%Õ&Ñ&ñ	 ñ
 ‘D—L‘L #Ð%Õ&Ñ&ò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s   ø‡ € áE÷ ƒ r   r	   c                ón   € V ^8„  d   QhR\         \        P                  ,          R\        P                  /# )r   ÚvalueÚreturn)Ústrr   ÚVersion)r   s   "r   r   r      s'   € ÷  ñ  œ#¤§¡Õ/ð  ´G·O±Oñ  r   c                ór   € \        V \        P                  4      '       d   V # \        P                  ! V 4      # )z-Return a normalized packaging version object.)Ú
isinstancer   r$   Úparse)r!   s   &r   Ú_parse_versionr(      s'   € ä�%œŸ™×)Ò)ØˆÜ�=Š=˜ÓÐr   c                ó�   € V ^8„  d   QhR\         \        P                  ,          R\         \        P                  ,          R\        /# )r   Úinstalled_versionÚminimum_versionr"   )r#   r   r$   Úbool)r   s   "r   r   r   &   s8   € ÷ ñ ÜœWŸ_™_Õ,ðäœ7Ÿ?™?Õ*ðô 
ñr   c                ó¬   € \        V 4      p\        V4      pW#8¼  d   R# VP                  '       d$   \        P                  ! VP                  4      V8¬  # R# )a.  Return whether a version meets a minimum, allowing same-release dev snapshots.

Hugging Face main-branch builds report versions like ``5.3.0-dev`` which
packaging normalizes to ``5.3.0.dev0`` and orders before ``5.3.0``. Defuser
treats those dev snapshots as satisfying the corresponding stable floor.
TF)r(   Úis_devreleaser   r'   Úbase_version)r*   r+   Ú	installedÚminimums   &&  r   Úis_version_at_leastr2   &   sK   € ô Ð0Ó1€IÜ˜_Ó-€GàÔÙà××ÐÜ�}Š}˜Y×3Ñ3Ó4¸Ñ?Ð?ár   c                ó`   € V ^8„  d   QhR\         R\         \        ,          R,          R\        /# )r   ÚnameÚdefaultNr"   ©r#   r,   )r   s   "r   r   r   <   s*   € ÷ 
2ñ 
2”3ð 
2¤¤t¥¨dÕ!2ð 
2¼Tñ 
2r   c                óÒ   € \         P                  ! V 4      pVf!   Vf   R# \        V\        4      '       d   V# Tp\	        V4      P                  4       P                  4       \        9   # )z9Return ``True`` when an env var is set to a truthy value.F)ÚosÚgetenvr&   r,   r#   ÚstripÚlowerÚTRUTHFUL)r4   r5   r!   s   && r   Úenv_flagr=   <   sV   € ô �IŠI�d‹O€EØ‚}ØŠ?ÙÜ�gœt×$Ò$ØˆNØˆÜˆu‹:×ÑÓ×#Ñ#Ó%¬Ñ1Ð1r   c                 ó6   € ^ RI p \        V P                  R4      # )zICache the coarse ``transformers>=5`` capability check used by fast paths.Nz5.0.0)Útransformersr2   Ú__version__©r?   s    r   Ú*is_transformers_version_greater_or_equal_5rB   I   s   € ó ä˜|×7Ñ7¸ÓAÐAr   c                ó$   € V ^8„  d   QhR\         /# )r   r"   )r,   )r   s   "r   r   r   Q   s   € ÷ ]ñ ]¬4ñ ]r   c                 ó>   € ^ RI p \        V P                  \        4      # )zWReturn whether the installed transformers version is supported by Defuser's public API.N)r?   r2   r@   Ú"MIN_SUPPORTED_TRANSFORMERS_VERSIONrA   s    r   Ú!is_supported_transformers_versionrF   Q   s   € ãä˜|×7Ñ7Ô9[Ó\Ð\r   c                ó0   € V ^8„  d   QhR\         R\        /# )r   Úapi_namer"   r6   )r   s   "r   r   r   X   s   € ÷ ñ ¼#ð Ì$ñ r   c           	     ó„   € ^ RI p\        4       '       d   R# VP                  RV  R\         RVP                   R24       R# )zREmit a single consistent warning when the runtime transformers version is too old.NFzDefuser public API `z` requires transformers>=z. Current version is z/. This call is unsupported and will be skipped.T)r?   rF   ÚwarningrE   r@   )rH   Úloggerr?   s   && r   Ú+warn_if_public_api_transformers_unsupportedrL   X   sM   € ãä(×*Ò*Ùà
‡N�NØ
˜x˜jÐ(AÔBdÐAeð fØ*×6Ñ6Ð7Ð7fð	hôñ r   c                óJ   € V ^8„  d   QhR\         R\        R,          R\        /# )r   Úmodule_nameÚ
max_layersNr"   )r#   Úintr,   )r   s   "r   r   r   f   s%   € ÷ 
,ñ 
,¤cð 
,´s¸Tµzð 
,Ädñ 
,r   c                ó�   € Vf   R# V^8  d   R# \         P                  V 4      pVf   R# \        VP                  ^4      4      V8  # )z=Return True when module path is within requested layer limit.TF)Ú_LAYER_NAME_REÚsearchrP   Úgroup)rN   rO   Úmatchs   && r   Úis_within_max_layersrV   f   sE   € àÒÙØ�A„~Ùä×!Ñ! +Ó.€EØ‚}ÙÜˆu�{‰{˜1‹~Ó Ñ+Ð+r   c                óx   € V ^8„  d   QhR\         \        ,          \        ,          R,          R\        R,          /# )r   Úfilter_rulesNr"   )r   r#   r	   )r   s   "r   r   r   s   s0   € ÷ *ñ *Üœ3•-Ô"2Õ2°TÕ9ð*ä˜Õñ*r   c                ó0  € V f   R# \        V \        4      '       d   V # \        V \        \        34      '       g   \        V \        4      '       g   \        R4      h. p. pV  F“  p\        V\        4      '       g   \        R4      hVP                  R4      '       d   TpVR,          pM'VP                  R4      '       d   TpVR,          pMTpTpVP                  \        P                  ! V4      4       K•  	  \        \        V4      \        V4      R7      # )a  Compile user-facing module filter rules once for repeated matching.

Rules support three forms:
- ``+:regex`` explicit positive match
- ``-:regex`` explicit negative match
- ``regex`` implicit positive match

Negative rules take priority over positive rules during matching.
Nz*filter must be a sequence of regex stringszfilter rules must be stringsz-::r   NNz+:)r   r   )r&   r	   r#   Úbytesr   Ú	TypeErrorÚ
startswithÚappendr   Úcompiler   )rX   r   r   Úraw_ruleÚbucketÚpatterns   &     r   Úcompile_module_name_filterrb   s   sñ   € ð ÒÙä�,Ô 0×1Ò1ØÐä�,¤¤e ×-Ò-´ZÀÌh×5WÒ5WÜÐDÓEÐEà#%€HØ#%€HÛ ˆÜ˜(¤C×(Ò(ÜÐ:Ó;Ð;à×Ñ˜t×$Ò$ØˆFØ˜r•l‰GØ× Ñ  ×&Ò&ØˆFØ˜r•l‰GàˆFØˆGà�‰”d—l’l 7Ó+Ö,ñ !ô  Ü�x“Ü�x“ôð r   c                óv   € V ^8„  d   QhR\         R\        \         ,          \        ,          R,          R\        /# )r   rN   rX   Nr"   )r#   r   r	   r,   )r   s   "r   r   r       s5   € ÷ ñ Üðäœ3•-Ô"2Õ2°TÕ9ðô 
ñr   c                óÜ   € \        V4      pVf   R# VP                   F  pVP                  V 4      '       g   K   R# 	  VP                   F  pVP                  V 4      '       g   K   R# 	  R# )zIReturn whether ``module_name`` is allowed by the configured filter rules.TF)rb   r   rS   r   )rN   rX   Úcompiledra   s   &&  r   Úmatches_module_name_filterrf       sb   € ô
 *¨,Ó7€HØÒÙà×$Ô$ˆØ�>‰>˜+×&Ô&Úñ %ð ×$Ô$ˆØ�>‰>˜+×&Ô&Úñ %ñ r   >   Ú1ÚyÚonÚyesÚtrue)Ú0)r8   Úcollections.abcr   Údataclassesr   Ú	functoolsr   Ú	packagingr   r   r^   rR   r<   rE   r	   r(   r2   r=   rB   rF   rL   rV   rb   rf   r   r   r   Ú<module>rq      s™   ðó
 
õ %Ý !Ý Ý Û ð —’Ð>Ó?€â*€Ø%,Ð "ñ �$Ô÷'ð 'ó ð'õ õ÷,
2ñ ˆ4ƒñBó ðBõ]õõ
,õ*÷Zr   