Ë
    #´˜jH  ã                   óJ   — d Z ddlmZ ddlmZ  G d„ dej
                  «      Zy)a,  Fixer that cleans up a tuple argument to isinstance after the tokens
in it were fixed.  This is mainly used to remove double occurrences of
tokens as a leftover of the long -> int / unicode -> str conversion.

eg.  isinstance(x, (int, long)) -> isinstance(x, (int, int))
       -> isinstance(x, int)
é   )Ú
fixer_base)Útokenc                   ó   — e Zd ZdZdZdZd„ Zy)ÚFixIsinstanceTz˜
    power<
        'isinstance'
        trailer< '(' arglist< any ',' atom< '('
            args=testlist_gexp< any+ >
        ')' > > ')' >
    >
    é   c                 óÐ  — t        «       }|d   }|j                  }g }t        |«      }|D ]¼  \  }}	|	j                  t        j
                  k(  rP|	j                  |v rB|t        |«      dz
  k  sŒC||dz      j                  t        j                  k(  sŒgt        |«       Œs|j                  |	«       |	j                  t        j
                  k(  sŒ¢|j                  |	j                  «       Œ¾ |r#|d   j                  t        j                  k(  r|d= t        |«      dk(  r5|j                  }
|
j                  |d   _        |
j                  |d   «       y ||d d  |j                  «        y )NÚargsé   éÿÿÿÿé    )ÚsetÚchildrenÚ	enumerateÚtyper   ÚNAMEÚvalueÚlenÚCOMMAÚnextÚappendÚaddÚparentÚprefixÚreplaceÚchanged)ÚselfÚnodeÚresultsÚnames_insertedÚtestlistr	   Únew_argsÚiteratorÚidxÚargÚatoms              ú.lib/python3.12/lib2to3/fixes/fix_isinstance.pyÚ	transformzFixIsinstance.transform   s  € Ü›ˆØ˜6‘?ˆØ× Ñ ˆØˆÜ˜T“?ˆÛ ‰HˆC�Ø�x‰xœ5Ÿ:™:Ò%¨#¯)©)°~Ñ*EØœ˜T› Q™Ó&¨4°°a±©=×+=Ñ+=ÄÇÁÓ+LÜ˜”NØà—‘ Ô$Ø—8‘8œuŸz™zÓ)Ø"×&Ñ& s§y¡yÕ1ð !ñ ˜ ™×)Ñ)¬U¯[©[Ò8Ø˜�Üˆx‹=˜AÒØ—?‘?ˆDØ!%§¡ˆH�Q‰KÔØ�L‰L˜ !™Õ%àˆD‘ˆGØ�L‰L�Nó    N)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNÚ	run_orderr'   © r(   r&   r   r      s   „ Ø€Mð€Gð €Iór(   r   N)Ú__doc__Ú r   Ú
fixer_utilr   ÚBaseFixr   r/   r(   r&   Ú<module>r4      s$   ðñõ Ý ô$�J×&Ñ&õ $r(   