§
    ÷yIfJ	  ã                  óŠ   — 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	m
Z
mZ d dlmZ erd dlmZ  G d„ d	e¦  «        Zdd„ZdS )é    )Úannotations)ÚTYPE_CHECKING)Únodes)ÚBaseChecker)ÚDUNDER_METHODSÚDUNDER_PROPERTIESÚEXTRA_DUNDER_METHODS)ÚHIGH)ÚPyLinterc                  óB   — e Zd ZdZdZddiZdg dddd	œffZdd„Zdd„ZdS )ÚDunderCheckerz!Checks related to dunder methods.ÚdunderÚW3201)z(Bad or misspelled dunder method name %s.úbad-dunder-nameznUsed when a dunder method is misspelled or defined with a name not within the predefined list of dunder names.zgood-dunder-namesÚcsvz<comma-separated names>z2Good dunder names which should always be accepted.)ÚdefaultÚtypeÚmetavarÚhelpÚreturnÚNonec                ó   — t           t          z   | j        j        j        z   | _        t          j        ¦   «         D ]S\  }}|| j        j        j        k    r9| j         	                    t          |                     ¦   «         ¦  «        ¦  «         ŒTd S ©N)r	   r   ÚlinterÚconfigÚgood_dunder_namesÚ_dunder_methodsr   ÚitemsÚ
py_versionÚextendÚlistÚkeys)ÚselfÚ
since_versÚdunder_methodss      úL/var/www/piapp/venv/lib/python3.11/site-packages/pylint/extensions/dunder.pyÚopenzDunderChecker.open+   s‘   € å Ýñ àŒkÔ Ô2ñ3ð 	Ôõ
 +9Ô*>Ñ*@Ô*@ð 	Ið 	IÑ&ˆJ˜Ø˜Tœ[Ô/Ô:Ò:Ð:ØÔ$×+Ò+­D°×1DÒ1DÑ1FÔ1FÑ,GÔ,GÑHÔHÐHøð	Ið 	Ió    Únodeúnodes.FunctionDefc                ó  — |                      ¦   «         sdS |j                             d¦  «        rM|j                             d¦  «        r5|j        | j        vr)|                      d||j        t          ¬¦  «         dS dS dS dS )zoCheck if known dunder method is misspelled or dunder name is not one
        of the pre-defined names.
        NÚ_r   )r)   ÚargsÚ
confidence)Ú	is_methodÚnameÚ
startswithÚendswithr   Úadd_messager
   )r#   r)   s     r&   Úvisit_functiondefzDunderChecker.visit_functiondef5   s°   € ð
 �~Š~ÑÔð 	ØˆFð ŒI× Ò  Ñ%Ô%ð
	à”	×"Ò" 3Ñ'Ô'ð
	ð ”	 Ô!5Ð5Ð5à×ÒØ!ØØ”iÝð	 ñ ô ð ð ð ð
	ð 
	ð 
	ð 
	ð 6Ð5r(   N)r   r   )r)   r*   r   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r0   ÚmsgsÚoptionsr'   r4   © r(   r&   r   r      s�   € € € € € Ø+Ð+à€Dàð 
ð€Dð  àØØ4ØLð	ð ð	
ð
€GðIð Ið Ið Iðð ð ð ð ð r(   r   r   r   r   r   c                óJ   — |                       t          | ¦  «        ¦  «         d S r   )Úregister_checkerr   )r   s    r&   Úregisterr>   K   s$   € Ø
×Ò�M¨&Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r(   N)r   r   r   r   )Ú
__future__r   Útypingr   Úastroidr   Úpylint.checkersr   Úpylint.constantsr   r   r	   Úpylint.interfacesr
   Úpylint.lintr   r   r>   r;   r(   r&   ú<module>rF      sâ   ðð
 #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ "Ð "Ð "Ð "Ð "Ð "àð %Ø$Ð$Ð$Ð$Ð$Ð$ð5ð 5ð 5ð 5ð 5�Kñ 5ô 5ð 5ðp3ð 3ð 3ð 3ð 3ð 3r(   