\dHHdZddlmZddlmZGddejZdS)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 eZdZdZdZdZdZdS) FixIsinstanceTz power< 'isinstance' trailer< '(' arglist< any ',' atom< '(' args=testlist_gexp< any+ > ')' > > ')' > > ct}|d}|j}g}t|}|D]\}} | jtjkrN| j|vrE|t|dz kr.||dzjtjkrt|gh| | | jtjkr| | j|r|djtjkr|d=t|dkr6|j } | j |d_ | |ddS||dd<|dS)Nargs)setchildren enumeratetyperNAMEvaluelenCOMMAnextappendaddparentprefixreplacechanged) selfnoderesultsnames_insertedtestlistr new_argsiteratoridxargatoms -..\python\lib\lib2to3\fixes\fix_isinstance.py transformzFixIsinstance.transformsO6? T??  2 2HCx5:%%#)~*E*ETQ&&4a=+=+L+LNNN$$$8uz))"&&sy111   )U[88 x==A  ?D!%HQK  LL! % % % % %DG LLNNNNNN)__name__ __module__ __qualname__ BM_compatiblePATTERN run_orderr'r(r&rrs6MGIr(rN)__doc__r fixer_utilrBaseFixrr/r(r&r4sl$$$$$J&$$$$$r(