ó
    Ð]jZi  ã            
      ó.  • % S SK Jr  S SKr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Jr  S SKJr  S SKJrJr  S SKJr  S SKJrJr  S S	KJrJrJr  S S
KJrJrJrJrJr  S SK J!r!J"r"  S SK#J$r$  S SK%J&r&  S SK'J(r(J)r)J*r*J+r+J,r,J-r-JrJ.r.J/r/J0r0J1r1  \(       a  S SK2J3r3  S SK4J5r5  S SK6J7r7J8r8  S SKJ9r9  S\:S'    S SK;r;\\;4r<\	R|                  r?SSSSSSSSS.                   SS jjr " S S5      r@\R‚                  \R„                  \R†                  \Rˆ                  \RŠ                  \RŒ                  \RŽ                  \R�                  \R’                  \R”                  0rKSS.       S S jjrLSS.S!S jjrM\Rœ                  \Rž                  \R                   S.R£                  5        V VVs0 s H'  u  p\<  H  n\R" X 5      (       d  M  \S" X 5      U_M     M)     snnn rTSS.       S"S jjrUSS.S!S jjrVg! \= a    \4r< GNQf = fs  snnn f )#é    )ÚannotationsN)Ú	Parameter)Ú	SignatureÚcleandocÚgetsourcelinesÚunwrap)Ú	signature)ÚTYPE_CHECKINGÚAny)Ú
ObjectNode)ÚLinesCollectionÚModulesCollection)ÚKindÚParameterKindÚTypeParameterKind)ÚExprÚ	ExprBinOpÚExprSubscriptÚ	ExprTupleÚsafe_get_annotation)Ú
ExtensionsÚload_extensions)Údynamic_import)Úlogger)ÚAliasÚ	AttributeÚClassÚ	DocstringÚFunctionÚModuler   Ú
ParametersÚ	TypeAliasÚTypeParameterÚTypeParameters)ÚSequence)ÚPath)ÚDocstringOptionsÚDocstringStyle)ÚParserztuple[types.ModuleType, ...]Ú_TYPING_MODULES)ÚfilepathÚimport_pathsÚ
extensionsÚparentÚdocstring_parserÚdocstring_optionsÚlines_collectionÚmodules_collectionc               ób   • [        U UU=(       d
    [        5       UUUUUS9R                  U5      $ )aÝ  Inspect a module.

Sometimes we cannot get the source code of a module or an object,
typically built-in modules like `itertools`.
The only way to know what they are made of is to actually import them and inspect their contents.

Sometimes, even if the source code is available,
loading the object is desired because it was created or modified dynamically,
and our static agent is not powerful enough to infer all these dynamic modifications.
In this case, we load the module using introspection.

Griffe therefore provides this function for dynamic analysis.
It uses a [`NodeVisitor`][ast.NodeVisitor]-like class, the [`Inspector`][griffe.Inspector],
to inspect the module with [`inspect.getmembers()`][inspect.getmembers].

The inspection agent works similarly to the regular [`Visitor`][griffe.Visitor] agent,
in that it maintains a state with the current object being handled, and recursively handle its members.

Important:
    This function is generally not used directly.
    In most cases, users can rely on the [`GriffeLoader`][griffe.GriffeLoader]
    and its accompanying [`load`][griffe.load] shortcut and their respective options
    to load modules using dynamic analysis.

Parameters:
    module_name: The module name (as when importing [from] it).
    filepath: The module file path.
    import_paths: Paths to import the module from.
    extensions: The extensions to use when inspecting the module.
    parent: The optional parent of this module.
    docstring_parser: The docstring parser to use. By default, no parsing is done.
    docstring_options: Docstring parsing options.
    lines_collection: A collection of source code lines.
    modules_collection: A collection of modules.

Returns:
    The module, with its members populated.
)r/   r0   r1   r2   )Ú	Inspectorr   Ú
get_module)	Úmodule_namer+   r,   r-   r.   r/   r0   r1   r2   s	            Ú^/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/agents/inspector.pyÚinspectr8   6   s>   € ôd ØØØ×'”oÓ'ØØ)Ø+Ø)Ø-ñ	÷ �j�Óð	ó    c                  óH  ^ • \ rS rSrSr     S                 SU 4S jjjrSS jrSS jrSS S jjrS!S jr	S!S jr
S!S	 jrS!S
 jrS!S jrS!S jrS!S jrS!S jrS!S jrS!S jrS!S jrS!S jrS!S jrS!S jrS!S jrSS"S jjrS!S jrS!S jrSS#S jjrSrU =r$ )$r4   ét   zrThis class is used to instantiate an inspector.

