U e*@sddlZedZdddZddZdd Zd d Zd d ZddZddZ eeeeee dZ iZ dddZ dddZ d ddZd!ddZd"ddZdS)#NzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+Tc cs|r|dp|dnd}d}t|D]}|\}}|r|ddkrd|kr|r|dd\}} z"|slt|d||| ffVWqtk rtd|YqXn"|r|s|d||ffVn|Vd}q*|V|d k}q*dS) NFr{:z{%s}%sz!prefix %r not found in prefix map@)getxpath_tokenizer_refindallsplitKeyError SyntaxError) pattern namespaces with_prefixesZdefault_namespaceZparsing_attributetokenttypetagprefixurirA/opt/hc_python/lib64/python3.8/site-packages/lxml/_elementpath.pyxpath_tokenizerIs& rcs|dfdd}|S)Nrc3s|D]}|EdHqdSN iterchildrenresultelemrrrselectdszprepare_child..selectrnextrrrrr prepare_childbs r"cCs dd}|S)Ncss|D]}|dEdHqdS)N*rrrrrrjszprepare_star..selectrr rrr prepare_starisr$cCs dd}|S)NcSs|Srr)rrrrrpszprepare_self..selectrr rrr prepare_selfosr%csB|}|ddkrdn|ds*|dntdfdd}|S)Nrr#rzinvalid descendantc3s|D]}|EdHqdSr)Ziterdescendantsrrrrr|sz"prepare_descendant..select)r r rrrprepare_descendantts   r&cCs dd}|S)Ncss$|D]}|}|dk r|VqdSr) getparent)rrparentrrrrszprepare_parent..selectrr rrrprepare_parentsr)cs"d}g}|}|ddkrqv|dkr&q|drV|ddddkrVd|dddf}||dpbd 7}||dq|d kr|dfd d }|S|d kr|d|dfdd }|S|d krtd|ds|dfdd }|S|dks|dkrLtd|dsL|d|dr<fdd }n fdd }|S|d ksj|dksj|dkr|d krt|dddkrdkrtdntdnZ|ddkrtd|dkrzt|ddWntk rtdYnXndfdd }|StddS)Nrr])rrrz'"'-z@-c3s"|D]}|dk r|VqdSrrr)keyrrrsz!prepare_predicate..selectz@-='c3s"|D]}|kr|VqdSrr.r)r/valuerrrsz-?\d+$c3s(|D]}|D]}|VqqqdSrr)rr_rrrrsz.='z-='c3s:|D]0}|D] }d|kr|VqqqdSNr)rjoinitertext)rre)rr0rrrs c3s&|D]}d|kr|VqdSr2)r3r4r)r0rrrsz-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedlastzunsupported functionzunsupported expressionc 3s\|D]R}|}|dkrqz&t||j}||kr>|VWqtk rTYqXqdSr)r'listrr IndexError)rrr(Zelems)indexrrrs  zinvalid predicate)appendrematchintr ValueError)r!r signature predicaterr)r:r/rr0rprepare_predicatesf   &       rB)rr#.z..z//[cCs|dddkr|d7}|f}|rd|krd|krZ|d|dkrZtd|d|df||dfttdd|D7}n|tt|7}z t|WStk rYnXttd krt|dd dkrtd t t |||d }z |j }Wnt k r|j }YnXz |}Wntk rFtd YnXg}z|t|d||Wntk rtdYnXz|}|ddkr|}Wntk rYqYnXqL|t|<|S)zcompile selector patternr,N/r#rz2Ambiguous default namespace provided: %r versus %rcss|]}|ddk r|VqdS)rNr).0itemrrr s z'_build_path_iterator..drz#cannot use absolute path on elementrzempty path expressionrz invalid path)r?tuplesorteditems_cacher lenclearr iterrr!AttributeError__next__ StopIterationr;ops)pathrr cache_keystream_nextrselectorrrr_build_path_iteratorsX      r[cCs.t|||d}t|f}|D] }||}q|SNrJ)r[rQ)rrVrrrZrrrrriterfind3s   r]cCs6t||||d}z t|WStk r0YdSXdSr\)r]r!rT)rrVrritrrrfind>s  r_cCstt|||Sr)r8r])rrVrrrrrr Isr cCs*t||||d}|dkr|S|jp$dSdS)NrJr)r_text)rrVdefaultrrelrrrfindtextPsrc)NT)T)NT)NT)NT)NNT)r<compilerrr"r$r%r&r)rBrUrNr[r]r_r rcrrrr;s.  c  9