§ ÝÈx~ëj,”ãód—dZddlmZddlmZmZmZmZmZm Z dZ dZ Gd„dej ¦«Z dS) aÜAdjust some old Python 2 idioms to their modern counterparts. * Change some type comparisons to isinstance() calls: type(x) == T -> isinstance(x, T) type(x) is T -> isinstance(x, T) type(x) != T -> not isinstance(x, T) type(x) is not T -> not isinstance(x, T) * Change "while 1:" into "while True:". * Change both v = list(EXPR) v.sort() foo(v) and the more general v = EXPR v.sort() foo(v) into v = sorted(EXPR) foo(v) é)Ú fixer_base)ÚCallÚCommaÚNameÚNodeÚ BlankLineÚsymsz0(n='!=' | '==' | 'is' | n=comp_op< 'is' 'not' >)z(power< 'type' trailer< '(' x=any ')' > >c óX‡—eZdZdZde›de›de›de›d� Zˆfd„Zd„Zd„Z d „Z d „Z ˆxZ S) Ú FixIdiomsTz isinstance=comparison< ú z8 T=any > | isinstance=comparison< T=any aX > | while_stmt< 'while' while='1' ':' any+ > | sorted=any< any* simple_stmt< expr_stmt< id1=any '=' power< list='list' trailer< '(' (not arglist) any ')' > > > '\n' > sort= simple_stmt< power< id2=any trailer< '.' 'sort' > trailer< '(' ')' > > '\n' > next=any* > | sorted=any< any* simple_stmt< expr_stmt< id1=any '=' expr=any > '\n' > sort= simple_stmt< power< id2=any trailer< '.' 'sort' > trailer< '(' ')' > > '\n' > next=any* > có�•—tt|¦« |¦«}|rd|vr|d|dkr|SdS|S)NÚsortedÚid1Úid2)Úsuperr Úmatch)ÚselfÚnodeÚrÚ __class__s €úE/opt/alt/python-internal/lib64/python3.11/lib2to3/fixes/fix_idioms.pyrzFixIdioms.matchOsTø€Ý •)˜TÑ "Ô "× (Ò (¨Ñ .Ô .ˆð ð �˜Q��Ø�Œx˜1˜Uœ8Ò#Ð#Ø�Ø�4؈ócó¼—d|vr| ||¦«Sd|vr| ||¦«Sd|vr| ||¦«Std¦«‚)NÚ isinstanceÚwhilerz Invalid match)Útransform_isinstanceÚtransform_whileÚtransform_sortÚ RuntimeError)rrÚresultss rÚ transformzFixIdioms.transformZss€Ø ˜7Ð "Ð "Ø×,Ò,¨T°7Ñ;Ô;Ð ;Ø ˜Ð Ð Ø×'Ò'¨¨gÑ6Ô6Ð 6Ø ˜Ð Ð Ø×&Ò& t¨WÑ5Ô5Ð 5å˜Ñ/Ô/Ð /rcób—|d ¦«}|d ¦«}d|_d|_ttd¦«|t ¦«|g¦«}d|vr0d|_t t jtd¦«|g¦«}|j|_|S)NÚxÚTÚr rÚnÚnot)ÚcloneÚprefixrrrrr Únot_test)rrr r#r$Útests rrzFixIdioms.transform_isinstanceds•€Ø �CŒL× Ò Ñ Ô ˆØ �CŒL× Ò Ñ Ô ˆØˆŒØˆŒÝ•D˜Ñ&Ô&¨­E©G¬G°Q¨Ñ8Ô8ˆØ �'ˆ>ˆ>؈DŒKÝ�œ ­¨U© ¬ °TÐ':Ñ;Ô;ˆDØ”kˆŒ ؈ rcóh—|d}| td|j¬¦«¦«dS)NrÚTrue©r))Úreplacerr))rrr Úones rrzFixIdioms.transform_whileps3€Ø�gÔˆØ � Š •D˜¨¬ Ð3Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4rcó@—|d}|d}| d¦«}| d¦«}|r*| td|j¬¦«¦«ne|rT| ¦«}d|_| t td¦«|g|j¬¦«¦«nt d¦«‚| ¦«|j}d |vr³|rJ| d ¦«d |d jf} d   | ¦«|d _dS|j sJ‚|j �J‚t¦«} |j   | ¦«|j | usJ‚| d ¦«d | _dSdS) NÚsortÚnextÚlistÚexprrr.r%zshould not have reached hereú é)Úgetr/rr)r(rrÚremoveÚ rpartitionÚjoinÚparentÚ next_siblingrÚ append_child) rrr Ú sort_stmtÚ next_stmtÚ list_callÚ simple_exprÚnewÚbtwnÚ prefix_linesÚend_lines rrzFixIdioms.transform_sorttsÀؘF”Oˆ ؘF”Oˆ Ø—K’K Ñ'Ô'ˆ Ø—k’k &Ñ)Ô)ˆ à ð ?Ø × Ò �d 8°IÔ4DÐEÑEÔEÑ FÔ FÐ FÐ FØ ð ?Ø×#Ò#Ñ%Ô%ˆC؈CŒJØ × Ò ¥¥T¨(¡^¤^°c°UØ,7Ô,>ð!@ñ!@ô!@ñ Aô Að Að AõÐ=Ñ>Ô>Ð >Ø×ÒÑÔÐàÔˆð �4ˆ<ˆ<Øð ;ð!%§¢°Ñ 5Ô 5°aÔ 8¸)ÀA¼,Ô:MÐN� Ø&*§i¢i° Ñ&=Ô&=� ˜!” Ô#Ð#Ð#à Ô'Ð'Ð'Ð'Ø Ô-Ð5Ð5Ð5å$™;œ;�ØÔ ×-Ò-¨hÑ7Ô7Ð7Ø Ô-°Ð9Ð9Ð9Ð9ð#'§/¢/°$Ñ"7Ô"7¸Ô":�”��ð! ˆrSsžðððð<ÐÐÐÐÐØAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAà8€Ø1€ðs;ðs;ðs;ðs;ðs;� Ô"ñs;ôs;ðs;ðs;ðs;r