
    ,hg                        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mZmZ ddlmZ ddlmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddl m!Z! ddl"m#Z# g dZ$ G d de      Z% G d de      Z& G d de      Z' G d de      Z( G d de      Z) G d de      Z* G d de      Z+ G d de      Z, G d de      Z- G d  d!e      Z. G d" d#e      Z/ G d$ d%e      Z0 G d& d'e      Z1 G d( d)e      Z2 G d* d+e      Z3 G d, d-e      Z4 G d. d/e      Z5 G d0 d1e      Z6 G d2 d3e      Z7 G d4 d5e      Z8y)6z
    pygments.lexers.parsers
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for parser generators.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerDelegatingLexerincludebygroupsusing)
PunctuationOtherTextCommentOperatorKeywordNameStringNumber
Whitespace)	JavaLexer)CLexerCppLexer)ObjectiveCLexer)DLexer)CSharpLexer)	RubyLexer)PythonLexer)	PerlLexer)
RagelLexerRagelEmbeddedLexerRagelCLexerRagelDLexerRagelCppLexerRagelObjectiveCLexerRagelRubyLexerRagelJavaLexer
AntlrLexerAntlrPythonLexerAntlrPerlLexerAntlrRubyLexerAntlrCppLexerAntlrCSharpLexerAntlrObjectiveCLexerAntlrJavaLexerAntlrActionScriptLexerTreetopLexer	EbnfLexerc                      e Zd ZdZdZdZdgZg ZdZde	fgde
fgdefd	efd
efdefgdej                  fdej                  fgdej                   fdej"                  fdefdej$                  fgdej(                  fgdefdefdefdefdefdefdefdefdefdefdefdefdefd efg ed!       ed"       ed#       ed$       ed%       ed&       ed'      d(ed)fd*efd+efg
d,d-j1                  d.      z   d/z   efd(ed0fd1ed2fgd3	Zy4)5r   zA pure `Ragel <www.colm.net/open-source/ragel>`_ lexer.  Use this
    for fragments of Ragel.  For ``.rl`` files, use
    :class:`RagelEmbeddedLexer` instead (or one of the
    language-specific subclasses).

    Ragel&http://www.colm.net/open-source/ragel/ragel1.1\s+z\#.*$z(access|action|alphtype)\bz (getkey|write|machine|include)\bz2(any|ascii|extend|alpha|digit|alnum|lower|upper)\bz3(xdigit|cntrl|graph|print|punct|space|zlen|empty)\bz0x[0-9A-Fa-f]+z[+-]?[0-9]+"(\\\\|\\[^\\]|[^"\\])*"'(\\\\|\\[^\\]|[^'\\])*'z\[(\\\\|\\[^\\]|[^\\\]])*\]/(?!\*)(\\\\|\\[^\\]|[^/\\])*/z[a-zA-Z_]\w*,z\||&|--?z
