*jT S SK r S SKrS SKJr S SKJr S/r\ R " S5 r \ R " S5 r \ R " S5 r\ R " S5 r\ R " S 5 r \ R " S 5 r\ R " S5 r\ R " S5 r\ R " S 5 r\ R " S5 r\ R " S5 r\ R " S5 r\ R " S\ R* 5 r\ R " S\ R* 5 r\ R " S\ R* 5 r\ R " S 5 r\ R " S5 rS rS r " S S\R: 5 rg) N)unescape)html5 HTMLParserz[&<]z &[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z(?:[0-9]|[xX][0-9a-fA-F])z6&(#[0-9]+|#[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*)[;=]?z <[a-zA-Z]z [a-zA-Z]>z--!?>z-?>z0([a-zA-Z][^\t\n\r\f />]*)(?:[\t\n\r\f ]|/(?!>))*a{ ( (?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]* # attribute name ) ([\t\n\r\f ]*=[\t\n\r\f ]* # value indicator ('[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\t\n\r\f ]* # bare value ) )? (?:[\t\n\r\f ]|/(?!>))* # possibly followed by a space a [a-zA-Z][^\t\n\r\f />]* # tag name [\t\n\r\f /]* # optional whitespace before attribute name (?:(?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]* # attribute name (?:[\t\n\r\f ]*=[\t\n\r\f ]* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\t\n\r\f ]* # bare value ) )? [\t\n\r\f /]* # possibly followed by a space )* >? aF <[a-zA-Z][^\t\n\r\f />\x00]* # tag name (?:[\s/]* # optional whitespace before attribute name (?:(?<=['"\s/])[^\s/>][^\s/=>]* # attribute name (?:\s*=+\s* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\s]* # bare value ) \s* # possibly followed by a space )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c U R S5 nUR S5 ( a [ U5 $ UR S5 ( d USS [ ; a [ U5 $ U$ )Nr = )group startswithr endswithhtml5_entities)matchrefs 2/opt/alt/python313/lib64/python3.13/html/parser.py_replace_attr_charrefr ] sU ++a.C ~~d} <<QRN!:}J c 6 [ R [ U 5 $ N)attr_charrefsubr )ss r _unescape_attrvaluer i s 1155r c ^ \ rS rSrSrSrSSS.U 4S jjrU 4S jrS rS r Sr S rSS .S jrS r S$S jrS rS rS$S jrS%S jrS rS rS rS rS rS rS rS rS rS rS rS rS! rS" r S#r!U =r"$ )&r m )scriptstylexmpiframenoembednoframes)textareatitleTF)convert_charrefs scriptingc Z > [ TU ] 5 Xl X l U R 5 g r )super__init__r$ r% reset)selfr$ r% __class__s r r( HTMLParser.__init__ s$ 0" r c ~ > SU l SU l [ U l S U l SU l SU l [ TU ]! 5 g )N z???T) rawdatalasttaginteresting_normalinteresting cdata_elem_support_cdata _escapabler' r) )r* r+ s r r) HTMLParser.reset s8 -" r c N U R U- U l U R S5 g )Nr )r/ goaheadr* datas r feedHTMLParser.feed s ||d*Qr c &