
    0Vh                        d dl mZ d dlZd dlmZ ddlmZmZmZ ddl	m
Z
 ddlmZ  ej                  d	      Z ej                  d
      Z ej                  d
ej                         ZddZ G d de      Zy)    )annotationsN)Protocol   )arrayReplaceAtisLinkClose
isLinkOpen)Token   )	StateCorez^http://z^mailto:)flagsc           	     H	   | j                   j                  j                  sy| j                   j                  st        d      | j                  D ]P  }|j
                  dk7  s/| j                   j                  j                  |j                        sC|j                  }d}|J t        |      }|dk\  sf|dz  }t        |t              sJ ||   }|j
                  dk(  rh|dz  }||   j                  |j                  k7  rF||   j
                  dk7  r4|dz  }||   j                  |j                  k7  r||   j
                  dk7  r4|j
                  dk(  r9t        |j                        r
|dkD  r|dz  }t        |j                        r|dz  }|dkD  r|j
                  d	k(  r| j                   j                  j                  |j                        r|j                  }| j                   j                  j!                  |      xs g }g }|j                  }	d}
|r1|d   j"                  dk(  r|dkD  r||dz
     j
                  d
k(  r|dd }|D ]  }|j$                  }| j                   j'                  |      }| j                   j)                  |      sG|j*                  }|j,                  s3t.        j1                  d| j                   j3                  d|z               }nr|j,                  dk(  rHt4        j7                  |      r3t8        j1                  d| j                   j3                  d|z               }n| j                   j3                  |      }|j"                  }||
kD  r/t;        d	dd      }||
| |_        |	|_        |j=                  |       t;        ddd      }d|i|_        |	|_        |	dz  }	d|_         d|_!        |j=                  |       t;        d	dd      }||_        |	|_        |j=                  |       t;        ddd      }|	dz  }	|	|_        d|_         d|_!        |j=                  |       |jD                  }
 |
t        |      k  r/t;        d	dd      }||
d |_        |	|_        |j=                  |       tG        |||      x|_        }|dk\  rS y)z&Rule for identifying plain-text links.Nz"Linkify enabled but not installed.inliner   r
   
link_close	link_openhtml_inlinetexttext_special zhttp://zmailto:ahreflinkifyauto)$mdoptionsr   ModuleNotFoundErrortokenstypepretestcontentchildrenlen
isinstancelistlevelr   r   testmatchindexurlnormalizeLinkvalidateLinkr   schemaHTTP_REsubnormalizeLinkTextTEST_MAILTO_REsearch	MAILTO_REr	   appendattrsmarkupinfo
last_indexr   )stateinline_tokenr   htmlLinkLevelicurrentTokenr   linksnodesr%   lastPoslinkr)   fullUrlurlTextpostokens                    N/home/dcms/DCMS/lib/python3.12/site-packages/markdown_it/rules_core/linkify.pyr   r      s\   88##88!"FGG vR(0@0@0H0H  1
 && !!!K1fFAfd+++!!9L   L0Q1IOO|'9'99q	+5FA 1IOO|'9'99q	+5    M1l2238I!Q&M|334!Q&Mq   F*uxx/?/?/D/D$$0 $++).)9)9)?)?)E)K $** a!+Aq1u**n<!!"IE! 2.D((C#hh44S9G 88009 "iiG
  ;;")++ : :9w;N O# 	1n6K6KG6T"+-- : :9w;N O# #((("<"<W"E**CW} %fb! 4(,WS(9&+U+!+sA6E#)7"3EK"'EKQJE#,EL!'EJLL'!&"a0E$+EM"'EKLL'!,R8EQJE"'EK#,EL!'EJLL'"ooGe2.h SY&!&"a0E$(NEM"'EKLL'1?51QQ%Q 1fvR    c                  @    e Zd ZU ded<   ded<   ded<   ded<   ded<   y	)
	_LinkTypestrr)   r   intr(   r7   z
str | Noner,   N)__name__
__module____qualname____annotations__ rF   rE   rH   rH      s    	H
IJOrF   rH   )r8   r   returnNone)
__future__r   retypingr   common.utilsr   r   r   rD   r	   
state_corer   compiler-   r2   
IGNORECASEr0   r   rH   rO   rF   rE   <module>rY      sd    " 	  B B  !
"**[
!BJJ{#	Kr}}=~RB rF   