
    ͆h                        S r SSKJs  Jr  SSKJrJr  SSKJr  SSK	r	Sr
S\
 S	3rS
rSR                  \S9rSR                  \
\S9rS\ 3rS\ 3rSR                  \
\\S9r\	R&                  " \\	R(                  \	R*                  -  S9r\	R&                  " \\	R(                  \	R*                  -  S9r\	R&                  " \\	R(                  \	R*                  -  S9r\	R&                  " \\	R(                  \	R*                  -  S9r\	R&                  " S\ S\ 3\	R(                  \	R*                  -  S9r\\\S.r1 SkrS r " S S\5      r " S S\5      rS r g)zHTML.    N   )Blocktype_string_in   )BlocksExtensionz	(?:[ \t])z(?:\\(?:[a-f0-9]{1,6}z?|[^\r\n\f]|$))zx
(?:(?:-?(?:[^\x00-\x2f\x30-\x40\x5B-\x5E\x60\x7B-\x9f])+|--)
(?:[^\x00-\x2c\x2e\x2f\x3A-\x40\x5B-\x5E\x60\x7B-\x9f])*)
zJ
(?:"(?:\\(?:.)|[^\\"\r\n\f]+)*?"|'(?:\\(?:.)|[^\\'\r\n\f]+)*?'|{ident}+)
)identz-
(?:{ws}*(?P<cmp>=){ws}*(?P<value>{value}))?
)wsvaluez\#z\.z1
\[(?:{ws}*(?P<attr_name>{ident}){attr})+{ws}*\]
)r	   r   attr)flagsz(?P<attr_name>))idclassr   >   rawautohtmlblockinlinec                    [        U 5      nSn0 nSnSn[        R                  U 5      nUc  [        S5      eUR	                  S5      nUR                  5       nXA:  Ga  [        R                  5        GH  u  pgUR                  X5      nUc  M  US:X  a(  UR	                  S5      SS X6'   UR                  5       nGOpUS:X  aT  Xc;  a  UR	                  S5      SS /X6'   O%X6   R                  UR	                  S5      SS 5        UR                  5       nGOUR	                  S5      n[        R                  U5      n	U	b  U	R                  5       n
U	R	                  S5      R                  5       nU	R	                  S5      nUc  US:w  a  UOS	nOUR                  S
5      (       a  USS nUS:X  aN  UR                  S5       Vs/ s H  o(       d  M  UPM     nnU(       a  X;   a  X;   R                  U5        OXU'   OUnXU'   [        R                  X5      n	U	b  M  UR                  5       n  O   Uc  [        S5      eXA:  a  GM  SU;   a  SR                  US   5      US'   X#4$ s  snf )zParse the selector.Nr   zNo defined tagr   r   r   	attr_namer
    )"' zInvalid selector)lenRE_IDENTmatch
ValueErrorgroupend
ATTRIBUTESitemsappendRE_ATTRsearchlower
startswithsplitextendjoin)selectoreoltagattrsr!   matypepatresultsm2posnamer
   vs                 L/opt/services/DDDS/venv/lib/python3.13/site-packages/pymdownx/blocks/html.pyparse_selectorsr9   -   s>    h-C
CE
CAx Ay)**
''!*C
%%'C
)$**,JE		((A}D=#$771:ab>EL%%'Cg%)()
12'7++AGGAJqrN;%%'CggajG 0B. ffh!xx4::< " 1 =,0GODE"--j99$)!BKE7?05C0@$F0@1AQ0@E$F$#'=$)K$6$6u$=27$K$)E*/$K$^^G9' .( %%'CI -L 9/00Q )T %%.1g:' %Gs   
I&I&c                   j   ^  \ rS rSrSrSrSrSS\" \5      40r	U 4S jr
S rS	 rS
 rS rS rSrU =r$ )HTMLl   a  
HTML.

Arguments (1 required):
- HTML tag name

Options:
- `markdown` (string): specify how content inside the element should be treated:
  - `auto`: will automatically determine how an element's content should be handled.
  - `inline`: treat content as an inline element's content.
  - `block`: treat content as a block element's content.
  - `raw`: treat the content as raw content (atomic).

Content:
HTML element content.
r   Tmarkdownr   c                    > SU l         0 U l        UR                  S5       H3  nUR                  SS5      nU[        ;   a  UOSU R                  US   '   M5     [        TU ]  XX45        g)Initialize.Ncustommoder   r.   )r=   r@   getVALID_MODESsuper__init__)selflengthtrackermdconfigentryrA   	__class__s          r8   rE   HTML.__init__   sb     ZZ)E99VV,D040CDKKe% * 	"5    c                 j     [        U R                  5      u  U l        U l        g! [         a     gf = f)zHandle argument parsing.FT)r9   argumentr.   r   r   rF   parents     r8   on_validateHTML.on_validate   s7    	"1$--"@DHdi   		s   "% 
22c                     U R                   S   nUS:X  a5  U R                  R                  5       nU R                  R	                  X!5      nUS:X  a  SnU$ )zCheck if this is atomic.r=   r   r   r   )optionsr.   r'   r@   rB   )rF   rA   r.   s      r8   on_markdownHTML.on_markdown   sL     ||J'6>((.."C;;??3-D6>DrN   c                 t    [         R                  " XR                  R                  5       U R                  5      $ )zCreate the element.)etree
SubElementr.   r'   r   rQ   s     r8   	on_createHTML.on_create   s&     (8$))DDrN   c                      UR                   S;   $ )z4Does tag require no processing and no HTML escaping.)scriptstyle)r.   )rF   r.   s     r8   is_htmlHTML.is_html   s     ww---rN   c                    U R                   S   nUS:X  a5  U R                  R                  5       nU R                  R	                  X25      nUS:X  a  U R                  U5      (       d  US:X  a5  U R                  R                  R                  UR                  5      Ul	        gUS:X  a  U R                  U5      (       d  US:X  aD  U R                  R                  R                  U R                  UR                  5      5      Ul	        gg)zOn end event.r=   r   r   r   N)rV   r.   r'   r@   rB   ra   rI   	htmlStashstoretextis_rawhtml_escape)rF   r   rA   r.   s       r8   on_endHTML.on_end   s     ||J'6>((.."C;;??3-DFNt||E22tv~**00<EJfnU!3!3**001A1A%**1MNEJ 9FrN   )r   r@   r=   r.   )__name__
__module____qualname____firstlineno____doc__NAMEARGUMENTr   rC   OPTIONSrE   rS   rW   r\   ra   ri   __static_attributes____classcell__rL   s   @r8   r;   r;   l   sP    " DHV^K89G6
E.
O OrN   r;   c                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ )HTMLExtension   zHTML Blocks Extension.c                 <   > S/ S/0U l         [        TU ]  " U0 UD6  g)r?   r@   z#Specify handling for custom blocks.N)rJ   rD   rE   )rF   argskwargsrL   s      r8   rE   HTMLExtension.__init__   s0     5
 	$)&)rN   c                 L    UR                  [        U R                  5       5        g)zExtend Markdown blocks.N)registerr;   
getConfigs)rF   rI   	block_mgrs      r8   extendMarkdownBlocks"HTMLExtension.extendMarkdownBlocks   s     	4!23rN   )rJ   )	rk   rl   rm   rn   ro   rE   r   rs   rt   ru   s   @r8   rw   rw      s     
*4 4rN   rw   c                      [        U 0 UD6$ )zReturn extension.)rw   )rz   r{   s     r8   makeExtensionr      s     $)&))rN   )!ro   xml.etree.ElementTreerZ   ElementTreer   r   r   blocksr   reWSCSS_ESCAPES
IDENTIFIERformatVALUEATTRPAT_ID	PAT_CLASSPAT_ATTRcompileIXr   RE_IDRE_CLASSRE_ATTRSr%   r"   rC   r9   r;   rw   r    rN   r8   <module>r      si    % % ( $ 	 (O<

	
FF 
FbF 
 zl	*	
Fb
F. 	 ::jrtt4


6-::irttbdd{3::hbddRTTk2
**zl!D6:"$$+
NHh?
8<~NO5 NOb4O 4**rN   