+
    f0i                        R t ^ RIHt ^RIHt ^RIHt ^ RIHu H	t ^ RI
t
^ RIHt ]'       d   ^ RIHt  ! R R]4      t ! R	 R
]4      tR tR# )a  
Adds rST-style admonitions to Python-Markdown.
Inspired by [rST][] feature with the same name.

[rST]: http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions

See the [documentation](https://Python-Markdown.github.io/extensions/admonition)
for details.
)annotations)	Extension)BlockProcessorN)TYPE_CHECKING)blockparserc                       ] tR t^(tRtR tRtR# )AdmonitionExtensionz*Admonition extension for Python-Markdown. c                    VP                  V 4       VP                  P                  P                  \	        VP                  4      R^i4       R# )z%Add Admonition to Markdown instance. 
admonitionN)registerExtensionparserblockprocessorsregisterAdmonitionProcessor)selfmds   &&d/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/markdown/extensions/admonition.pyextendMarkdown"AdmonitionExtension.extendMarkdown+   s7    
T"
		!!**+>ryy+I<Y\]     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r   (   s    5^r   r   c                     a  ] tR t^2tRtRt]P                  ! R4      t]P                  ! R4      t	R V 3R llt
R R ltR	 R
 ltR R ltR R ltRtV ;t# )r   r
   zadmonition-titlez<(?:^|\n)!!! ?([\w\-]+(?: +[\w\-]+)*)(?: +"(.*?)")? *(?:\n|$)z  +c                   V ^8  d   QhRR/# )   r   zblockparser.BlockParserr   )formats   "r   __annotate__ AdmonitionProcessor.__annotate__9   s        6  r   c                B   < \         SV `  V4       RV n        ^ V n        R# )zInitialization.N)super__init__current_siblingcontent_indent)r   r   	__class__s   &&r   r%   AdmonitionProcessor.__init__9   s"     	 59r   c               $    V ^8  d   QhRRRRRR/# )r   parentetree.Elementblockstrreturnz%tuple[etree.Element | None, str, str]r   )r    s   "r   r!   r"   A   s"     8( 8(M 8(# 8(Bg 8(r   c                p   TpRpV P                   e<   V P                   pV P                  W P                  4      w  r$RV n         ^ V n        WRV3# V P                  V4      pVeB   VP                  R8w  g1   VP                  RR4      P                  V P                  4      R8X  d   RpEMV P                  V4      p^ pVe   Ve   VP                  RV P                  ,          ^,          4      '       d`   Ve\   VP                  R9   dK   V P                  V4      pVe   V P                  V4      MRpW P                  R pWpP                  ,          pK  RpK  VP                  RV P                  ,          4      '       g   RpVe2   WpP                  ,          pV P                  W74      w  r$WPn         Wpn        WRV3# )zqGet sibling admonition.

Retrieve the appropriate sibling element. This can get tricky when
dealing with lists.

 Ndivclass )uloldl)
r&   detabr'   	lastChildtaggetfind	CLASSNAME
startswith
tab_length)r   r+   r-   	old_blockthe_restsibling
last_childindents   &&&     r   parse_content!AdmonitionProcessor.parse_contentA   s    	 +**G"jj0C0CDOE#'D "#D8++..(?gkkU2gkk'26N6S6STXTbTb6cgi6iG 0JF('E,<,<S4??=RUV=V,W,W*z~~AS/S
 #nnZ8G<C<O!8UYJ
 "//"23Eoo-F!%J##C$//$9::"//)"&**Y"?'.$&,#x''r   c               $    V ^8  d   QhRRRRRR/# )r   r+   r,   r-   r.   r/   boolr   )r    s   "r   r!   r"   {   s&     D D= D D Dr   c                	|    V P                   P                  V4      '       d   R # V P                  W4      ^ ,          RJ# )TN)REsearchrF   )r   r+   r-   s   &&&r   testAdmonitionProcessor.test{   s3    77>>%  %%f4Q7tCCr   c               $    V ^8  d   QhRRRRRR/# )r   r+   r,   blocksz	list[str]r/   Noner   )r    s   "r   r!   r"      s!     $& $&- $& $&t $&r   c                	   VP                  ^ 4      pV P                  P                  V4      pV'       di   VP                  4       ^ 8  d.   V P                  P                  WRVP                  4        .4       W4P                  4       R pV P                  V4      w  r5MV P                  W4      w  rcpV'       d   V P                  V4      w  rx\        P                  ! VR4      p	V	P                  RRP                  V P                  V4      4       V'       d:   \        P                  ! V	R4      p
Wn        V
P                  RV P                   4       MUXP"                  R9   dC   VP                  '       d1   VP                  pRVn        \        P                  ! VR4      p
Wn        Tp	V P                  P%                  W4       V'       d   VP'                  ^ V4       R# R# )    Nr2   r3   z{} {}pr1   )lidd)poprK   rL   startr   parseBlocksendr9   rF   get_class_and_titleetree
SubElementsetr    r>   textCLASSNAME_TITLEr;   
parseChunkinsert)r   r+   rP   r-   mtheRestrC   klasstitler2   rT   r_   s   &&&         r   runAdmonitionProcessor.run   sh   

1GGNN5!wwy1}''z	1B0CD%%'(OE!ZZ.NE7&*&8&8&G#GG33A6LE""651CGGGW^^DNNEBC$$S#.gt334 {{l*w|||||!$$Wc2Cs* MM!W%	 r   c                    V ^8  d   QhRRRR/# )r   matchzre.Match[str]r/   ztuple[str, str | None]r   )r    s   "r   r!   r"      s       ;Q r   c                	   VP                  ^4      P                  4       VP                  ^4      r2V P                  P                  RV4      pVf+   VP	                  R^4      ^ ,          P                  4       pW#3# VR8X  d   RpW#3# )   r4   Nr1   )grouplower	RE_SPACESsubsplit
capitalize)r   rj   re   rf   s   &&  r   r[   'AdmonitionProcessor.get_class_and_title   s    {{1~++-u{{1~u""3.= KKQ'*557E
 |	 b[ E|r   )r'   r&   )r   r   r   r   r>   r`   recompilerK   ro   r%   rF   rM   rg   r[   r   __classcell__)r(   s   @r   r   r   2   sP    I(O	S	TB

5!I   8(tD$&L r   r   c                     \        R/ V B # )Nr   )r   )kwargss   ,r   makeExtensionry      s    (((r   )r   
__future__r   r1   r   r   r   xml.etree.ElementTreer\   ElementTreert   typingr   markdownr   r   r   ry   r   r   r   <module>r      sI   $ #  , % % 	  $^) ^B. BJ)r   