
    ,h                         d Z ddlZddlmZmZ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 ddgZ G d de      Z G d de      Zy)	z
    pygments.lexers.bibtex
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for BibTeX bibliography data and styles

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerExtendedRegexLexerincludedefaultwords)NameCommentStringErrorNumberKeywordPunctuation
WhitespaceBibTeXLexerBSTLexerc                   d   e Zd ZdZdZddgZdgZdgZdZe	j                  ZdZd	Zd
j                  dez   dez         Zd Zd Z ed      defdej*                  dfdej*                  dfdez   ej*                  dfdefg ed      dedfg ed      dedfg ed      dej,                  dfg ed      dedf ed      g ed      eej2                  df ed      g ed      d edfg ed      eej4                  fd!ed"fd#ed$fd%efd&ef ed      gd#ed$fd!edfd'efgd#ed(fd)edfd*efgd+efgd,Zy-).r   z6
    A lexer for BibTeX bibliography data format.
    BibTeXbibtexbibz*.bibztext/x-bibtex2.2 https://texfaq.org/FAQ-BibTeXingz@!$&*+\-./:;<>?\[\\\]^`|~z	[{}][{}]*za-z_z\wc              #      K   |j                         }||_        |j                         t        |f |j	                         |_        y w)N)groupopening_bracestartr   endpos)selfmatchctxr   s       X/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/bibtex.pyopen_brace_callbackzBibTeXLexer.open_brace_callback%   s9     )kkm[-77))+s   AA	c              #     K   |j                         }|j                  dk(  r|dk7  s|j                  dk(  r|dk7  r|j                         t        |f n|j                         t        |f |`|j                         |_        y w)N{}())r   r   r   r   r   r   r   )r   r   r    closing_braces       r!   close_brace_callbackz BibTeXLexer.close_brace_callback+   st     $#)=$#)=++-55++-m;;))+s   BB
whitespacez@comment(?!ary)z	@preamble)closing-bracevalueopening-bracez@string)r+   fieldr-   @)r+   command-bodyr-   z.+z[{(]#popz[})]z
[^\s\,\}]+)r1   fields,r.   )r,   =r4   "quoted-string\{braced-stringz[\d]+#z[^\{\"]+z#push\}z[^\{\}]+\s+)rootr-   r+   r0   r2   r.   r4   r,   r6   r8   r*   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesversion_addedre
IGNORECASEflagsurlALLOWED_CHARSformat
IDENTIFIERr"   r)   r   r	   r   ClassLabelr   r   	AttributeVariabler
   r   r   tokens     r!   r   r      s
    DG	I !IMMME
,C0M##F]$:EM<QRJ
 L!)$**&QR

$OP:tzz?A7O
 L!)62

 L!*F3

 L!DJJ(:;

 L!+w'FO
 L!8FO
 L!+v&

 L!'&/*FO,v+FO
 FO,&&!&!
 FG$FF#&!
 Z 
o:FrS   c                      e Zd ZdZdZddgZdgZdZej                  ej                  z  ZdZ ed       ed	d
g      ef eg d      edf eddg      edf edg      edfg ed      dedfg ed      dedfg ed      dej$                  fdej&                  fdej(                  fdefdefdedf ed      gdefdej4                  fgdZy) r   z1
    A lexer for BibTeX bibliography styles.
    BSTbstz
bst-pybtexz*.bstr   r   r*   readsort)executeintegersiteratereversestringsr   functionmacro)r   r   entry)r   r   r   r7   )r1   	group-endbodyr:   r1   z\'[^#\"\{\}\s]+z[^#\"\{\}\s]+\$z[^#\"\{\}\s]+z"[^\"]*"z#-?\d+)ra   rb   r;   z%.*?$)r<   r   ra   rb   r*   N)r=   r>   r?   r@   rA   rB   rC   rE   rF   rG   	MULTILINErH   rI   r   r   r   r   r   FunctionBuiltinrP   r
   r   r   r   r	   SinglerQ   rR   rS   r!   r   r   t   s@    Dl#G	IMMMBLL(E
,C L!FF#$g.KLw!J()74FGG9w(CD
 L!K!>?

 L!K(

 L!/.t}}-&!K!67FO	
 Z gnn%
7FrS   )r@   rF   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   __all__r   r   rR   rS   r!   <module>rj      sP    

 
   *
%\$ \~+z +rS   