a dh@s~ddlZddlmZddlmZdZedZedZdZGd d d e Z Gd d d e Z dd dZ ddefddZ ddZdS)N) ElementTree)urljoinz!{http://www.w3.org/2001/XInclude}includefallbackc@s eZdZdS)FatalIncludeErrorN__name__ __module__ __qualname__r r 9/opt/imh-python/lib/python3.9/xml/etree/ElementInclude.pyrCsrc@s eZdZdS)LimitedRecursiveIncludeErrorNr r r r rrGsrcCs|dkrBt|d}t|}Wdq1s60Yn>|sJd}t|d|d}|}Wdn1sv0Y|S)NxmlrbzUTF-8r)encoding)openrparsegetrootread)hrefrrfiledatar r rdefault_loaderWs .&rcCsV|durd}n|dkr"td|t|dr4|}|dur@t}t||||tdS)Nrz;expected non-negative depth or None for 'max_depth', got %rr) ValueErrorhasattrrr_includeset)elemloaderbase_url max_depthr r rrts  c Csd}|t|kr||}|jtkr|d}|r>t||}|dd}|dkr||vrftd||dkrztd||||||} | durtd||ft| } t | |||d|| ||j r| j pd |j | _ | ||<n|d krz||||d } | dur&td||f|j r8| |j 7} |r^||d} | j pTd | | _ n|j phd | |_ ||=qn td |n,|jt krtd |jnt ||||||d7}qdS)Nrrrrzrecursive include of %sz5maximum xinclude depth reached when including file %szcannot load %r as %rrtextrz)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r))lentagXINCLUDE_INCLUDEgetrrraddcopyrremovetailr&XINCLUDE_FALLBACK) r!r"r#r$Z _parent_hrefsierrZnoder&r r rrsd                 r)N)r,r%r urllib.parserZXINCLUDEr)r/ZDEFAULT_MAX_INCLUSION_DEPTH SyntaxErrorrrrrrr r r r3s