
    f                         d Z ddlmZmZ ddlZddlZddlmZ ddlmZ	 ddlm
Z ddlmZ dd	lmZ erddlZndd
lmZ ddlmZ ddlmZmZmZmZ dZd Zer
 e       \  ZZ e       Z G d de      ZexZxZZ eee	ee      \  Z
ZZeZ g dZ!y)z%Defused xml.etree.ElementTree facade
    )print_functionabsolute_importN)
ParseError)TreeBuilder)parse)tostring   )PY3)	XMLParser)	iterparse)DTDForbiddenEntitiesForbiddenExternalReferenceForbidden_generate_etree_functionsxml.etree.ElementTreec                     d} d}t         j                  j                  | d      }t         j                  j                  |d      }dt         j                  |<   	 t        j                  |       }|t         j                  | <   ||t         j                  |<   n t         j                  j                  |d       t         j                  d   }|||_        nt        |d      r|`	 |j                  }|j                  }t        |_	        ||fS # |t         j                  | <   ||t         j                  |<   n t         j                  j                  |d       t         j                  d   }|||_        w t        |d      r|`w w xY w)zPython 3.3 hides the pure Python code but defusedxml requires it.

    The code is based on test.support.import_fresh_module().
    r   _elementtreeNz	xml.etreeElementTree)
sysmodulespop	importlibimport_moduler   hasattrr   r   r   )	pymodnamecmodnamepymodcmod
pure_pymod	etree_pkg
_XMLParser
_iterparses           Q/var/www/cvtools/html/venv/lib/python3.12/site-packages/defusedxml/ElementTree.py_get_py3_clsr$   $   sM   
 (IHKKOOIt,E;;??8T*D CKK&,,Y7
 "'I$(CKK!KKOOHd+KK,	$)I!Y.%%%J%%J&Jz!!# "'I$(CKK!KKOOHd+KK,	$)I!Y.% /s   D
 
A7Fc                   8    e Zd ZedddddfdZd Zd Zd Zd Zy)	DefusedXMLParserNFTc                    t        j                  | ||       |t        ur(|rt        d      t	        j
                  dt               || _        || _        || _	        t        r| j                  }n| j                  }| j                  r| j                  |_        | j                  r"| j                  |_        | j"                  |_        | j                  r| j&                  |_        y y )N)targetencodingz#'html=True' is no longer supported.zW'html' keyword argument is no longer supported. Pass in arguments as keyword arguments.)category)r!   __init__	_sentinel	TypeErrorwarningswarnDeprecationWarning
forbid_dtdforbid_entitiesforbid_externalr
   parser_parserdefused_start_doctype_declStartDoctypeDeclHandlerdefused_entity_declEntityDeclHandlerdefused_unparsed_entity_declUnparsedEntityDeclHandler#defused_external_entity_ref_handlerExternalEntityRefHandler)selfhtmlr(   r)   r1   r2   r3   r4   s           r#   r+   zDefusedXMLParser.__init__P   s     	D(Cy   EFF9/ %..[[F\\F??-1-L-LF*'+'?'?F$/3/P/PF,.2.V.VF+      c                     t        |||      N)r   )r>   namesysidpubidhas_internal_subsets        r#   r6   z+DefusedXMLParser.defused_start_doctype_declv   s    4..r@   c                 "    t        ||||||      rB   r   )r>   rC   is_parameter_entityvaluebaserD   rE   notation_names           r#   r8   z$DefusedXMLParser.defused_entity_decly   s      eT5%OOr@   c                 "    t        |d ||||      rB   rH   )r>   rC   rK   rD   rE   rL   s         r#   r:   z-DefusedXMLParser.defused_unparsed_entity_decl~   s    dD%NNr@   c                     t        ||||      rB   )r   )r>   contextrK   rD   rE   s        r#   r<   z4DefusedXMLParser.defused_external_entity_ref_handler   s    ($uEEr@   )	__name__
__module____qualname__r,   r+   r6   r8   r:   r<    r@   r#   r&   r&   O   s4     $WL/P
OFr@   r&   )	r   XMLXMLParser   XMLTreeBuilder
fromstringr   r   r   )"__doc__
__future__r   r   r   r.   xml.etree.ElementTreer   r   _TreeBuilderr   _parser   commonr
   r   r   r!   r   r"   r   r   r   r   
__origin__r$   objectr,   r&   rV   rU   rW   rT   __all__rS   r@   r#   <module>ra      s    6 
  , = 1 * ==  %
!"H )^J
 H	4Fz 4Fr )9 8 8I8lFJ  y* 
r@   