Ë
    	š„j   ã                   óV   — d Z ddlmZ ddlmZmZ ddlmZmZm	Z	 ddiZ
 G d„ de	«      Zy	)
zCFix UserDict.

Incomplete!

TODO: base this on fix_urllib perhaps?
é    )Ú
fixer_base)ÚNameÚ
attr_chain)Ú
alternatesÚbuild_patternÚ
FixImportsÚUserDictÚcollectionsc                   óN   ‡ — e Zd ZdZdZeZdZd„ Zˆ fd„Z	ˆ fd„Z
ˆ fd„Zd„ Zˆ xZS )ÚFixUserdictTé   c                 óJ   — dj                  t        | j                  «      «      S )Nú|)Újoinr   Úmapping)Úselfs    úU/var/www/html/GAP/venv/lib/python3.12/site-packages/libfuturize/fixes/fix_UserDict.pyr   zFixUserdict.build_pattern5   s   € Ø�x‰xœ d§l¡lÓ3Ó4Ð4ó    c                 óT   •— | j                  «       | _        t        t        | �  «        y ©N)r   ÚPATTERNÚsuperr   Úcompile_pattern)r   Ú	__class__s    €r   r   zFixUserdict.compile_pattern8   s"   ø€ ð ×)Ñ)Ó+ˆŒÜŒj˜$Ñ/Õ1r   c                 ó‚   •‡— t         t        | �
  Š ‰|«      }|r%d|vrt        ˆfd„t	        |d«      D «       «      ry|S y)NÚbare_with_attrc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr   © )Ú.0ÚobjÚmatchs     €r   ú	<genexpr>z$FixUserdict.match.<locals>.<genexpr>F   s   øè ø€ ÒI s™˜cŸ
ÑIùs   ƒÚparentF)r   r   r!   Úanyr   )r   ÚnodeÚresultsr!   r   s      @€r   r!   zFixUserdict.match?   sE   ù€ Ü”j $Ñ-ˆÙ˜“+ˆÙð   wÑ.ÜÓI¬j¸¸xÓ.HÔIÔIØØˆNØr   c                 ó<   •— t         t        | �  ||«       i | _        y r   )r   r   Ú
start_treeÚreplace)r   ÚtreeÚfilenamer   s      €r   r(   zFixUserdict.start_treeK   s   ø€ ÜŒj˜$Ñ*¨4°Ô:Øˆ�r   c                 óè  — |j                  d«      }|r‰|j                  }t        | j                  |   «      }|j	                  t        ||j                  ¬«      «       d|v r|| j                  |<   d|v r'| j                  |«      }|r| j                  ||«       y y y |d   d   }| j                  j                  |j                  «      }|r'|j	                  t        ||j                  ¬«      «       y y )NÚmodule_name)ÚprefixÚname_importÚmultiple_importsr   r   )	ÚgetÚvalueÚunicoder   r)   r   r.   r!   Ú	transform)r   r%   r&   Ú
import_modÚmod_nameÚnew_nameÚ	bare_names          r   r4   zFixUserdict.transformO   sä   € Ø—[‘[ Ó/ˆ
ÙØ!×'Ñ'ˆHÜ˜tŸ|™|¨HÑ5Ó6ˆHØ×Ñœt H°Z×5FÑ5FÔGÔHØ Ñ'ð *2�—‘˜XÑ&Ø! WÑ,ð
 Ÿ*™* TÓ*�ÙØ—N‘N 4¨Õ1ð ð -ð  Ð 0Ñ1°!Ñ4ˆIØ—|‘|×'Ñ'¨	¯©Ó8ˆHÙØ×!Ñ!¤$ x¸	×8HÑ8HÔ"IÕJð r   )Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚkeep_line_orderÚMAPPINGr   Ú	run_orderr   r   r!   r(   r4   Ú__classcell__)r   s   @r   r   r   *   s3   ø„ à€MØ€Oà€Gð €Iò5ô2ô
ôöKr   r   N)Ú__doc__Úlib2to3r   Úlib2to3.fixer_utilr   r   Úlib2to3.fixes.fix_importsr   r   r   r>   r   r   r   r   ú<module>rE      s2   ðñõ ß /ß KÑ Kà˜ð €ô8<K�*õ <Kr   