\.|<:|:>>?:z->z(>|\$|%|<|@|<>)(/|eof\b)z(>|\$|%|<|@|<>)(!|err\b)z(>|\$|%|<|@|<>)(\^|lerr\b)z(>|\$|%|<|@|<>)(~|to\b)z(>|\$|%|<|@|<>)(\*|from\b)z>|@|\$|%z\*|\?|\+|\{[0-9]*,[0-9]*\}z!|\^z\(|\)literals
whitespacecommentskeywordsnumbersidentifiers	operators\{host=;(|)	z[^{}\'"/#]+[^\\]\\[{}]r4   r5   //.*$\n?/\*(.|\n)*?\*/\#.*$\n?r6   /)+#push\}#pop)	r:   r;   r<   r=   r9   r>   r?   rootrA   N)__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   r   r   HexIntegerr   DoubleSingleRegexr   Variabler   r   r   joinr	   tokens     Y/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/parsers.pyr   r   #   s    D
2CiGIM Z 
 w
 +G40':BGLCWM	
 

+V^^,

 )&--8(&--8+V4.=	
 dmm,
 8(#H%8H((3((3*H5'2*H5(#*H5hx 
" JL!JJIM"K K(8;
 DII   " #" #& K)K(+
mMFrb   r   c                      e Zd ZdZdZdgZdgZdZdZddj                  d	      z   d
z   e
fd ee ee      ee      fdedfgddj                  ddj                  d      z   d
z   ddddddf      z   d
z    ee      fdedfgdZd Zy)r   z
    A lexer for Ragel embedded in a host language file.

    This will only highlight Ragel statements. If you want host language
    highlighting then call the language-specific Ragel lexer.
    zEmbedded Ragelzragel-em*.rlr0   r2   rD   rE   )	z
[^%\'"/#]+z%(?=[^%]|$)r4   r5   rH   rG   rI   r6   rJ   rK   z(%%)(?![{%])(.*)($|;)(\n?)z(%%%%|%%)\{multi-line-fsm)z[^}\'"\[/#]z\}(?=[^%]|$)z\}%(?=[^%]|$)rF   z(>|\$|%|<|@|<>)/z /(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*z/(?=[^/*]|$)r4   r5   z\[(\\\\|\\[^\\]|[^\]\\])*\]rH   rG   rI   z\}%%rN   )rO   rf   c                 
    d| v S )Nz@LANG: indepra   texts    rc   analyse_textzRagelEmbeddedLexer.analyse_text   s    %%rb   N)rP   rQ   rR   rS   rT   rV   rW   rU   rX   r_   r	   r   r   r   r   r
   r`   rj   ra   rb   rc   r   r      s    DlGI
2CM DII     & +H[5::5F5@$-H I
 [*:;3
8 DIItyy "  ( ). ,+.!;  < =< j)=+@ k6*C"
9?FB&rb   r   c                   B     e Zd ZdZdZddgZdgZdZdZ fdZ	d	 Z
 xZS )
r!   z0
    A lexer for Ragel in a Ruby host file.
    zRagel in Ruby Hostz
ragel-rubyzragel-rbre   r0   r2   c                 8    t        |   t        t        fi | y N)super__init__r   r   selfoptions	__class__s     rc   ro   zRagelRubyLexer.__init__       $6B'Brb   c                 
    d| v S )Nz@LANG: rubyra   rh   s    rc   rj   zRagelRubyLexer.analyse_text       $$rb   rP   rQ   rR   rS   rT   rV   rW   rU   rX   ro   rj   __classcell__rs   s   @rc   r!   r!      s5      DZ(GI
2CMC%rb   r!   c                   @     e Zd ZdZdZdgZdgZdZdZ fdZ	d Z
 xZS )	r   z-
    A lexer for Ragel in a C host file.
    zRagel in C Hostzragel-cre   r0   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r   rp   s     rc   ro   zRagelCLexer.__init__       !3?w?rb   c                 
    d| v S )Nz@LANG: cra   rh   s    rc   rj   zRagelCLexer.analyse_text       T!!rb   rw   ry   s   @rc   r   r      2     DkGI
2CM@"rb   r   c                   @     e Zd ZdZdZdgZdgZdZdZ fdZ	d Z
 xZS )	r   z-
    A lexer for Ragel in a D host file.
    zRagel in D Hostzragel-dre   r0   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r   rp   s     rc   ro   zRagelDLexer.__init__  r|   rb   c                 
    d| v S )Nz@LANG: dra   rh   s    rc   rj   zRagelDLexer.analyse_text  r~   rb   rw   ry   s   @rc   r   r      r   rb   r   c                   @     e Zd ZdZdZdgZdgZdZdZ fdZ	d Z
 xZS )	r   z/
    A lexer for Ragel in a C++ host file.
    zRagel in CPP Hostz	ragel-cppre   r0   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r   rp   s     rc   ro   zRagelCppLexer.__init__  s    #5AArb   c                 
    d| v S )Nz
@LANG: c++ra   rh   s    rc   rj   zRagelCppLexer.analyse_text  s    t##rb   rw   ry   s   @rc   r   r   
  s2     DmGI
2CMB$rb   r   c                   @     e Zd ZdZdZdgZdgZdZdZ fdZ	d Z
 xZS )	r    z8
    A lexer for Ragel in an Objective C host file.
    zRagel in Objective C Hostz
ragel-objcre   r0   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r   rp   s     rc   ro   zRagelObjectiveCLexer.__init__'  s    *<HHrb   c                 
    d| v S )Nz@LANG: objcra   rh   s    rc   rj   z!RagelObjectiveCLexer.analyse_text*  rv   rb   rw   ry   s   @rc   r    r      s2     'DnGI
2CMI%rb   r    c                   @     e Zd ZdZdZdgZdgZdZdZ fdZ	d Z
 xZS )	r"   z0
    A lexer for Ragel in a Java host file.
    zRagel in Java Hostz
ragel-javare   r0   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r   rp   s     rc   ro   zRagelJavaLexer.__init__9  rt   rb   c                 
    d| v S )Nz@LANG: javara   rh   s    rc   rj   zRagelJavaLexer.analyse_text<  rv   rb   rw   ry   s   @rc   r"   r"   .  s2      DnGI
2CMC%rb   r"   c                      e Zd ZdZdZdgZg ZdZdZdZ	dZ
dZd	Zd
Zdefgdefdefg ed       ed      de	z   dz    eeeeeej(                  e      fdedfdedfde	z   dz    eeeej,                  ee      dfdedfde	z   dz   e	z   dz    eej.                  eeeej.                  ee      dfde	z   dz    eeeej.                  e      dfg	d ed!fd"ef ed      d#ed$fd%edfg ed       ed      d&efd#ed$fd%edfd'e	z   d(z    eeeej.                        fd)e	z   d(z    eeeej.                        fdedfd* eeee      dfd+e	z   d,z    eeeej.                  ee      fde	z   dz    eej.                  ee      dfd-ed!fg ed       ed      dedfd-efd.ej2                  fd/ej4                  fd0efd1ej6                  fd2ej,                  fd3efd4efd#ed$fd%edfd5ed!fg ed       ed      d%efd6e
z   d7z   ez   d8z    eej.                  eeeeee      fd9ed!fg ed       ed      d%efd6e	z   d:z   d;j;                  e	eed<f      z   d,z    eej,                  eeeeee      fd9ed!fgd6d;j;                  d=      z   d>z   efd? eee      fd@ eej,                  eej@                        fd%edAfd9ed!fgd6d;j;                  dB      z   d>z   efd#edAfdCed!fd@ eej,                  eej@                        fdDefgdE
Z!dF Z"yG)Hr#   z{
    Generic ANTLR Lexer.
    Should not be called directly, instead
    use DelegatingLexer for your target language.
    ANTLRantlrhttps://www.antlr.orgr2   z[A-Za-z]\w*[A-Z]\w*z[a-z]\w*z\'(?:\\\\|\\\'|[^\']*)\'z[0-9]+r3   z//.*$rH   r:   r;   z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z	options\brr   ztokens\br`   z(scope)(\s*)(z
)(\s*)(\{)actionz(catch|finally)\b	exceptionz(@z)(\s*)(::)?(\s*)(z0((?:protected|private|public|fragment)\b)?(\s*)(z)(!)?)	rule-altsrule-prelimsz\nrN   z\sz\[nested-arg-actionr@   z	returns\bz(throws)(\s+)()z	(,)(\s*)(z(scope)(\s+)(\{)z(scope)(\s+)(z	)(\s*)(;)r8   r4   r5   z<<([^>]|>[^>])>>z\$?[A-Z_]\w*z\$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r7   rC   rD   z)(\s*)(=)?(\s*)(z
)?(\s*)(;)rM   z)(\s*)(=)(\s*)(rE   z\*)z[^${}\'"/\\]+r4   r5   rG   rH   r6   z\\(?!%)rJ   rK   z(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?rL   )z[^$\[\]\'"/]+r4   r5   rG   rH   r6   rJ   z\]z(\\\\|\\\]|\\\[|[^\[\]])+)
r:   r;   rO   r   r   r   r`   rr   r   r   c                 L    t        j                  d| t         j                        S )Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)researchMrh   s    rc   rj   zAntlrLexer.analyse_text  s    yy:D"$$GGrb   N)#rP   rQ   rR   rS   rT   rV   rW   rU   rX   _id
_TOKEN_REF	_RULE_REF_STRING_LITERAL_INTr   r   r   r   r   r   Classr   r^   Labelr   r[   r\   Constantr   r_   r
   r	   Propertyr`   rj   ra   rb   rc   r#   r#   @  s    DiGI
!CM
CJI1OD Z 
 w(

 L!J:S@6Igz7J

!#$ 7I.'8,#m3gz4==*!#$,. "7K8S[//#5Edjj*k:jj*k;<DF A3FPgz4::{C*,-
6 J'JJK!45K*
 L!J7#K!45K*$s*gz4::68C#%k:tzz:< 7I. !(7J"L#l2gz4::z;OQ S[=(djj*k:HF ;'3
8 L!J 7I.; )&--8(&--8 &) dmm,dmm,=xH;K!45K*;'-
2 L!JK J!44Fdjj*k:j+78 K(	
 L!JK CZ,,XXsOT59:;=IJdmmZjJ56 K(	
 DII   & '& '( +u56/dmm[$--@BK)K(3
8 DII     !  !& K)K(/dmm[$--@B)511
YfFPHrb   r#   c                   B     e Zd ZdZdZdgZddgZdZdZ fdZ	d	 Z
 xZS )
r'   z
    ANTLR with C++ Target
    zANTLR With CPP Targetz	antlr-cpp*.G*.gr   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrCppLexer.__init__  s    :99rb   c                 z    t         j                  |       xr% t        j                  d| t        j                        S )Nz^\s*language\s*=\s*C\s*;r#   rj   r   r   r   rh   s    rc   rj   zAntlrCppLexer.analyse_text  s/    &&t, ?II14>	?rb   rw   ry   s   @rc   r'   r'     s3     #DmGI
!CM:?rb   r'   c                   B     e Zd ZdZdZdgZddgZdZdZ fdZ	d	 Z
 xZS )
r)   z'
    ANTLR with Objective-C Target
    zANTLR With ObjectiveC Targetz
antlr-objcr   r   r   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrObjectiveCLexer.__init__  s    *@@rb   c                 \    t         j                  |       xr t        j                  d|       S )Nz^\s*language\s*=\s*ObjC\s*;)r#   rj   r   r   rh   s    rc   rj   z!AntlrObjectiveCLexer.analyse_text"  s)    &&t, <II4d;	<rb   rw   ry   s   @rc   r)   r)     s4     *DnGI
!CMA<rb   r)   c                   D     e Zd ZdZdZddgZddgZdZdZ fd	Z	d
 Z
 xZS )r(   z
    ANTLR with C# Target
    zANTLR With C# Targetzantlr-csharpzantlr-c#r   r   r   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrCSharpLexer.__init__2      j<G<rb   c                 z    t         j                  |       xr% t        j                  d| t        j                        S )Nz^\s*language\s*=\s*CSharp2\s*;r   rh   s    rc   rj   zAntlrCSharpLexer.analyse_text5  s1    &&t, EII7rttD	Erb   rw   ry   s   @rc   r(   r(   '  s7     "Dz*GI
!CM=Erb   r(   c                   B     e Zd ZdZdZdgZddgZdZdZ fdZ	d	 Z
 xZS )
r$   z"
    ANTLR with Python Target
    zANTLR With Python Targetzantlr-pythonr   r   r   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrPythonLexer.__init__E  r   rb   c                 z    t         j                  |       xr% t        j                  d| t        j                        S )Nz^\s*language\s*=\s*Python\s*;r   rh   s    rc   rj   zAntlrPythonLexer.analyse_textH  s1    &&t, DII6bddC	Drb   rw   ry   s   @rc   r$   r$   :  s5     &DGI
