Ë
    ¡ëil  ã                   ó�  — d Z dZdZ ddlZd„ Zg d¢ZdZdZ eed	d
«      dz    eed	d«      z   ZdZdj                  ej                  «       «      Z eed	d
«      dz    eed	d«      z   Z
dZedz   dj                  e«      z   dz   ez   Zedz   ez   dz   e
z   dz   ez   Z ej                  e«      ZdZ ej                  e«      Zdd„Zd„ Zy)z3.3.0a|  
Module to analyze Python source code; for syntax coloring tools.

Interface::

    tags = fontify(pytext, searchfrom, searchto)

 - The 'pytext' argument is a string containing Python source code.
 - The (optional) arguments 'searchfrom' and 'searchto' may contain a slice in pytext.
 - The returned value is a list of tuples, formatted like this::
    [('keyword', 0, 6, None), ('keyword', 11, 17, None), ('comment', 23, 53, None), etc. ]

 - The tuple contents are always like this::
    (tag, startindex, endindex, sublist)

 - tag is one of 'keyword', 'string', 'comment' or 'identifier'
 - sublist is not used, hence always None.
z0.4é    Nc                 óB   — |j                  | j                  |«      «      S ©N)ÚjoinÚsplit)ÚsrcÚsepÚreps      úW/var/www/html/chat/reports/venv/lib/python3.12/site-packages/reportlab/lib/PyFontify.pyÚreplacer   (   s   € Ø�8‰8�C—I‘I˜c“NÓ#Ð#ó    )ÚasÚassertÚexecÚdelÚfromÚlambdaÚreturnÚandÚelifÚglobalÚnotÚtryÚbreakÚelseÚifÚorÚwhileÚclassÚexceptÚimportÚpassÚcontinueÚfinallyÚinÚprintÚdefÚforÚisÚraiseÚyieldÚwithz#[^\n]*z$q[^\\q\n]*(\\[\000-\377][^\\q\n]*)*qÚqú'ú|ú"a  
    qqq
    [^\\q]*
    (
        (   \\[\000-\377]
        |   q
            (   \\[\000-\377]
            |   [^\q]
            |   q
                (   \\[\000-\377]
                |   [^\\q]
                )
            )
        )
        [^\\q]*
    )*
    qqq
Ú z(^|[^a-zA-Z0-9_.\"'])ú(ú)z[ 	]*[A-Za-z_][A-Za-z_0-9.]*c                 óX  — |€t        | «      }t        j                  }t        j                  }g }|j                  }d}d}d}	d}
d}|}	  || |«      }|€	 |S |j                  «       }||k\  r	 |S |j                  d«      }|t        |«      z   }|d   }|dvrv||k7  r|dd }|dz   }n|d d }|dz
  } ||	||d f«       |d	v rj || |«      }|�_|j                  «       }||k(  rJ|j                  d«      }|t        |«      z   } ||
||d f«       n|d
k(  r ||||d f«       n ||||d f«       Œã)NÚcommentÚstringÚkeywordÚ
identifierr   é   z#'"éÿÿÿÿ)r&   r   ú#)ÚlenÚmatchREÚsearchÚidREÚappendÚstartÚgroup)ÚpytextÚ
searchfromÚsearchtor=   ÚidSearchÚtagsÚtags_appendÚ
commentTagÚ	stringTagÚ
keywordTagÚidentifierTagr@   ÚendÚmÚmatchÚcs                   r
   ÚfontifyrP   d   s‡  € ØÐÜ�v“;ˆä�^‰^€FÜ�{‰{€Hà€DØ—+‘+€KØ€JØ€IØ€JØ €Mà€EØ
€CØ
Ù�6˜3ÓˆØˆ9ØðB €KðA —‘“	ˆØ�HÒØð< €Kð; —‘˜“
ˆØ”c˜%“jÑ ˆØ�!‰HˆØ�F‰?à˜
Ò"à˜a ˜�Ø ™	‘ð ˜c˜r˜
�Ø˜‘'ˆCÙ˜ U¨C°Ð6Ô7ð Ð(Ñ(Ù˜V SÓ)�Ø�=ØŸG™G›I�EØ ’|Ø !§¡¨£
˜Ø#¤c¨%£jÑ0˜Ù# ]°E¸3ÀÐ$EÕFØ�#ŠXÙ˜ U¨C°Ð6Õ7á˜ E¨3°Ð5Ô6ðG r   c           	      ó¸   — t        | «      }|j                  «       }|j                  «        t        |«      }|D ]  \  }}}}t	        |t        ||| «      «       Œ! y r   )ÚopenÚreadÚcloserP   r%   Úrepr)ÚpathÚfÚtextrF   Útagr@   rL   Úsublists           r
   Útestr[   ›   sU   € ÜˆT‹
€AØ�6‰6‹8€DØ‡G�G„IÜ�4‹=€DØ$(ò *Ñ ˆˆU�C˜Üˆc”4˜˜U 3˜Ó(Õ)ñ*r   )r   N)Ú__version__Ú__doc__Úrer   ÚkeywordsListÚ
commentPatÚpatÚquotePatr   r   ÚtripleQuotePatÚ	nonKeyPatÚkeyPatÚmatchPatÚcompiler<   ÚidKeyPatr>   rP   r[   © r   r
   ú<module>rj      s  ðð €ð	€ð> €ã 	ò$ò
€ð €
à-€Ù�3˜˜SÓ! CÑ'©'°#°s¸CÓ*@Ñ@€ð€ð$ 	‡g�gˆc�i‰i‹kÓ€Ù˜˜c 3Ó'¨#Ñ-±¸¸SÀ#Ó0FÑF€ð %€	à	�S‰˜3Ÿ8™8 LÓ1Ñ	1°CÑ	7¸)Ñ	C€à˜Ñ˜fÑ$ sÑ*¨^Ñ;¸cÑAÀHÑL€Ø
ˆ"�*‰*�XÓ
€à*€Ø€r‡z�z�(Ó€ó4ón*r   