ó
    6°h  ã                  ón   • S SK Jr  S SKJrJr  S SKJrJrJrJ	r	  S SK
Jr   " S S5      r " S S\5      rg	)
é    )Úannotations)ÚhexÚshort)ÚencodingÚpycompatÚtemplatefiltersÚutil)Údateutilc                  óR   • \ rS rSrSrS rS	S jr\R                  S 5       r	S r
Srg)
Údefaultformatteré   zEthe default formatter that does leftpad and support some common flagsc                óÆ  ^^^^^^^• Xl         X0l        UR                  (       a  [        R                  nO[        R
                  n[        R                  " U5      n[        R                  " U4S j5      mU R                  mU R                  R                  S5      S:X  ag  TmU4S jmT" TS   R                  5       5      S-   mSTS   R                  5       -  mSmUR                  S	5      (       d  TS-  mS
mUU4S jnU4S jnO[        R                  =pVSS
U4S jUR                  4SS
U4S jU4S	S
U4S jU4SS
U4S jU4SS
S [        R                  4SSS [        R                  4/nSSS.nU V	V
VVs/ s H2  u  pšp¼UR                  U	5      (       d  M  XºUR                  X™5      U4PM4     nnn
n	n[        US   5      US'   SUS   S'   XÐl        g s  snnn
n	f )Nc                ó   >• TU S      $ ©Nr   © )ÚxÚrepos    €Ú>/usr/lib/python3/dist-packages/hgext/fastannotate/formatter.pyÚ<lambda>Ú+defaultformatter.__init__.<locals>.<lambda>$   s   ø€ ¨$¨q°©tª*ó    s   revs   wdir()c                ó   >• U c  S $ T" U 5      $ ©Nr   )r   Úorigs    €r   r   r   *   s   ø€ ¨©	 Ð >±t¸A³wÐ >r   ó   .ó   +ó   %dr   ó	   changesetó    c                ó   >• U c  T$ SU -  T-   $ )Nr   r   )r   ÚwrevÚwrevpads    €€r   r   r   1   s   ø€  q¡y˜tÐK°u¸q±yÀGÑ6KÐKr   c                ó@   >• U c  T$ [         R                  " U 5      S-   $ )Nr   )r   Úbytestr)r   Úwnodes    €r   ÚcsetencÚ*defaultformatter.__init__.<locals>.csetenc3   s#   ø€ Ø‘9Ø �LÜ×'Ò'¨Ó*¨TÑ1Ð1r   s   userc                ó0   >• T" U 5      R                  5       $ r   )Úuser©r   Úgetctxs    €r   r   r   =   ó   ø€ ¡f¨Q£i§n¡nÔ&6r   ó   numberc                ó0   >• T" U 5      R                  5       $ r   )Úrevr*   s    €r   r   r   >   s   ø€ ©¨q«	¯©¬r   c                ó   >• T" U S   5      $ r   r   )r   Úhexfuncs    €r   r   r   ?   s   ø€ ©7°1°Q±4¬=r   ó   datec                ó0   >• T" U 5      R                  5       $ r   )Údater*   s    €r   r   r   @   r,   r   s   filec                ó   • U S   $ )Né   r   ©r   s    r   r   r   A   s   €  a¨¢dr   s   line_numberó   :c                ó   • U S   S-   $ )Né   r   r7   s    r   r   r   B   s   € ¨Q¨q©T°AªXr   ó   node)r-   r   r   r:   )ÚuiÚoptsÚquietr
   Ú	shortdateÚdatestrr	   Ú	cachefuncÚ_hexfuncÚgetÚnoder/   r   r$   Ú	shortuserÚlistÚfuncmap)Úselfr<   r   r=   ÚdatefuncÚrevencr&   ÚopmapÚfieldnamemapÚopÚseprC   ÚencrG   r+   r1   r   r%   r!   r"   s     `           @@@@@@r   Ú__init__Údefaultformatter.__init__   s¿  þ€ ØŒØŒ	à�8�8Ü×)Ñ)‰Hä×'Ñ'ˆHÜ—>’> (Ó+ˆÜ—’Ô 4Ó5ˆØ—-‘-ˆð �9‰9�=‰=˜Ó  IÓ-ØˆDÜ>ˆGÙ˜D ™JŸO™OÓ-Ó.°Ñ5ˆEØ˜4 ™:Ÿ>™>Ó+Ñ+ˆDØˆGØ—8‘8˜L×)Ñ)Ø˜‘�Ø�ÝKˆFö2ô  (×/Ñ/Ð/ˆFð �dÔ6¸¿¹ÐEØ˜Ô7¸Ð@Ø˜4Ô!8¸'ÐBØ�dÔ6¸ÐAØ�d™N¬H×,<Ñ,<Ð=Ø˜TÑ#5´x×7GÑ7GÐHð
ˆð $*¸ÑAˆñ &+ö
â%*Ñ!�˜Ø�x‰x˜�|ó 6ˆS�|×'Ñ'¨Ó/°Ó5Ù%*ð 	ó 
ô ˜' !™*Ó%ˆ�‰
Øˆ�‰
�1‰Ø�ùõ
s   Å=G
ÆG
Nc           	     ó6  • / n/ nU R                    H’  u  pgp‰U V
s/ s H  o©" U" U
5      5      PM     nn
UR                  U5        US;   a  USS n[        R                  " [        R
                  [        U5      5      nU(       a  [        U5      OSnUR                  U5        M”     Sn[        [        U5      5       H¹  n[        U5       H<  u  nnU R                   U   S   nSUU   [        UU   5      -
  -  nXçU-   UU   -   -  nM>     U(       aT  Uc  USX/   -   -  nOFX   S   X   S   4nUU;   a  USX/   -   -  nO'USU R                  R                  S	X/   -   S
5      -   -  nUSS S:w  d  M´  US-  nM»     U R                  R                  U5        gs  sn
f )zˆ(annotateresult, [str], set([rev, linenum])) -> None. write output.
annotateresult can be [(node, linenum, path)], or [(node, linenum)]
)r;   r2   Nr:   r   r   r   s   : s   :  ó   -s   diff.deletedéÿÿÿÿó   
)rG   Úappendr   Úmaplistr   ÚcolwidthÚsetÚmaxÚrangeÚlenÚ	enumerater<   ÚlabelÚwrite)rH   ÚannotatedresultÚlinesÚexistinglinesÚpiecesÚ	maxwidthsÚfrN   ÚnamerO   r   ÚlÚwidthsÚmaxwidthÚresultÚiÚjÚpÚpaddingÚkeys                       r   r_   Údefaultformatter.writeO   s°  € ð ˆØˆ	ð "&§¤ÑˆA�DÙ$3Ó4¢O˜q�‘Q�q“T–¡OˆAÐ4Ø�M‰M˜!ÔØÐ)Ó)Ø�b�q�E�Ü×%Ò%¤h×&7Ñ&7¼¸Q»Ó@ˆFÞ&,”s˜6”{°!ˆHØ×Ñ˜XÖ&ñ ".ð ˆÜ”s˜?Ó+Ö,ˆAÜ! &Ö)‘��1Ø—l‘l 1‘o aÑ(�Ø )¨A¡,´°Q°q±T³Ñ":Ñ;�Ø ™-¨!¨A©$Ñ.Ñ.’ñ *ö Ø Ñ(Ø˜e e¡hÑ.Ñ.‘Fà*Ñ-¨aÑ0°/Ñ2DÀQÑ2GÐH�CØ˜mÓ+Ø &¨5©8Ñ"3Ñ3™à %¨$¯'©'¯-©-Ø  5¡8™O¨_ó+ñ #ñ ˜ð �b�cˆ{˜eÕ#Ø˜%‘’ñ% -ð( 	�‰�‰�fÕùò= 5s   ›Fc                ó�   • U R                   R                  (       d   U R                  R                  S5      (       a  [        $ [
        $ )Ns	   long_hash)r<   Ú	debugflagr=   rC   r   r   ©rH   s    r   rB   Údefaultformatter._hexfuncx   s+   € à�7‰7×× §	¡	§¡¨l× ;Ñ ;ÜˆJäˆLr   c                ó   • g r   r   rs   s    r   ÚendÚdefaultformatter.end   s   € Ør   )rG   r=   r<   ©NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rP   r_   r	   ÚpropertycacherB   rv   Ú__static_attributes__r   r   r   r   r      s0   † ÙOò2ôh'ðR 
×Ññó ðõr   r   c                  ób   ^ • \ rS rSrU 4S jrSS jrS r\R                  S 5       r	S r
SrU =r$ )	Újsonformatteréƒ   c                ój   >• [         TU ]  XU5        U R                  R                  S5        SU l        g )Nó   [F)ÚsuperrP   r<   r_   Ú	needcomma)rH   r<   r   r=   Ú	__class__s       €r   rP   Újsonformatter.__init__„   s)   ø€ Ü‰Ñ˜ 4Ô(Ø�‰�‰�dÔØˆ�r   c                óv  • U(       a  U R                  5         U R                   VVVVs/ s H  u  pEpgU[        R                  " XA5      4PM      nnnnnUb  UR	                  SU45        UR                  5         S/[        US S 5      -  S/-   n	Sn
[        U5      S-
  n[        [        U5      5       HS  nU
S-  n
[        U5       H-  u  pÞUu  nnU
SU[        R                  " UU   SS	9X�   4-  -  n
M/     U
S
XË:X  a  SOS-  -  n
MU     US:¼  a  SU l        U R                  R                  U
5        g s  snnnnf )Ns   lineó   ,rT   r   r:   s   
 {
s     "%s": %s%s
F)Úparanoids    }%sr   T)Ú_writecommarG   r   rW   rV   Úsortr\   r[   r]   r   Újsonr†   r<   r_   )rH   r`   ra   rb   re   rN   rf   rO   rc   Úsepsrj   Úlastirk   rl   rm   ÚkÚvss                    r   r_   Újsonformatter.write‰   sG  € ÞØ×ÑÔð &*§\¢\ö
â%1Ñ!�˜ð ”8×#Ò# AÓ7Ó8Ù%1ð 	ó 
ð ÑØ�M‰M˜7 EÐ*Ô+Ø�‰Œàˆvœ˜F 3 B˜KÓ(Ñ(¨C¨5Ñ0ˆàˆÜ�OÓ$ qÑ(ˆÜ”s˜?Ó+Ö,ˆAØ�iÑˆFÜ! &Ö)‘�Ø‘��2ØÐ+ØÜ#×(Ò(¨¨A©¸Ñ?Ø‘Gð/ñ ñ ’ñ *ð �g¨«
¡¸Ñ=Ñ=ŠFñ -ð �A‹:Ø!ˆDŒNà�‰�‰�fÕùõ3
s   ©%D3
c                ól   • U R                   (       a#  U R                  R                  S5        SU l         g g )NrŠ   F)r†   r<   r_   rs   s    r   rŒ   Újsonformatter._writecomma¨   s%   € Ø�>�>Ø�G‰G�M‰M˜$ÔØ"ˆD�Nð r   c                ó   • [         $ r   )r   rs   s    r   rB   Újsonformatter._hexfunc­   s   € äˆ
r   c                ó:   • U R                   R                  S5        g )Ns   
]
)r<   r_   rs   s    r   rv   Újsonformatter.end±   s   € Ø�‰�‰�hÕr   )r†   rx   )ry   rz   r{   r|   rP   r_   rŒ   r	   r~   rB   rv   r   Ú__classcell__)r‡   s   @r   r�   r�   ƒ   s6   ø† õô
ò>#ð
 
×Ññó ð÷ ð  r   r�   N)Ú
__future__r   Úmercurial.noder   r   Ú	mercurialr   r   r   r	   Úmercurial.utilsr
   r   r�   r   r   r   Ú<module>rŸ      s8   ðõ #÷÷ó õ %÷
hñ hôV/ Ð$õ / r   