+
    5iL                     ^   R t ^ RIHtHt ^ RIt^ RIt^ RIHt ^RI	H
t
HtHt ]P                  ^ ,          ^8  tRt]P                   t]P"                  ! R]^R7        ! R R	]P&                  4      t ! R
 R]P*                  4      t]! 4       t]P0                  tRR ltRR ltRR lt]tR tR# )zkDEPRECATED Example code for lxml.etree protection

The code has NO protection against decompression bombs.
)print_functionabsolute_importN)etree)DTDForbiddenEntitiesForbiddenNotSupportedErrorz
lxml.etreezOdefusedxml.lxml is no longer supported and will be removed in a future release.)category
stacklevelc                      a a ] tR t^!t oRtR
t]P                  tR t	V 3R lt
RV 3R lltRV 3R lltRV 3R lltRV 3R lltV 3R ltRV 3R	 lltR
tVtV ;t# )RestrictedElementzEA restricted Element class that filters out instances of some classesc              #  f   "   V P                   pV F  p\        W24      '       d   K  Vx  K  	  R # 5iN)	blacklist
isinstance)selfiteratorr   childs   &&  U/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/defusedxml/lxml.py_filterRestrictedElement._filter(   s+     NN	E%++K s   /1c                J   < \         \        V `  4       pV P                  V4      # r   )superr   __iter__r   r   r   	__class__s   & r   r   RestrictedElement.__iter__/   s"    *D:<||H%%    c                N   < \         \        V `  WR 7      pV P                  V4      # ))tagreversed)r   r   iterchildrenr   )r   r   r   r   r   s   &&& r   r    RestrictedElement.iterchildren3   s'    *D>3>Z||H%%r   c                N   < \         \        V `
  ! VR V/ pV P                  V4      # r   )r   r   iterr   r   r   tagsr   r   s   &&* r   r$   RestrictedElement.iter7   s)    *D6F3F||H%%r   c                N   < \         \        V `
  ! VR V/ pV P                  V4      # r#   )r   r   iterdescendantsr   r%   s   &&* r   r)   !RestrictedElement.iterdescendants;   s)    *DADQcQ||H%%r   c                N   < \         \        V `  WR 7      pV P                  V4      # ))r   	preceding)r   r   itersiblingsr   )r   r   r,   r   r   s   &&& r   r-   RestrictedElement.itersiblings?   s'    *D>3>\||H%%r   c                \   < \         \        V `  4       p\        V P	                  V4      4      # r   )r   r   r   listr   r   s   & r   getchildrenRestrictedElement.getchildrenC   s'    *D:<DLL*++r   c                L   < \         \        V `  V4      pV P                  V4      # r   )r   r   getiteratorr   )r   r   r   r   s   && r   r4   RestrictedElement.getiteratorG   s$    *D=cB||H%%r    )NFr   )__name__
__module____qualname____firstlineno____doc__	__slots___etree_Entityr   r   r   r    r$   r)   r-   r1   r4   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r   !   sC     OII&&&&&,& &r   r   c                   B   a  ] tR t^Lt o RtRR/t]tR tR t	R t
RtV tR# )	GlobalParserTLSz0Thread local context for custom parser instancesresolve_entitiesFc                    \         P                  ! R/ V P                  B pV P                  pV P                  e)   \         P                  ! VR7      pVP                  V4       V# )N)elementr6   )r=   	XMLParserparser_configelement_classElementDefaultClassLookupset_element_class_lookup)r   parserrJ   lookups   &   r   createDefaultParser#GlobalParserTLS.createDefaultParserW   sU    !!7D$6$67**)55mLF++F3r   c                    Wn         R # r   _default_parserr   rM   s   &&r   setDefaultParser GlobalParserTLS.setDefaultParser_   s    %r   c                j    \        V R R4      pVf"   V P                  4       pV P                  V4       V# )rS   N)getattrrO   rU   rT   s   & r   getDefaultParser GlobalParserTLS.getDefaultParserb   s7    0$7>--/F!!&)r   rR   N)r7   r8   r9   r:   r;   rI   r   rJ   rO   rU   rY   r?   r@   )rB   s   @r   rD   rD   L   s1     : 	EM &M& r   rD   c           
        V P                   pVP                  '       dS   V'       d,   \        VP                  VP                  VP                  4      hV'       d   \
        '       g   \        R4      hV'       da   VP                  VP                  3 FB  pVf   K	  VP                  4        F%  p\        VP                  VP                  RRRR4      h	  KD  	  R# R# )zCheck docinfo of an element tree for DTD and entity declarations

The check for entity declarations needs lxml 3 or newer. lxml 2.x does
not support dtd.iterentities().
z3Unable to check for entity declarations in lxml 2.xN)docinfodoctyper   
system_url	public_idLXML3r   internalDTDexternalDTDiterentitiesr   namecontent)elementtree
forbid_dtdforbid_entitiesr\   dtdentitys   &&&   r   check_docinfork   n   s     !!Gw0B0BGDUDUVV55#$\]]&&(;(;;C{**,'V^^T4QUW[\\ - < r   c                 j    Vf   \        4       p\        P                  ! WVR7      p\        WSV4       V# N)base_url)rY   r=   parserk   )sourcerM   rn   rg   rh   rf   s   &&&&& r   ro   ro      s/    ~!#,,vAK+?;r   c                     Vf   \        4       p\        P                  ! WVR7      pVP                  4       p\	        WcV4       V# rm   )rY   r=   
fromstringgetroottreerk   )textrM   rn   rg   rh   rootelementrf   s   &&&&&  r   rr   rr      s?    ~!###D8DK))+K+?;r   c                      \        R 4      h)z*defused lxml.etree.iterparse not available)r   )argskwargss   *,r   	iterparsery      s    
H
IIr   )FT)NNFT)r;   
__future__r   r   	threadingwarningslxmlr   r=   commonr   r   r   LXML_VERSIONr`   
__origin__tostringwarnDeprecationWarningElementBaser   localrD   _parser_tlsrY   rk   ro   rr   XMLry   r6   r   r   <module>r      s    7     F FA!#
?? 	U(&** (&Vioo < // ], Jr   