ž 7’Rec@sddlmZmZmZddlmZmZddlZejZddl m Z e j Z e j Ze jZe jZe jZe jZdZddlmZmZdjeƒZdd d „Zd d „ZGd d„deƒZ Gdd„de ƒZ!dS(i(uabsolute_importudivisionuunicode_literals(u text_typeu string_typesN(uNodeu <#UNKNOWN#>i(u voidElementsuspaceCharactersucCs>|dkr|rdSdSnt|tƒr0|St|ƒSdS(u<Wrapper around six.text_type to convert None to empty stringuN(uNoneu isinstanceu text_type(usu blank_if_none((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuto_texts uto_textcCs|dkpt|tƒS(u2Wrapper around isinstance(string_types) or is NoneN(uNoneu isinstanceu string_types(ustring((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuis_text_or_none"suis_text_or_nonecBs€|EeZdZdd„Zdd„Zdd„Zddd„Zd d „Zd d „Z d d„Z dd„Z ddddd„Zdd„Zdd„ZdS(u TreeWalkercCs ||_dS(N(utree(uselfutree((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu__init__(suTreeWalker.__init__cCs t‚dS(N(uNotImplementedError(uself((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu__iter__+suTreeWalker.__iter__cCsidd6|d6S(NuSerializeErrorutypeudata((uselfumsg((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuerror.suTreeWalker.errorccsΔ|dks-t|tƒs-tt|ƒƒ‚t|tƒsNtt|ƒƒ‚tdd„|jƒDƒƒsst‚idd6t|d ƒd6t|ƒd6|d6V|rΐ|j t dƒƒVndS( NcssT|]J\\}}}|dks0t|tƒoKt|tƒoKt|tƒVqdS(N(uNoneu isinstanceu string_types(u.0u namespaceunameuvalue((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu 4su&TreeWalker.emptyTag..uEmptyTagutypeunameu namespaceudatauVoid element has childrenF( uNoneu isinstanceu string_typesuAssertionErrorutypeualluitemsuto_textuFalseuerroru_(uselfu namespaceunameuattrsu hasChildren((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuemptyTag1s-!   uTreeWalker.emptyTagcCsΈ|dks-t|tƒs-tt|ƒƒ‚t|tƒsNtt|ƒƒ‚tdd„|jƒDƒƒsst‚idd6t|ƒd6t|ƒd6t dd„|jƒDƒƒd6S( NcssT|]J\\}}}|dks0t|tƒoKt|tƒoKt|tƒVqdS(N(uNoneu isinstanceu string_types(u.0u namespaceunameuvalue((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu Bsu&TreeWalker.startTag..uStartTagutypeunameu namespacecssE|];\\}}}t|dƒt|ƒft|dƒfVqdS(NF(uto_textuFalse(u.0u namespaceunameuvalue((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu Jsudata( uNoneu isinstanceu string_typesuAssertionErrorutypeualluitemsu text_typeuto_textudict(uselfu namespaceunameuattrs((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyustartTag?s-!     uTreeWalker.startTagcCs}|dks-t|tƒs-tt|ƒƒ‚t|tƒsNtt|ƒƒ‚idd6t|dƒd6t|ƒd6id6S(NuEndTagutypeunameu namespaceudataF(uNoneu isinstanceu string_typesuAssertionErrorutypeuto_textuFalse(uselfu namespaceuname((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuendTagNs -!  uTreeWalker.endTagccsίt|tƒs!tt|ƒƒ‚t|ƒ}|jtƒ}|dt|ƒt|ƒ…}|rxidd6|d6Vn|}|jtƒ}|t|ƒd…}|rΏidd6|d6Vn|rΫidd6|d6VndS(NuSpaceCharactersutypeudatau Characters( u isinstanceu string_typesuAssertionErrorutypeuto_textulstripuspaceCharactersulenurstrip(uselfudataumiddleulefturight((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyutextWs!  uTreeWalker.textcCs9t|tƒs!tt|ƒƒ‚idd6t|ƒd6S(NuCommentutypeudata(u isinstanceu string_typesuAssertionErrorutypeu text_type(uselfudata((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyucommentgs!uTreeWalker.commentcCs™t|ƒstt|ƒƒ‚t|ƒs<tt|ƒƒ‚t|ƒsZtt|ƒƒ‚idd6t|ƒd6t|ƒd6t|ƒd6t|ƒd6S(NuDoctypeutypeunameupublicIdusystemIducorrect(uis_text_or_noneuAssertionErrorutypeuto_text(uselfunameupublicIdusystemIducorrect((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyudoctypels    uTreeWalker.doctypecCs9t|tƒs!tt|ƒƒ‚idd6t|ƒd6S(NuEntityutypeuname(u isinstanceu string_typesuAssertionErrorutypeu text_type(uselfuname((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuentityws!uTreeWalker.entitycCs|jtdƒ|ƒS(NuUnknown node type: (uerroru_(uselfunodeType((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuunknown|suTreeWalker.unknownNFT(u__name__u __module__u __qualname__u__init__u__iter__uerroruFalseuemptyTagustartTaguendTagutextucommentuNoneuTrueudoctypeuentityuunknown(u __locals__((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu TreeWalker's       u TreeWalkercBsP|EeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S( uNonRecursiveTreeWalkercCs t‚dS(N(uNotImplementedError(uselfunode((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyugetNodeDetailssu%NonRecursiveTreeWalker.getNodeDetailscCs t‚dS(N(uNotImplementedError(uselfunode((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu getFirstChild„su$NonRecursiveTreeWalker.getFirstChildcCs t‚dS(N(uNotImplementedError(uselfunode((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyugetNextSibling‡su%NonRecursiveTreeWalker.getNextSiblingcCs t‚dS(N(uNotImplementedError(uselfunode((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu getParentNodeŠsu$NonRecursiveTreeWalker.getParentNodec cst|j}xd|dk ro|j|ƒ}|d|dd…}}d}|tkre|j|ŒVn |tkr“xϊ|j|ŒD] }|VqWnΫ|tkr|\}}}}|t krξx%|j ||||ƒD] }|VqΦWd}qn|j |||ƒVni|t kr&|j |dƒVnH|tkrG|j|dƒVn'|tkr\d}n|j|dƒV|r†|j|ƒ} nd} | dk r‘| }q xΘ|dk rk|j|ƒ}|d|dd…}}|tkr|\}}}}|t kr|j||ƒVqn|j|kr4d}Pn|j|ƒ} | dk rY| }Pq€|j|ƒ}q€Wq WdS(NiiFT(utreeuNoneugetNodeDetailsuFalseuDOCTYPEudoctypeuTEXTutextuELEMENTu voidElementsuemptyTagustartTaguCOMMENTucommentuENTITYuentityuDOCUMENTuTrueuunknownu getFirstChilduendTagugetNextSiblingu getParentNode( uselfu currentNodeudetailsutypeu hasChildrenutokenu namespaceunameu attributesu firstChildu nextSibling((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyu__iter__sZ                  uNonRecursiveTreeWalker.__iter__N(u__name__u __module__u __qualname__ugetNodeDetailsu getFirstChildugetNextSiblingu getParentNodeu__iter__(u __locals__((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyuNonRecursiveTreeWalker€s     uNonRecursiveTreeWalkerT("u __future__uabsolute_importudivisionuunicode_literalsupip._vendor.sixu text_typeu string_typesugettextu_uxml.domuNodeu DOCUMENT_NODEuDOCUMENTuDOCUMENT_TYPE_NODEuDOCTYPEu TEXT_NODEuTEXTu ELEMENT_NODEuELEMENTu COMMENT_NODEuCOMMENTu ENTITY_NODEuENTITYuUNKNOWNu constantsu voidElementsuspaceCharactersujoinuTrueuto_textuis_text_or_noneuobjectu TreeWalkeruNonRecursiveTreeWalker(((u?/tmp/pip-zej_zi-build/pip/_vendor/html5lib/treewalkers/_base.pyus"         Y