!CM=Drb   r$   c                   B     e Zd ZdZdZdgZddgZdZdZ fdZ	d	 Z
 xZS )
r*   z 
    ANTLR with Java Target
    zANTLR With Java Targetz
antlr-javar   r   r   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrJavaLexer.__init__X      J:':rb   c                 4    t         j                  |       xr dS )Ng?)r#   rj   rh   s    rc   rj   zAntlrJavaLexer.analyse_text[  s    &&t,44rb   rw   ry   s   @rc   r*   r*   M  s3     $DnGI
!CM;5rb   r*   c                   D     e Zd ZdZdZddgZddgZdZdZ fd	Z	d
 Z
 xZS )r&   z 
    ANTLR with Ruby Target
    zANTLR With Ruby Targetz
antlr-rubyzantlr-rbr   r   r   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrRubyLexer.__init__k  r   rb   c                 z    t         j                  |       xr% t        j                  d| t        j                        S )Nz^\s*language\s*=\s*Ruby\s*;r   rh   s    rc   rj   zAntlrRubyLexer.analyse_textn  s1    &&t, BII4dBDDA	Brb   rw   ry   s   @rc   r&   r&   `  s7     $DZ(GI
!CM;Brb   r&   c                   B     e Zd ZdZdZdgZddgZdZdZ fdZ	d	 Z
 xZS )
r%   z 
    ANTLR with Perl Target
    zANTLR With Perl Targetz
antlr-perlr   r   r   r2   c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r#   rp   s     rc   ro   zAntlrPerlLexer.__init__~  r   rb   c                 z    t         j                  |       xr% t        j                  d| t        j                        S )Nz^\s*language\s*=\s*Perl5\s*;r   rh   s    rc   rj   zAntlrPerlLexer.analyse_text  s1    &&t, CII5tRTTB	Crb   rw   ry   s   @rc   r%   r%   s  s4     $DnGI
!CM;Crb   r%   c                   D     e Zd ZdZdZddgZddgZdZdZ fd	Z	d
 Z
 xZS )r+   z(
    ANTLR with ActionScript Target
    zANTLR With ActionScript Targetzantlr-actionscriptzantlr-asr   r   r   r2   c                 <    ddl m} t        |   |t        fi | y )Nr   )ActionScriptLexer)pygments.lexers.actionscriptr   rn   ro   r#   )rq   rr   r   rs   s      rc   ro   zAntlrActionScriptLexer.__init__  s    B*JB'Brb   c                 z    t         j                  |       xr% t        j                  d| t        j                        S )Nz#^\s*language\s*=\s*ActionScript\s*;r   rh   s    rc   rj   z#AntlrActionScriptLexer.analyse_text  s1    &&t, JII<dBDDI	Jrb   rw   ry   s   @rc   r+   r+     s8     ,D#Z0GI
!CMCJrb   r+   c                      e Zd ZdZ ed      defdej                  dfdedfg ed       ed      ded	fdedfd
ej                  fg ed       ed      dedfdedfdefg ed      d
ej                  dfg ed       ed      de
j                  fde
j                  fd eej                  e      fdefdefdefde
j"                  fd eej&                  eej&                        fd eeej                  e      fdedfde
j"                  f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d!ej                  fgd"edfgd#	Zy$)%TreetopBaseLexerz
    A base lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.
    Not for direct use; use :class:`TreetopLexer` instead.

    .. versionadded:: 1.6
    spacezrequire[ \t]+[^\n\r]+[\n\r]zmodule\bmodulez	grammar\bgrammarendrL   z[A-Z]\w*(?:::[A-Z]\w*)*zrule\brulez	include\br   r   rN   r4   r5   z([A-Za-z_]\w*)(:)z[A-Za-z_]\w*z[()]z	[?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z(<)([^>]+)(>)r@   inline_module\.rubyrM   z[^{}]+z
[ \t\n\r]+z#[^\n]*zend\b)	rO   r   r   r   r   r   r   r   r   N)rP   rQ   rR   rS   r   r	   r   	Namespacer   r   r   r[   r\   r   r   r   r   r]   r   rZ   r   r   r`   ra   rb   rc   r   r     s    G+U3'++X67I.	
 GEN'7+7I.'8
 GEN(7I.$
 G'V<

 GEN(&--8(&--8!8DJJ#DEd#k"8$4fllC&fnnh?AxTZZMNK1FLL!
" E6"K(
 E7#E6"
 J'(

 w'
o:Frb   r   c                   <     e Zd ZdZdZdgZddgZdZdZ fdZ	 xZ
S )	r,   z'
    A lexer for Treetop grammars.
    Treetoptreetopz	*.treetopz*.ttz!https://cjheath.github.io/treetopz1.6c                 8    t        |   t        t        fi | y rm   )rn   ro   r   r   rp   s     rc   ro   zTreetopLexer.__init__  s    $4@@rb   )rP   rQ   rR   rS   rT   rV   rW   rU   rX   ro   rx   ry   s   @rc   r,   r,     s6     DkGf%I
-CMA Arb   r,   c                      e Zd ZdZdZdgZdgZdgZdZdZ	 e
d       e
d	       e
d
      dedfg e
d       e
d	       e
d
      dej                  fdej                  fdej                   fdefdefdedfdedfg
defgdej(                  dfgdej(                  f e
d	      dej(                  dfdej(                  fgdefgdZy)r-   z}
    Lexer for `ISO/IEC 14977 EBNF
    <https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form>`_
    grammars.
    EBNFebnfz*.ebnfztext/x-ebnfz?https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Formz2.0r:   comment_start
identifierrB   
productionz"[^"]*"z'[^']*'z(\?[^?]*\?)z[\[\]{}(),|]-rC   rN   r   r3   z\(\*commentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))rO   r   r:   r   r   r   N)rP   rQ   rR   rS   rT   rV   rW   	mimetypesrU   rX   r   r   r   r[   r\   r   Entityr   r
   r   	Multiliner   r`   ra   rb   rc   r-   r-     s3    DhG
II
KCM L!O$L!8\*	
 L!O$L!''T[[)k*8;'K(
 TN
 g''3
 w(()O$g''0g''(	
 #G,
?"Frb   r-   )9rS   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   pygments.lexers.jvmr   pygments.lexers.c_cppr   r   pygments.lexers.objectiver   pygments.lexers.dr   pygments.lexers.dotnetr   pygments.lexers.rubyr   pygments.lexers.pythonr   pygments.lexers.perlr   __all__r   r   r!   r   r   r   r    r"   r#   r'   r)   r(   r$   r*   r&   r%   r+   r   r,   r-   ra   rb   rc   <module>r      sQ   
 . . . ) 2 5 $ . * . *([ [|P& P&f%_ %$"/ "$"/ "$$O $$%? %$%_ %$|H |HB?O ?&<? <&E E&D D&5_ 5&B_ B&C_ C&J_ J(Bz BJA? A0
 0rb   