Inspectors iterate on objects members to extract data from them.
c	                óü   >• [         T	U ]  5         Xl         X l         X0l         X@l         SU l         XPl         U=(       d    0 U l         U=(       d
    [        5       U l
         U=(       d
    [        5       U l        g)a�  Initialize the inspector.

Parameters:
    module_name: The module name.
    filepath: The optional filepath.
    extensions: Extensions to use when inspecting.
    parent: The module parent.
    docstring_parser: The docstring parser to use.
    docstring_options: Docstring parsing options.
    lines_collection: A collection of source code lines.
    modules_collection: A collection of modules.
N)ÚsuperÚ__init__r6   r+   r-   r.   Úcurrentr/   r0   r   r1   r   r2   )
Úselfr6   r+   r-   r.   r/   r0   r1   r2   Ú	__class__s
            €r7   r>   ÚInspector.__init__z   s{   ø€ ô. 	‰ÑÔà +ÔØà%-ŒØ#à&0ŒØ4à%+ŒØ=à'+ˆŒØ1à@PÔØ*à3D×3JÈˆÔØ,à1A×1VÄ_ÓEVˆÔØ0à5G×5^ÔK\ÓK^ˆÔØ&r9   c                óÐ   •  [        UR                  SS 5      nUc  g  [        U5      n[        UU R                  U R                  S9$ ! [         a     g f = f! [         a     g f = f)NÚ__doc__)ÚparserÚparser_options)ÚgetattrÚobjÚ	Exceptionr   ÚAttributeErrorr   r/   r0   )r@   ÚnodeÚvalueÚcleaneds       r7   Ú_get_docstringÚInspector._get_docstring®   s~   € ð	ä˜DŸH™H i°Ó6ˆEð ‰=Øð	ô ˜u“oˆGô ØØ×(Ñ(Ø×1Ñ1ñ
ð 	
øô ó 	Ùð	ûô ó 	áð	ús"   ‚A žA Á
AÁAÁ
A%Á$A%c                ó  • U R                   (       a  U R                   U R                  ;  a  g [        UR                  5      u  p#X3SR                  U5      R                  5       R                  S5      -   4$ ! [        [
        4 a     gf = f)N)NNÚ Ú
)	r+   r1   r   rH   ÚOSErrorÚ	TypeErrorÚjoinÚrstripÚcount)r@   rK   ÚlinesÚlinenos       r7   Ú_get_linenosÚInspector._get_linenosÄ   sw   € à�}�} §¡°T×5JÑ5JÓ JØð	Ü*¨4¯8©8Ó4‰MˆEð  §¡¨£× 5Ñ 5Ó 7× =Ñ =¸dÓ CÑCÐCÐCøô œÐ#ó 	Ùð	ús   ®A7 Á7B
Â	B
c                óÊ  • U R                   nU R                  b  U R                  R                   SU 3n[        U=(       d    S5      nU R                  (       a€  U R                  R                  n[        UR                  S5      5       H  nUR                  nM     U R                  R                  S:X  a  UR                  nX1;  a  UR                  SU5        [        X!5      nSnU R                  b6  U R                  R                  R                  S5       H  n[        SXvS9nM     [        XPR                   US9nU R                  U5        U R                  R                  $ )a  Build and return the object representing the module attached to this inspector.

This method triggers a complete inspection of the module members.

Parameters:
    import_paths: Paths replacing `sys.path` to import the module.

Returns:
    A module instance.
NÚ.© r>   r   )Únamer.   )r.   )r6   r.   ÚpathÚlistr+   ÚrangerW   ÚstemÚinsertr   Úsplitr   r8   r?   Úmodule)	r@   r,   Úimport_pathÚparent_pathÚ_rL   Úparent_nodeÚpartÚmodule_nodes	            r7   r5   ÚInspector.get_moduleÎ   s+  € ð ×&Ñ&ˆØ�;‰;Ñ"Ø!Ÿ[™[×-Ñ-Ð.¨a°¨}Ð=ˆKô ˜L×.¨BÓ/ˆð �=�=ØŸ-™-×.Ñ.ˆKÜ˜;×,Ñ,¨SÓ1Ö2�Ø)×0Ñ0’ñ 3ð �}‰}×!Ñ! ZÓ/Ø)×0Ñ0�ØÓ.Ø×#Ñ# A {Ô3ä˜{Ó9ˆð
 ˆØ�;‰;Ñ"ØŸ™×(Ñ(×.Ñ.¨sÖ3�Ü(¨°DÑM’ñ 4ä  ×(8Ñ(8ÀÑMˆà�‰�[Ô!Ø�|‰|×"Ñ"Ð"r9   c                óX   • [        U SUR                   3U R                  5      " U5        g)zXExtend the base inspection with extensions.

Parameters:
    node: The node to inspect.
Úinspect_N)rG   ÚkindÚgeneric_inspect©r@   rK   s     r7   r8   ÚInspector.inspectþ   s&   € ô 	�˜ §¡ Ð,¨d×.BÑ.BÔCÀDÕIr9   c                ód  • UR                    GHŸ  nUR                  =n(       Gav  UR                  (       Ga  X0R                  R                   SUR
                   3:X  aã  [        UR                  S5      (       dÅ  [        R                  " SU5        [        UR
                  SU R                  R                  U R                  U R                  U R                  U R                  U R                   S9nUR#                  U5        U R                  R%                  UR
                  UR                  R                  5        GM2  GM5  ['        UR
                  USS9nU R                  R%                  UR
                  U5        U R                  R)                  SXQU S	9  GMŽ  U R+                  U5        GM¢     g)
z`Extend the base generic inspection with extensions.

Parameters:
    node: The node to inspect.
r]   Ú__file__z;Module %s is not discoverable on disk, inspecting right nowN)r+   r.   r-   r/   r0   r1   r2   Údynamic)ÚanalysisÚon_alias_instance)ÚaliasrK   Úagent)ÚchildrenÚalias_target_pathÚ	is_moduler?   r`   r_   ÚhasattrrH   r   Údebugr4   rf   r-   r/   r0   r1   r2   Úinspect_moduleÚ
set_memberr   Úcallr8   )r@   rK   ÚchildÚtarget_pathÚ	inspectorry   s         r7   rq   ÚInspector.generic_inspect  sF  € ð —]•]ˆEØ#×5Ñ5Ð5ˆ{Ö5ð —?—?�? {¿¹×9JÑ9JÐ8KÈ1ÈUÏZÉZÈLÐ6YÓ'YÜ" 5§9¡9¨j×9Ñ9ÜŸšÐ%bÐdoÔpÜ$-Ø!ŸJ™JØ%)Ø#'§<¡<×#6Ñ#6Ø'+§¡Ø-1×-BÑ-BØ.2×.DÑ.DØ-1×-BÑ-BØ/3×/FÑ/Fñ	%˜	ð "×0Ñ0°Ô7ØŸ™×/Ñ/°·
±
¸I×<MÑ<M×<TÑ<T×Uò :ô  " %§*¡*¨kÀIÑN�EØ—L‘L×+Ñ+¨E¯J©J¸Ô>Ø—O‘O×(Ñ(Ð)<ÀEÐ\`Ð(Ôaà—‘˜U×#ò; #r9   c           
     ó  • U R                   R                  SXS9  U R                   R                  SXS9  [        U R                  U R                  U R
                  U R                  U5      U R                  U R                  SS9=U l	        nU R                   R                  SXU S9  U R                   R                  SXU S	9  U R                  U5        U R                   R                  S
XU S9  U R                   R                  SXU S	9  g)z>Inspect a module.

Parameters:
    node: The node to inspect.
Úon_node©rK   rz   Úon_module_noderv   )r_   r+   r.   Ú	docstringr1   r2   rw   Úon_instance©rK   rH   rz   Úon_module_instance)rK   Úmodrz   Ú
on_membersÚon_module_membersN)r-   r‚   r    r6   r+   r.   rN   r1   r2   r?   rq   )r@   rK   rf   s      r7   r€   ÚInspector.inspect_module+  s÷   € ð 	�‰×Ñ˜Y¨TÐÑ>Ø�‰×ÑÐ-°DÐÑEÜ &Ø×!Ñ!Ø—]‘]Ø—;‘;Ø×)Ñ)¨$Ó/Ø!×2Ñ2Ø#×6Ñ6Øñ!
ð 	
ˆŒ�vð 	�‰×Ñ˜]°ÈÐÑNØ�‰×ÑÐ1¸ÐPTÐÑUØ×Ñ˜TÔ"Ø�‰×Ñ˜\°ÈÐÑMØ�‰×ÑÐ0°tÈtÐÒTr9   c                ól  • U R                   R                  SXS9  U R                   R                  SXS9  / nUR                  R                   H8  nU[        L a  M  UR                  UR                   SUR                   35        M:     U R                  U5      u  pE[        UR                  U R                  U5      U[        [        UR                  U R                  UR                  S96 UUSS9nU R                  R                  UR                  U5        X`l        U R                   R                  SXU S	9  U R                   R                  S
XU S9  U R!                  U5        U R                   R                  SXU S	9  U R                   R                  SXU S9  U R                  R"                  U l        g)z=Inspect a class.

