ó vÆ_c@`sÏddlmZmZmZyddlmZWn!ek rSddlmZnXddlm Z m Z ddl Z ddl m Z ddl mZdd lmZdd lmZd „ZeeƒZdS( i(tabsolute_importtdivisiontunicode_literals(tMutableMapping(tminidomtNodeNi(tbasei(t constants(t namespaces(tmoduleFactoryFactoryc`svˆ‰dtfd„ƒY‰dtjf‡‡fd†ƒY‰dtjf‡‡‡‡fd†ƒY}d„‰tƒS(NtAttrListcB`sPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cS`s ||_dS(N(telement(tselfR ((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt__init__scS`st|jjjƒƒS(N(titerR t attributestkeys(R ((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt__iter__scS`sJt|tƒrt‚n.|jjj|ƒ}||_||jj|=scS`s ||_|jj|jƒdS(N(tparentR t appendChild(R tnode((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR+@s cS`sH|jjj|ƒ}|r4|jj||jƒn|jj|ƒdS(N(R RtcreateTextNodet insertBeforeR+(R tdataR.ttext((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt insertTextDscS`s&|jj|j|jƒ||_dS(N(R R.R*(R R,trefNode((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR.KscS`s8|jj|jkr+|jj|jƒnd|_dS(N(R t parentNodet removeChildR(R*(R R,((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR4OscS`sOx?|jjƒrA|jj}|jj|ƒ|jj|ƒqWg|_dS(N(R t hasChildNodest firstChildR4R+t childNodes(R t newParenttchild((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pytreparentChildrenTs  c`s ˆ|jƒS(N(R (R (R (sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt getAttributes[scS`s¢|ržx•t|jƒƒD]~\}}t|tƒr„|ddk r]|dd|d}n |d}|jj|d||ƒq|jj||ƒqWndS(Niu:ii(RRRRR(R tsetAttributeNSt setAttribute(R RRRt qualifiedName((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt setAttributes^s   c`sˆ|jjtƒƒS(N(R t cloneNodetFalse(R (R$(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR@mscS`s |jjƒS(N(R R5(R ((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt hasContentpscS`s4|jdkr td|jfS|j|jfSdS(Nuhtml(t namespaceR(RR(R ((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt getNameTuplessN(R"R#R tpropertyRCR+R(R1R.R4R:R;R?RR@RBRDt nameTuple((R R$(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR$8s         t TreeBuilderc`s›eZ‡fd†Z‡‡fd†Zd ‡fd†Z‡fd†Z‡fd†Zd„Z‡fd†Z d„Z d„Z d d „Z ˆZ d ZRS( c`s+ˆjƒjdddƒ|_tj|ƒS(N(tgetDOMImplementationtcreateDocumentR(tdomtweakreftproxy(R (tDom(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt documentClass|sc`st|d}|d}|d}ˆjƒ}|j|||ƒ}|jjˆ|ƒƒˆtkrp|j|_ndS(NunameupublicIdusystemId(RHtcreateDocumentTypetdocumentR+RRJR(R ttokenRtpublicIdtsystemIdtdomimpltdoctype(RMR$(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt insertDoctype€s     c`sO|dkr0|jdkr0|jj|ƒ}n|jj||ƒ}ˆ|ƒS(N(R(tdefaultNamespaceRJt createElementtcreateElementNS(R RRCR,(R$(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt elementClass‹sc`sˆ|jj|ƒƒS(N(RJt createComment(R R/(R$(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt commentClass“sc`sˆ|jjƒƒS(N(RJtcreateDocumentFragment(R (R$(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt fragmentClass–scS`s|jj|jƒdS(N(RJR+R (R R,((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR+™sc`s ˆ|ƒS(N((R R (ttestSerializer(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR_œscS`s|jS(N(RJ(R ((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt getDocumentŸscS`stjj|ƒjS(N(RRGt getFragmentR (R ((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyRa¢scS`s¦|}||kr+tjj|||ƒnwt|jdƒr†tj|jjkr†t|jjƒ|j_|jjj tjƒq†n|jj |jj |ƒƒdS(Nu_child_node_types( RRGR1R&RJRt TEXT_NODEt_child_node_typesRtappendR+R-(R R/R*((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR1¥s N(R"R#RNRVR(RZR\R^R+R_R`RaR1timplementationR((RMtDomImplementationR$R_(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyRG{s     c`s?|jƒg‰d‡‡fd†‰ˆ|dƒdjˆƒS(Nic `sÉ|jtjkr®|jr“|js-|jrr|jp9d}|jpHd}ˆjdd||j||fƒq«ˆjdd||jfƒqšˆjdd|fƒnì|jtjkrЈjdƒnÊ|jtjkròˆjdƒn¨|jtj kr%ˆjdd||j fƒnu|jtj krXˆjd d||j fƒnBt |d ƒr–|j dk r–d tj|j |jf}n |j}ˆjd d||fƒ|jƒršg}x‰tt|jƒƒD]r}|jj|ƒ}|j}|j}|j } | r8d tj| |jf}n |j}|j||fƒqâWx?t|ƒD].\}}ˆjd d|d||fƒqeWn|d7}x|jD]} ˆ| |ƒq®WdS(Nuu|%su u|%su|%su #documentu#document-fragmentu|%su|%s"%s"u namespaceURIu%s %su|%s<%s>u |%s%s="%s"i(tnodeTypeRtDOCUMENT_TYPE_NODERRRRSRdt DOCUMENT_NODEtDOCUMENT_FRAGMENT_NODEt COMMENT_NODEt nodeValueRbR&R'R(RtprefixesR%t hasAttributestrangeRRtitemRt localNametsortedR7( R tindentRRRSRRtiRRtnsR9(trvtserializeElement(sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyRw¹sN  !!!      ) u (t normalizetjoin(R ((RvRwsV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyR_µs  . (RRRRGtlocals(RfRG((R RMRfR$R_sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyt getDomBuilders $"C(: 6(t __future__RRRtcollections.abcRt ImportErrort collectionstxml.domRRRKtRRRt_utilsR R{t getDomModule(((sV/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.pyts   Þ