§
    £E±c,  ã                   óª   — d Z ddlZddlmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ g d¢Z G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        ZdS )zË
    pygments.lexers.diff
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for diff/patch formats.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroups)ÚTextÚCommentÚOperatorÚKeywordÚNameÚGenericÚLiteralÚ
Whitespace)Ú	DiffLexerÚDarcsPatchLexerÚ
WDiffLexerc                   ó6  — e Zd ZdZdZddgZddgZddgZd	d
 ee	e
e	¦  «        fd eej        e	¦  «        fd eej        e	¦  «        fd eej        e	¦  «        fd eej        e	¦  «        fd eej        e	¦  «        fd eej        e	¦  «        fde	fgiZd„ ZdS )r   z>
    Lexer for unified or context-style diffs or patches.
    ÚDiffÚdiffÚudiffz*.diffz*.patchztext/x-diffztext/x-patchÚrootz( )(.*)(\n)z
(\+.*)(\n)z	(-.*)(\n)z	(!.*)(\n)z	(@.*)(\n)z((?:[Ii]ndex|diff).*)(\n)z	(=.*)(\n)ú(.*)(\n)c                 óf   — | d d…         dk    rdS | d d…         dk    rdS | d d…         dk    rdS d S )	Né   zIndex: Té   zdiff é   z--- gÍÌÌÌÌÌì?© )Útexts    ú6/usr/lib/python3/dist-packages/pygments/lexers/diff.pyÚanalyse_textzDiffLexer.analyse_text+   sR   € Ø���Œ8�yÒ Ð Ø�4Ø���Œ8�wÒÐØ�4Ø���Œ8�vÒÐØ�3ð Ðó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr   r   r   r   ÚInsertedÚDeletedÚStrongÚ
SubheadingÚHeadingÚtokensr   r   r   r   r   r      s  € € € € € ðð ð €DØ�wÐ€GØ˜9Ð%€IØ Ð/€Ið 	Ø˜X˜X j°$¸
ÑCÔCÐDØ˜H˜H WÔ%5°zÑBÔBÐCØ˜8˜8 G¤O°ZÑ@Ô@ÐAØ˜8˜8 G¤N°JÑ?Ô?Ð@Ø˜8˜8 GÔ$6¸
ÑCÔCÐDØ)¨8¨8°G´OÀZÑ+PÔ+PÐQØ˜8˜8 G¤O°ZÑ@Ô@ÐAØ˜*Ð%ð	
ð€Fðð ð ð ð r   r   c                   óð  — e Zd ZdZdZdgZddgZdZdefdefd	efd
efd e	ee
eeeeej        ee¦	  «	        fd e	ee
eeeeej        e¦  «        dfdej        fdej        fdej        fdd                     e¦  «        z   e	ee
ee¦  «        fdej        dfdej        dfd e	ee¦  «        fgdefdedfgdedfdefg ed¦  «        dej        fdej        fg ed¦  «        dej        fdej        fgd œZd!S )"r   zä
    DarcsPatchLexer is a lexer for the various versions of the darcs patch
    format.  Examples of this format are derived by commands such as
    ``darcs annotate --patch`` and ``darcs send``.

    .. versionadded:: 0.10
    zDarcs PatchÚdpatchz*.dpatchz*.darcspatch)ÚhunkÚaddfileÚadddirÚrmfileÚrmdirÚmoveÚreplaceú<ú>z\{z\}z/(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)(\])z+(\[)((?:TAG )?)(.*)(\n)(.*)(\*\*)(\d+)(\s?)ÚcommentzNew patches:zContext:zPatch bundle hash:z(\s*)(%s)(.*)(\n)ú|z\+Úinsertú-Údeleter   z	[^\]].*\nz\]ú#popz\nz
\[_[^_]*_]ÚspecialTextz\[z[^\n\[]+)r   r9   r?   r;   r=   N)r    r!   r"   r#   r$   r%   r&   ÚDPATCH_KEYWORDSr   r   r	   r
   r   r   ÚDater   r,   Újoinr   r(   r)   r   r   r-   r   r   r   r   r   4   sÄ  € € € € € ðð ð €DØˆj€GØ˜^Ð,€Ið"€Oð
 �8ÐØ�8ÐØ�HÐØ�HÐØ?ØˆX�h ¨¨z¸4ÀØ”l J°ñ:ô :ð;ð <ØˆX�h ¨¨z¸4ÀØ”l Jñ0ô 0Ø1:ð<ð ˜gœoÐ.Ø˜'œ/Ð*Ø" G¤OÐ4Ø! C§H¢H¨_Ñ$=Ô$=Ñ=Ø�˜ W¨d°JÑ?Ô?ðAà�GÔ$ hÐ/Ø�7”? HÐ-Ø˜(˜( 4¨Ñ4Ô4Ð5ð%
ð* ˜7Ð#Ø�H˜fÐ%ð
ð
 �J Ð'Ø˜HÐ%ð
ð
 ˆG�MÑ"Ô"Ø�GÔ$Ð%Ø˜'Ô*Ð+ð
ð ˆG�MÑ"Ô"Ø�G”OÐ$Ø˜'œ/Ð*ð
ðE'ð '€F€F€Fr   r   c            	       óh  — e Zd ZdZdZdZdgZdgZg Ze	j
        e	j        z  ZdZdZdZd	Zd
Zeej        dfeej        dfeefdefgeej        dfeej        dfeej        dfeej        dfeej        fdej        fgeej        dfeej        dfeej        dfeej        dfeej        fdej        fgdœZdS )r   a
  
    A wdiff lexer.

    Note that:

    * It only works with normal output (without options like ``-l``).
    * If the target files contain "[-", "-]", "{+", or "+}",
      especially they are unbalanced, the lexer will get confused.

    .. versionadded:: 2.2
    ÚWDiffz#https://www.gnu.org/software/wdiff/Úwdiffz*.wdiffz\{\+z\+\}z\[\-z\-\]z[^{}[\]+-]+ÚinsertedÚdeletedú.z#pushr>   )r   rF   rG   N)r    r!   r"   r#   r$   Úurlr%   r&   r'   ÚreÚ	MULTILINEÚDOTALLÚflagsÚins_opÚins_clÚdel_opÚdel_clÚnormalr   r(   r)   r   r-   r   r   r   r   r   n   s6  € € € € € ð
ð 
ð €DØ
/€CØˆi€GØ�€IØ€IàŒL˜2œ9Ñ$€Eð €FØ€FØ€FØ€FØ€Fð �WÔ% zÐ2Ø�W”_ iÐ0Ø�TˆNØ�4ˆLð	
ð �WÔ% wÐ/Ø�WÔ% wÐ/Ø�WÔ% vÐ.à�WÔ% vÐ.Ø�WÔ%Ð&Ø�7Ô#Ð$ð
ð �W”_ gÐ.Ø�W”_ gÐ.Ø�W”_ fÐ-à�W”_ fÐ-Ø�W”_Ð%Ø�7”?Ð#ð
ð!ð €F€F€Fr   r   )r#   rJ   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r   r   r   ú<module>rV      s3  ððð ð 
€	€	€	à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð
8Ð
8€ðð ð ð ð �
ñ ô ð ð@7ð 7ð 7ð 7ð 7�jñ 7ô 7ð 7ðt7ð 7ð 7ð 7ð 7�ñ 7ô 7ð 7ð 7ð 7r   