Parameters:
    node: The node to inspect.
rˆ   r‰   Úon_class_noder]   ©r.   Úmemberrv   )r_   r‹   ÚbasesÚtype_parametersrY   Ú	endlinenorw   rŒ   r�   Úon_class_instance)rK   Úclsrz   r�   Úon_class_membersN)r-   r‚   rH   Ú	__bases__ÚobjectÚappendÚ
__module__Ú__qualname__rZ   r   r_   rN   r$   Ú_convert_type_parametersr?   r�   rq   r.   )r@   rK   r—   ÚbaserY   r™   Úclass_s          r7   Úinspect_classÚInspector.inspect_classB  s€  € ð 	�‰×Ñ˜Y¨TÐÑ>Ø�‰×Ñ˜_°4ÐÑDàˆØ—H‘H×&Ô&ˆDØ”vŠ~ÙØ�L‰L˜DŸO™OÐ,¨A¨d×.?Ñ.?Ð-@ÐAÖBñ 'ð
 !×-Ñ-¨dÓ3ÑˆÜØ—‘Ø×)Ñ)¨$Ó/ØÜ*Ô,DÀTÇXÁXÐVZ×VbÑVbÐko×ktÑktÑ,uÐvØØØñ
ˆð 	�‰×Ñ §	¡	¨6Ô2ØŒØ�‰×Ñ˜]°ÈÐÑNØ�‰×ÑÐ0°tÈtÐÑTØ×Ñ˜TÔ"Ø�‰×Ñ˜\°ÈÐÑMØ�‰×ÑÐ/°dÈdÐÑSØ—|‘|×*Ñ*ˆ�r9   c                ó*   • U R                  US15        g)zEInspect a static method.

