JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc

a

[��f�"�@s�ddlmZmZmZzddlmZWneyBddlmZYn0ddlm	Z	m
Z
ddlZddlm
Z
ddlmZdd	lmZdd
lmZdd�Zee�ZdS)
�)�absolute_import�division�unicode_literals)�MutableMapping)�minidom�NodeN�)�base�)�	constants)�
namespaces)�moduleFactoryFactorycsV��Gdd�dt��G��fdd�dtj��G����fdd�dtj�}dd��t�S)	Nc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)zgetDomBuilder.<locals>.AttrListcSs
||_dS�N��element��selfr�r�I/usr/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py�__init__sz(getDomBuilder.<locals>.AttrList.__init__cSst|jj���Sr)�iterr�
attributes�keys�rrrr�__iter__sz(getDomBuilder.<locals>.AttrList.__iter__cSs4t|t�rt�n |jj�|�}||_||jj|<dSr)�
isinstance�tuple�NotImplementedErrorr�
ownerDocumentZcreateAttribute�valuer)r�namer�attrrrr�__setitem__s

z+getDomBuilder.<locals>.AttrList.__setitem__cSst|jj�Sr)�lenrrrrrr�__len__#sz'getDomBuilder.<locals>.AttrList.__len__cSst|jj���Sr)�listrr�itemsrrrrr&&sz%getDomBuilder.<locals>.AttrList.itemscSst|jj���Sr)r%rr�valuesrrrrr')sz&getDomBuilder.<locals>.AttrList.valuescSs"t|t�rt�n|jj|jSdSr)rrrrrr�rr rrr�__getitem__,s
z+getDomBuilder.<locals>.AttrList.__getitem__cSst|t�rt�n
|jj|=dSr)rrrrrr(rrr�__delitem__2s
z+getDomBuilder.<locals>.AttrList.__delitem__N)�__name__�
__module__�__qualname__rrr"r$r&r'r)r*rrrr�AttrListsr.cs�eZdZdd�Zedd��Zdd�Zddd	�Zd
d�Zdd
�Z	dd�Z
�fdd�Zdd�Zeee�Z
�fdd�Zdd�Zdd�Zee�ZdS)z"getDomBuilder.<locals>.NodeBuildercSstj�||j�||_dSr)r	rr�nodeNamerrrrrr9sz+getDomBuilder.<locals>.NodeBuilder.__init__cSst|jd�r|jjpdS)N�namespaceURI)�hasattrrr0rrrr�<lambda>=s�z+getDomBuilder.<locals>.NodeBuilder.<lambda>cSs||_|j�|j�dSr)�parentr�appendChild�r�noderrrr4@sz.getDomBuilder.<locals>.NodeBuilder.appendChildNcSs4|jj�|�}|r$|j�||j�n|j�|�dSr)rr�createTextNode�insertBeforer4)r�datar8�textrrr�
insertTextDsz-getDomBuilder.<locals>.NodeBuilder.insertTextcSs|j�|j|j�||_dSr)rr8r3)rr6ZrefNoderrrr8Ksz/getDomBuilder.<locals>.NodeBuilder.insertBeforecSs&|jj|jkr|j�|j�d|_dSr)rZ
parentNode�removeChildr3r5rrrr<Osz.getDomBuilder.<locals>.NodeBuilder.removeChildcSs6|j��r,|jj}|j�|�|j�|�qg|_dSr)r�
hasChildNodesZ
firstChildr<r4�
childNodes)rZ	newParent�childrrr�reparentChildrenTs

