
    V=^                     Z    d dl mZmZmZ d dlmZ ddlmZ  G d dej                        Z	y)    )absolute_importdivisionunicode_literals)Node   )basec                   $    e Zd Zd Zd Zd Zd Zy)
TreeWalkerc                    |j                   t        j                  k(  r2t        j                  |j
                  |j                  |j                  fS |j                   t        j                  t        j                  fv rt        j                  |j                  fS |j                   t        j                  k(  ri }t        |j                  j                               D ]`  }|j!                  |      }|j"                  r&|j$                  ||j"                  |j&                  f<   F|j$                  |d |j
                  f<   b t        j(                  |j"                  |j*                  ||j-                         fS |j                   t        j.                  k(  rt        j0                  |j                  fS |j                   t        j2                  t        j4                  fv rt        j6                  fS t        j8                  |j                   fS N)nodeTyper   DOCUMENT_TYPE_NODEr   DOCTYPEnamepublicIdsystemId	TEXT_NODECDATA_SECTION_NODETEXT	nodeValueELEMENT_NODElist
attributeskeysgetAttributeNodenamespaceURIvalue	localNameELEMENTnodeNamehasChildNodesCOMMENT_NODECOMMENTDOCUMENT_NODEDOCUMENT_FRAGMENT_NODEDOCUMENTUNKNOWN)selfnodeattrsattrs       :/usr/lib/python3/dist-packages/html5lib/treewalkers/dom.pygetNodeDetailszTreeWalker.getNodeDetails	   s{   ==D333<<DMM4==HH]]t~~t/F/FGG99dnn,,]]d///ET__1134 :,,T2$$AEE4,,dnn=>/3zzE4+,: LL$"3"3T]]4--/1 1 ]]d///<<//]]t1143N3NOOMM## <<..    c                     |j                   S r   )
firstChildr(   r)   s     r,   getFirstChildzTreeWalker.getFirstChild$       r.   c                     |j                   S r   )nextSiblingr1   s     r,   getNextSiblingzTreeWalker.getNextSibling'   s    r.   c                     |j                   S r   )
parentNoder1   s     r,   getParentNodezTreeWalker.getParentNode*   r3   r.   N)__name__
__module____qualname__r-   r2   r6   r9    r.   r,   r
   r
      s    /6 r.   r
   N)

__future__r   r   r   xml.domr    r   NonRecursiveTreeWalkerr
   r=   r.   r,   <module>rB      s#    B B  #,, #r.   