Parameters:
    node: The node to inspect.
ÚstaticmethodN©Úhandle_functionrr   s     r7   Úinspect_staticmethodÚInspector.inspect_staticmethodd  s   € ð 	×Ñ˜T NÐ#3Õ4r9   c                ó*   • U R                  US15        g)zDInspect a class method.

Parameters:
    node: The node to inspect.
ÚclassmethodNr©   rr   s     r7   Úinspect_classmethodÚInspector.inspect_classmethodl  s   € ð 	×Ñ˜T M ?Õ3r9   c                ó*   • U R                  US15        g)zIInspect a method descriptor.

Parameters:
    node: The node to inspect.
zmethod descriptorNr©   rr   s     r7   Úinspect_method_descriptorÚ#Inspector.inspect_method_descriptort  s   € ð 	×Ñ˜TÐ$7Ð#8Õ9r9   c                ó*   • U R                  US15        g)zFInspect a builtin method.

Parameters:
    node: The node to inspect.
ÚbuiltinNr©   rr   s     r7   Úinspect_builtin_methodÚ Inspector.inspect_builtin_method|  ó   € ð 	×Ñ˜T I ;Õ/r9   c                ó&   • U R                  U5        g)z>Inspect a method.

Parameters:
    node: The node to inspect.
Nr©   rr   s     r7   Úinspect_methodÚInspector.inspect_method„  ó   € ð 	×Ñ˜TÕ"r9   c                ó*   • U R                  US15        g)zAInspect a coroutine.

Parameters:
    node: The node to inspect.
ÚasyncNr©   rr   s     r7   Úinspect_coroutineÚInspector.inspect_coroutineŒ  s   € ð 	×Ñ˜T G 9Õ-r9   c                ó*   • U R                  US15        g)zHInspect a builtin function.

Parameters:
    node: The node to inspect.
rµ   Nr©   rr   s     r7   Úinspect_builtin_functionÚ"Inspector.inspect_builtin_function”  r¸   r9   c                ó&   • U R                  U5        g)z@Inspect a function.

Parameters:
    node: The node to inspect.