z3getDomBuilder.<locals>.NodeBuilder.reparentChildrencs
�|j�Srrr)r.rr�
getAttributes[sz0getDomBuilder.<locals>.NodeBuilder.getAttributescSsv|rrt|���D]`\}}t|t�rb|ddurD|dd|d}n|d}|j�|d||�q|j�||�qdS)Nr�:rr
)r%r&rrrZsetAttributeNSZsetAttribute)rrr rZ
qualifiedNamerrr�
setAttributes^s
��z0getDomBuilder.<locals>.NodeBuilder.setAttributescs�|j�d��S)NF)r�	cloneNoder��NodeBuilderrrrDmsz,getDomBuilder.<locals>.NodeBuilder.cloneNodecSs
|j��Sr)rr=rrrr�
hasContentpsz-getDomBuilder.<locals>.NodeBuilder.hasContentcSs(|jdurtd|jfS|j|jfSdS)NZhtml)�	namespacerr rrrr�getNameTupless
z/getDomBuilder.<locals>.NodeBuilder.getNameTuple)N)r+r,r-r�propertyrHr4r;r8r<r@rArCrrDrGrIZ	nameTupler)r.rFrrrF8s

rFcs�eZdZ�fdd�Z��fdd�Zd�fdd�	Z�fdd	�Z�fd
d�Zdd
�Z�fdd�Z	dd�Z
dd�Zddd�Z�Z
dZdS)z"getDomBuilder.<locals>.TreeBuildercs����ddd�|_t�|�Sr)�getDOMImplementationZcreateDocument�dom�weakref�proxyr)�Domrr�
documentClass|sz0getDomBuilder.<locals>.TreeBuilder.documentClasscsR|d}|d}|d}���}|�|||�}|j��|���tkrN|j|_dS)Nr �publicId�systemId)rKZcreateDocumentTypeZdocumentr4rrLr)r�tokenr rQrRZdomimplZdoctype)rOrFrr�
insertDoctype�sz0getDomBuilder.<locals>.TreeBuilder.insertDoctypeNcs6|dur |jdur |j�|�}n|j�||�}�|�Sr)ZdefaultNamespacerLZ
createElementZcreateElementNS)rr rHr6rErr�elementClass�sz/getDomBuilder.<locals>.TreeBuilder.elementClasscs�|j�|��Sr)rLZ
createComment)rr9rErr�commentClass�sz/getDomBuilder.<locals>.TreeBuilder.commentClasscs�|j���Sr)rLZcreateDocumentFragmentrrErr�
fragmentClass�sz0getDomBuilder.<locals>.TreeBuilder.fragmentClasscSs|j�|j�dSr)rLr4rr5rrrr4�sz.getDomBuilder.<locals>.TreeBuilder.appendChildcs�|�Srrr)�testSerializerrrrX�sz1getDomBuilder.<locals>.TreeBuilder.testSerializercSs|jSr)rLrrrr�getDocument�sz.getDomBuilder.<locals>.TreeBuilder.getDocumentcSstj�|�jSr)r	�TreeBuilder�getFragmentrrrrrr[�sz.getDomBuilder.<locals>.TreeBuilder.getFragmentcSsp|}||krtj�|||�nNt|jd�rXtj|jjvrXt|jj�|j_|jj�	tj�|j�
|j�|��dS)N�_child_node_types)r	rZr;r1rLr�	TEXT_NODEr\r%�appendr4r7)rr9r3rrrr;�sz-getDomBuilder.<locals>.TreeBuilder.insertText)N)N)r+r,r-rPrTrUrVrWr4rXrYr[r;�implementationr r)rO�DomImplementationrFrXrrrZ{s

rZcs0|��g�d��fdd�	��|d�d���S)Nrcs|jtjkr�|jrj|js|jrP|jp&d}|jp0d}��dd||j||f�q~��dd||jf�n��dd|f��nr|jtjkr���d��nX|jtjkr���d��n>|jtj	krވ�dd||j
f��n|jtjk�r��d	d||j
f�n�t|d
��r6|j
du�r6dtj|j
|jf}n|j}��dd||f�|���r�g}tt|j��D]T}|j�|�}|j}|j}|j
}	|	�r�dtj|	|jf}n|j}|�||f��qnt|�D]&\}}��d
d|d||f��q�|d7}|jD]}
�|
|��qdS)N�z|%s<!DOCTYPE %s "%s" "%s">� z|%s<!DOCTYPE %s>z|%s<!DOCTYPE >z	#documentz#document-fragmentz|%s<!-- %s -->z|%s"%s"r0z%s %sz|%s<%s>z
|%s%s="%s"r
)ZnodeTyperZDOCUMENT_TYPE_NODEr rQrRr^Z
DOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZCOMMENT_NODEZ	nodeValuer]r1r0r�prefixesr/Z
hasAttributes�ranger#r�itemrZ	localName�sortedr>)r�indentrQrRr r�ir!r�nsr?��rv�serializeElementrrrl�sT

���
 
z?getDomBuilder.<locals>.testSerializer.<locals>.serializeElement�
)r)�	normalize�joinrrrjrrX�s
.
z%getDomBuilder.<locals>.testSerializer)rr	rrZ�locals)r`rZr)r.rOr`rFrXr�
getDomBuilders$C:6rq)Z
__future__rrr�collections.abcr�ImportError�collectionsZxml.domrrrMrar	rrZ_utilsr
rqZgetDomModulerrrr�<module>s_
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg