o ?Og@s\dZgdZddlZddlmZddlmZd ddZGd d d Zd d Z eZ e j Z dS)zGRedo the builtin repr() (representation) but with limits on most sizes.)Reprreprrecursive_reprN)islice) get_ident...csfdd}|S)zGDecorator to make a repr function return fillvalue for a recursive callcsXtfdd}td|_td|_td|_td|_tdi|_|S)Nc sJt|tf}|vr S|z |}W||S|wN)idradddiscard)selfkeyresult) fillvalue repr_running user_function./opt/alt/python310/lib64/python3.10/reprlib.pywrappers    z.decorating_function..wrapper __module____doc____name__ __qualname____annotations__)setgetattrrrrrr)rrr)rrrdecorating_function s   z+recursive_repr..decorating_functionr)rrrrrr s rc@s~eZdZddZddZddZddd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZdS) rcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)N() maxlevelmaxtuplemaxlistmaxarraymaxdictmaxset maxfrozensetmaxdeque maxstringmaxlongmaxother)r rrr__init__&s z Repr.__init__cCs|||jSr)repr1r#)r xrrrr3sz Repr.reprcCsRt|j}d|vr|}d|}t|d|r#t|d|||S|||S)N _repr_)typersplitjoinhasattrr repr_instance)r r0leveltypenamepartsrrrr/6s   z Repr.repr1c st|}|dkr |r d}n,|d|jfddt||D} ||kr*| dd| }|dkr9|r9||}d|||fS)Nrrcsg|]}|qSrr).0elemnewlevelr/rr Gsz'Repr._repr_iterable.., z%s%s%s)lenr/rappendr6) r r0r9leftrightmaxitertrailnspiecesrr@r_repr_iterable@s  zRepr._repr_iterablecCs|||dd|jdS)N(),)rMr$r r0r9rrr repr_tupleMszRepr.repr_tuplecC|||dd|jS)N[])rMr%rQrrr repr_listPzRepr.repr_listcCs,|sd|jSd|j}||||d|jS)Nz array('%s')z array('%s', []))typecoderMr&)r r0r9headerrrr repr_arraySs  zRepr.repr_arraycC$|sdSt|}|||dd|jS)Nzset(){})_possibly_sortedrMr(rQrrrrepr_setYsz Repr.repr_setcCr\)Nz frozenset()z frozenset({z}))r_rMr)rQrrrrepr_frozenset_s  zRepr.repr_frozensetcCrS)Nzdeque([rX)rMr*rQrrr repr_dequefrWzRepr.repr_dequec Cst|}|dkr dS|dkrdS|d}|j}g}tt||jD]}|||}||||} |d|| fq!||jkrC|dd|} d| fS) Nrz{}z{...}r=z%s: %srrCz{%s})rDr/rr_r'rEr6) r r0r9rJrAr/rLr keyreprvalreprrKrrr repr_dictis     zRepr.repr_dictcCst|d|j}t||jkrJtd|jdd}td|jd|}t|d||t||d}|d|d|t||d}|SNrr)builtinsrr+rDmaxr r0r9rKijrrrrepr_strxs&$z Repr.repr_strcCsht|}t||jkr2td|jdd}td|jd|}|d|d|t||d}|Srf)rirrDr,rjrkrrrrepr_ints $z Repr.repr_intcCszt|}Wntyd|jjt|fYSwt||jkrHtd|jdd}td|jd|}|d|d|t||d}|S)Nz<%s instance at %#x>rrgrhr) rir Exception __class__rr rDr-rjrkrrrr8s $zRepr.repr_instanceN)r<)rrrr.rr/rMrRrVr[r`rarbrernror8rrrrr$s    rcCs&zt|WStyt|YSwr)sortedrplist)r0rrrr_s    r_)r) r__all__ri itertoolsr_threadrrrr_aReprrrrrrs   s