Nr©   rr   s     r7   Úinspect_functionÚInspector.inspect_functionœ  r¼   r9   c                ó,   • U R                  USS15        g)zGInspect a cached property.

Parameters:
    node: The node to inspect.
ÚcachedÚpropertyNr©   rr   s     r7   Úinspect_cached_propertyÚ!Inspector.inspect_cached_property¤  s   € ð 	×Ñ˜T H¨jÐ#9Õ:r9   c                ó*   • U R                  US15        g)z@Inspect a property.

Parameters:
    node: The node to inspect.
rÉ   Nr©   rr   s     r7   Úinspect_propertyÚInspector.inspect_property¬  ó   € ð 	×Ñ˜T J <Õ0r9   c                ó*   • U R                  US15        g)zJInspect a get/set descriptor.

Parameters:
    node: The node to inspect.
rÉ   Nr©   rr   s     r7   Úinspect_getset_descriptorÚ#Inspector.inspect_getset_descriptor´  rÏ   r9   c                ób  • U R                   R                  SXS9  U R                   R                  SXS9   [        UR                  5      n[	        UR
                  R                  5        Vs/ s H!  n[        X@R                  UR                  S9PM#     sn6 nUR                  nU[        L a  SO[        X`R                  UR                  S9nU R                  U5      u  p‰U=(       d
    [        5       nSU;   a)  [!        UR                  SUU R#                  U5      UU	SS9n
OV[%        UR                  UU['        [)        UR                  U R                  UR                  S96 U R#                  U5      UU	SS	9n
U
=R*                  U-  sl        U R                  R-                  UR                  U
5        U R                   R                  S
XU S9  U
R.                  (       a  U R                   R                  SXU S9  gU R                   R                  SXU S9  gs  snf ! [         a    SnSn GN`f = f)zmHandle a function.

Parameters:
    node: The node to inspect.
    labels: Labels to add to the data object.
rˆ   r‰   Úon_function_noder•   NrÉ   rv   )r_   rL   Ú
annotationr‹   rY   r™   rw   )r_   Ú
parametersÚreturnsr˜   r‹   rY   r™   rw   rŒ   r�   Úon_attribute_instance©rK   Úattrrz   Úon_function_instance)rK   Úfuncrz   )r-   r‚   ÚgetsignaturerH   r!   rÖ   ÚvaluesÚ_convert_parameterr?   r_   Úreturn_annotationÚ_emptyÚ_convert_object_to_annotationrI   rZ   Úsetr   rN   r   r$   r¢   Úlabelsr�   Úis_attribute)r@   rK   rä   r	   Ú	parameterrÖ   rà   r×   rY   r™   rH   s              r7   rª   ÚInspector.handle_function¼  s  € ð 	�‰×Ñ˜Y¨TÐÑ>Ø�‰×ÑÐ/°dÐÑGð	Ü$ T§X¡XÓ.ˆIô $ð &/×%9Ñ%9×%@Ñ%@Ô%Bóâ%B˜	ô ' y¿¹ÈdÏiÉiÔXÙ%BñðˆJð !*× ;Ñ ;Ðð %¬Ò.ñ ä2Ð3DÏ\É\Ðbf×bkÑbkÑlð ð !×-Ñ-¨dÓ3Ñˆð —œ3›5ˆØ˜ÓÜØ—Y‘YØØ"Ø×-Ñ-¨dÓ3ØØ#Ø"ñ‰Cô Ø—Y‘YØ%ØÜ .Ü-¨d¯h©h¸t¿|¹|ÐTX×T]ÑT]Ñ^ð!ð ×-Ñ-¨dÓ3ØØ#Ø"ñˆCð 	�
Š
�fÑ�
Ø�‰×Ñ §	¡	¨3Ô/Ø�‰×Ñ˜]°ÀdÐÑKØ××Ø�O‰O× Ñ Ð!8¸tÐUYÐ ÒZà�O‰O× Ñ Ð!7¸dÐTXÐ ÒYùò[øô ó 	ð ˆJØ‹Gð		ús   ¶H Á,(HÈH.È-H.c                ól  • U R                   R                  SXS9  U R                   R                  SXS9  U R                  U5      u  p#[        UR                  [        UR                  R                  U R                  UR                  S9UU[        [        UR                  U R                  UR                  S96 U R                  U5      U R                  SS9nU R                  R                  UR                  U5        U R                   R                  SXU S9  U R                   R                  S	XU S
9  g)zBInspect a type alias.

Parameters:
    node: The node to inspect.
rˆ   r‰   Úon_type_alias_noder•   rv   )r_   rL   rY   r™   r˜   r‹   r.   rw   rŒ   r�   Úon_type_alias_instance)rK   Ú
type_aliasrz   N)r-   r‚   rZ   r"   r_   Ú_convert_type_to_annotationrH   Ú	__value__r?   r$   r¢   rN   r�   )r@   rK   rY   r™   rë   s        r7   Úinspect_type_aliasÚInspector.inspect_type_aliasþ  s  € ð 	�‰×Ñ˜Y¨TÐÑ>Ø�‰×ÑÐ1¸ÐÑIà ×-Ñ-¨dÓ3ÑˆäØ—‘Ü-¨d¯h©h×.@Ñ.@ÈÏÉÐ^b×^gÑ^gÑhØØÜ*Ô,DÀTÇXÁXÐVZ×VbÑVbÐko×ktÑktÑ,uÐvØ×)Ñ)¨$Ó/Ø—<‘<Øñ	
ˆ
ð 	�‰×Ñ §	¡	¨:Ô6Ø�‰×Ñ˜]°ÈTÐÑRØ�‰×ÑÐ5¸DÐ_cÐÒdr9   c                ó&   • U R                  U5        g)zBInspect an attribute.

Parameters:
    node: The node to inspect.
N)Úhandle_attributerr   s     r7   Úinspect_attributeÚInspector.inspect_attribute  s   € ð 	×Ñ˜dÕ#r9   c                óÒ  • U R                   R                  SXS9  U R                   R                  SXS9  U R                  n[        5       nUR                  [
        R                  L a  UR                  S5        OzUR                  [
        R                  L a  UR                  S5        OKUR                  [
        R                  L a.  UR                  S:w  a  gUR                  nUR                  S5         [        UR                  5      n U R                  U5      n[!        UR                  UUUS	S
9nU=R"                  U-  sl        UR%                  UR                  U5        UR                  S:X  a  ['        UR                  5      Ul        U R                   R                  SXU S9  U R                   R                  SXU S9  g! [         a    Sn NÉf = f! [         a    Sn NÉf = f)ziHandle an attribute.

Parameters:
    node: The node to inspect.
    annotation: A potential annotation.
rˆ   r‰   Úon_attribute_nodezmodule-attributezclass-attributer>   Nzinstance-attributerv   )r_   rL   rÕ   r‹   rw   Ú__all__rŒ   r�   rØ   rÙ   )r-   r‚   r?   rã   rp   r   ÚMODULEÚaddÚCLASSÚFUNCTIONr_   r.   ÚreprrH   rI   rN   r   rä   r�   ra   Úexports)r@   rK   rÕ   r.   rä   rL   r‹   Ú	attributes           r7   rñ   ÚInspector.handle_attribute  s›  € ð 	�‰×Ñ˜Y¨TÐÑ>Ø�‰×ÑÐ0°tÐÑHð —‘ˆÜ›5ˆà�;‰;œ$Ÿ+™+Ò%Ø�J‰JÐ)Õ*Ø�[‰[œDŸJ™JÒ&Ø�J‰JÐ(Õ)Ø�[‰[œDŸM™MÒ)Ø�{‰{˜jÓ(ØØ—]‘]ˆFØ�J‰JÐ+Ô,ð	Ü˜Ÿ™“NˆEð	Ø×+Ñ+¨DÓ1ˆIô Ø—‘ØØ!ØØñ
ˆ	ð 	×Ò˜FÑ"ÕØ×Ñ˜$Ÿ)™) YÔ/à�9‰9˜	Ó!Ü! $§(¡(›^ˆFŒNØ�‰×Ñ˜]°ÈDÐÑQØ�‰×ÑÐ4¸4ÐW[ÐÒ\øô) ó 	ØŠEð	ûô ó 	ØŠIð	ús$   Ã5G ÄG ÇGÇGÇG&Ç%G&)	r?   r0   r/   r-   r+   r1   r6   r2   r.   )NNNNN)r6   Ústrr+   úPath | Noner-   r   r.   úModule | Noner/   úDocstringStyle | Parser | Noner0   úDocstringOptions | Noner1   úLinesCollection | Noner2   úModulesCollection | NoneÚreturnÚNone)rK   r   r  zDocstring | None)rK   r   r  z#tuple[int, int] | tuple[None, None])N)r,   úSequence[str | Path] | Noner  r    )rK   r   r  r  )rK   r   rä   z
set | Noner  r  )rK   r   rÕ   ústr | Expr | Noner  r  )Ú__name__r    r¡   Ú__firstlineno__rD   r>   rN   rZ   r5   r8   rq   r€   r¥   r«   r¯   r²   r¶   rº   r¿   rÂ   rÅ   rÊ   rÍ   rÑ   rª   rî   rò   rñ   Ú__static_attributes__Ú__classcell__)rA   s   @r7   r4   r4   t   sû   ø† ñð !%Ø;?Ø59Ø37Ø7;ð2'àð2'ð ð2'ð ð	2'ð
 ð2'ð 9ð2'ð 3ð2'ð 1ð2'ð 5ð2'ð 
÷2'ð 2'ôh
ô,Dö.#ô`Jô#$ôJUô. +ôD5ô4ô:ô0ô#ô.ô0ô#ô;ô1ô1ö@ZôDeô2$÷.]ô .]r9   r4   ©r–   c               ó`  • U R                   nU R                  [        L a  S O[        U R                  XS9n[        U R
                     nU R                  [        L a  S nOG[        U R                  S5      (       a  U R                  R                  nO[        U R                  5      n[        X4XVS9$ )Nr•   r
  )rÕ   rp   Údefault)r_   rÕ   rá   râ   Ú_parameter_kind_maprp   r  r~   r
  rû   r   )ræ   r.   r–   r_   rÕ   rp   r  s          r7   rß   rß   Y  s›   € ð �>‰>€Dð ×Ñ¤6Ò)ñ 	ä*¨9×+?Ñ+?ÈÑ^ð ô
 ˜yŸ~™~Ñ.€DØ×ÑœFÒ"Ø‰Ü	�×"Ñ" J×	/Ñ	/à×#Ñ#×,Ñ,‰ä�y×(Ñ(Ó)ˆÜ�T°tÑMÐMr9   c               ó  • [        U [        5      (       a  U nO3[        U 5      n[        U S5      (       a  SU;   a  U R                  OUnOUn [        USS[        R                  SS9n[        UR                  XS9$ ! [         a    U s $ f = f)Nr
  Ú<Úevalz<>é   )ÚmodeÚfilenameÚflagsÚoptimizer  )Ú
isinstancerÿ   rû   r~   r
  ÚcompileÚastÚPyCF_ONLY_ASTÚSyntaxErrorr   Úbody)rH   r.   r–   rÕ   Úobj_reprÚannotation_nodes         r7   râ   râ   p  s�   € ô �#”s×ÑØ‰
ô ˜“9ˆÜ�3˜
×#Ñ#ð *-°«˜Ÿš¸h‰Jà!ˆJðÜ! *°6ÀDÔPS×PaÑPaÐlmÑnˆô ˜×3Ñ3°VÑKÐKøô ó ØŠ
ðús   ÁA< Á<BÂ
B)ÚTypeVarÚTypeVarTupleÚ	ParamSpecc               óÒ  • [        U 5      n [        U S5      (       d  / $ / nU R                   H±  n[        USS 5      nUb
  [	        XQUS9n[        USS5       Vs/ s H  n[	        XaUS9PM     nn[        USS 5      " 5       (       a  [	        UR
                  UUS9nOS nUR                  [        UR                  [        [        U5         UU=(       d    S US95        M³     U$ s  snf )	NÚ__type_params__Ú	__bound__r•   Ú__constraints__r^   Úhas_defaultc                 ó   • g)NFr^   r^   r9   r7   Ú<lambda>Ú*_convert_type_parameters.<locals>.<lambda>©  s   € ¸%r9   )rp   ÚboundÚconstraintsr  )r   r~   r&  rG   rì   Ú__default__rŸ   r#   r
  Ú_type_parameter_kind_mapÚtype)	rH   r.   r–   r˜   Útype_parameterr-  Ú
constraintr.  r  s	            r7   r¢   r¢   ”  s  € ô �‹+€Cä�3Ð)×*Ñ*Øˆ	à€OØ×-Ô-ˆÜ˜¨°TÓ:ˆØÑÜ/°ÈVÑTˆEô & nÐ6GÈÔLó)
âL�
ô (¨
È&ÔQÙLð 	ð )
ô
 �> =±-Ô@×BÑBÜ1Ø×*Ñ*ØØñ‰Gð ˆGà×ÑÜØ×'Ñ'Ü-¬d°>Ó.BÑCØØ'×/¨4Øñö	
ñ% .ð8 Ðùò1)
s   ÁC$c          	     óH  • [         R                  " U 5      nUc
  [        XUS9$ [         R                  " U 5       Vs/ s H  n[	        XAUS9PM     nnU[
        R                  L a  [        R                  " S U5      $ [	        X1US9nUc  g [        U[        USS95      $ s  snf )Nr•   c                ó   • [        U SU5      $ )NÚ|)r   )ÚleftÚrights     r7   r+  Ú-_convert_type_to_annotation.<locals>.<lambda>Ê  s   € ´I¸dÀCÈÔ4Or9   T)Úimplicit)ÚtypingÚ
get_originrâ   Úget_argsrì   ÚtypesÚ	UnionTypeÚ	functoolsÚreducer   r   )rH   r.   r–   ÚoriginÚargÚargss         r7   rì   rì   ¿  s©   € Ü×Ò˜sÓ#€Fà�~Ü,¨SÈÑOÐOô SY×RaÒRaÐbeÔRfó)ÚRfÈ3Ô# C¸vÔFÑRfð 	ð )ð ”—‘Ò Ü×ÒÑ OÐQUÓVÐVä(¨ÀvÑN€FØ�~Øä˜¤¨4¸$Ñ!?Ó@Ð@ùò)s   ¼B)r6   rÿ   r+   r   r,   r  r-   zExtensions | Noner.   r  r/   r  r0   r  r1   r  r2   r  r  r    )ræ   ÚSignatureParameterr.   úModule | Classr–   ú
str | Noner  r   )rH   r   r.   rF  r–   rG  r  r	  )rH   r   r.   rF  r–   rG  r  zlist[TypeParameter])WÚ
__future__r   r  r@  r>  r;  r8   r   rE  r   r   r   r   r	   rÝ   r
   r   Ú%griffe._internal.agents.nodes.runtimer   Úgriffe._internal.collectionsr   r   Úgriffe._internal.enumerationsr   r   r   Úgriffe._internal.expressionsr   r   r   r   r   Ú griffe._internal.extensions.baser   r   Úgriffe._internal.importerr   Úgriffe._internal.loggerr   Úgriffe._internal.modelsr   r   r   r   r   r    r!   r"   r#   r$   Úcollections.abcr%   Úpathlibr&   Ú#griffe._internal.docstrings.parsersr'   r(   r)   Ú__annotations__Útyping_extensionsr*   ÚImportErrorÚemptyrá   r4   ÚPOSITIONAL_ONLYÚpositional_onlyÚPOSITIONAL_OR_KEYWORDÚpositional_or_keywordÚVAR_POSITIONALÚvar_positionalÚKEYWORD_ONLYÚkeyword_onlyÚVAR_KEYWORDÚvar_keywordr  rß   râ   Útype_varÚtype_var_tupleÚ
param_specÚitemsr~   rG   r0  r¢   rì   )rÚ   rL   rf   s   000r7   Ú<module>rf     s“  ðö #ã 
Û Û Û Ý 3ß ?Ó ?Ý -ß %å <ß Kß PÑ Pß gÕ gß HÝ 4Ý *÷÷ ÷ ñ ö Ý(ÝçTÝ4à-Ó -ð2Ûð Ð0Ð1€Oà	�‰€ð !Ø04Ø$(Ø Ø7;Ø15Ø/3Ø37ñ;Øð;ð ð;ð .ð	;ð
 "ð;ð ð;ð 5ð;ð /ð;ð -ð;ð 1ð;ð õ;÷|Y]ñ Y]ðz ×&Ñ&¨×(EÑ(EØ×,Ñ,¨m×.QÑ.QØ×%Ñ% }×'CÑ'CØ×#Ñ# ]×%?Ñ%?Ø×"Ñ" M×$=Ñ$=ðÐ ð ñ	NØ!ðNð ðNð ð	Nð
 õNð. ]a÷ Lð6 %×-Ñ-Ø)×8Ñ8Ø&×1Ñ1ñ÷ �eƒgð	õ	ò‰ˆô
 "ˆÙˆv×ó !�GˆFÓ˜5Ò ñ "ñ ñó	Ð ð  ñ	(Ø	ð(ð ð(ð ð	(ð
 õ(ðV [_÷ Að Aøðc ó  Ø�iƒOð üôt	s   Â3H  Æ3HÇHÈ 	HÈH