grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´i½ã@sˆddlmZddlmZddlmZddlmZmZmZm Z m Z m Z dd„Z Gdd„dej ƒZd d „Zd d „Zgd fdd„Zdd„Zd S)é)Úpytree)Útoken)Ú fixer_base)ÚAssignÚNameÚNewlineÚNumberÚ SubscriptÚsymscCst|tjƒo|jdjtjkS)Né)Ú isinstancerÚNodeÚchildrenÚtyperÚSTRING)Ústmt©rú6/usr/lib64/python3.9/lib2to3/fixes/fix_tuple_params.pyÚ is_docstrings ÿrc@s(eZdZdZdZdZdd„Zdd„ZdS) ÚFixTupleParamséTa funcdef< 'def' any parameters< '(' args=any ')' > ['->' any] ':' suite=any+ > | lambda= lambdef< 'lambda' args=vfpdef< '(' inner=any ')' > ':' body=any > c sšd|vrˆ ||¡Sg‰|d}|d}|djdjtjkrZd}|djdj}tƒ‰nd}d}t tjd¡‰d‡‡‡fd d „ }|jt j kr˜||ƒn<|jt j krÔt |jƒD]$\}} | jt j kr®|| |dkd �q®ˆsÜdSˆD]} |d| _ qà|} |dk�r d ˆd_n&t|dj|ƒ�r0|ˆd_|d} ˆD]} |d| _ �q4ˆ|dj| | …<t| d| tˆƒdƒD]}||dj|_�qr|d ¡dS)NÚlambdaÚsuiteÚargsr érz; ÚFcs\tˆ ¡ƒ}| ¡}d|_t|| ¡ƒ}|r2d|_| |¡ˆ t t j |ˆ ¡g¡¡dS)Nrú ) rÚnew_nameÚcloneÚprefixrÚreplaceÚappendrr r Z simple_stmt)Z tuple_argÚ add_prefixÚnÚargr©ÚendZ new_linesÚselfrrÚ handle_tupleCs    ÿz.FixTupleParams.transform..handle_tuple)r"r)F)Útransform_lambdarrrÚINDENTÚvaluerrZLeafr ZtfpdefZ typedargslistÚ enumerateÚparentrrÚrangeÚlenÚchanged) r'ÚnodeÚresultsrrÚstartÚindentr(Úir$ÚlineZafterrr%rÚ transform.sF         zFixTupleParams.transformc Csâ|d}|d}t|dƒ}|jtjkrD| ¡}d|_| |¡dSt|ƒ}t|ƒ}|  t |ƒ¡}t |dd�} | |  ¡¡|  ¡D]X} | jtjkr„| j |vr„dd„|| j Dƒ} t tj|  ¡g| ¡} | j| _|  | ¡q„dS)NrÚbodyÚinnerr)rcSsg|] }| ¡‘qSr)r©Ú.0ÚcrrrÚ ‚óz3FixTupleParams.transform_lambda..)Ú simplify_argsrrÚNAMErrr Ú find_paramsÚ map_to_indexrÚ tuple_namerZ post_orderr+rr r Zpower) r'r1r2rr8r9ÚparamsZto_indexZtup_nameZ new_paramr#Z subscriptsÚnewrrrr)ns*      ÿzFixTupleParams.transform_lambdaN)Ú__name__Ú __module__Ú __qualname__Z run_orderZ BM_compatibleZPATTERNr7r)rrrrrs  @rcCsN|jtjtjfvr|S|jtjkr>|jtjkr:|jd}q"|Std|ƒ‚dS)NrzReceived unexpected node %s)rr Zvfplistrr@ÚvfpdefrÚ RuntimeError©r1rrrr?‹s   r?cCs<|jtjkrt|jdƒS|jtjkr,|jSdd„|jDƒS)NrcSs g|]}|jtjkrt|ƒ‘qSr)rrÚCOMMArAr:rrrr=›r>zfind_params..)rr rIrArrr@r+rKrrrrA–s   rANcCsZ|dur i}t|ƒD]@\}}ttt|ƒƒƒg}t|tƒrHt|||d�q||||<q|S)N)Úd)r,r rÚstrr ÚlistrB)Ú param_listrrMr5ÚobjZtrailerrrrrB�s rBcCs<g}|D](}t|tƒr&| t|ƒ¡q| |¡qd |¡S)NÚ_)r rOr!rCÚjoin)rPÚlrQrrrrC¨s   rC)rrZpgen2rrZ fixer_utilrrrrr r rZBaseFixrr?rArBrCrrrrÚs    l