§
    ¤”j¢9  ã                   óx  — d Z ddlmZmZmZ ddlZddlZddlZ	 ddlm	Z	 n# e
$ r	 ddlm	Z	 Y nw xY wddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZmZ dZ ej        d¦  «        Z ej        d¦  «        j        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Z d„ Z! G d„ dej"        ¦  «        Z"dS )aÃ  Module for supporting the lxml.etree library. The idea here is to use as much
of the native library as possible, without using fragile hacks like custom element
names that break between releases. The downside of this is that we cannot represent
all possible trees; specifically the following are known to cause problems:

Text or comments as siblings of the root element
Docypes with no name

When any of these things occur, we emit a DataLossWarning
é    )Úabsolute_importÚdivisionÚunicode_literalsN)ÚMutableMappingé   )Úbaseé   )ÚDataLossWarning)Ú	constants)Úetree)Ú	_ihatexml)ÚPY3Úbinary_typeTz{([^}]*)}(.*)Úasdc                   ó   — e Zd Zd„ ZdS )ÚDocumentTypec                 ó0   — || _         || _        || _        d S ©N)ÚnameÚpublicIdÚsystemId)Úselfr   r   r   s       úo/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/html5lib/treebuilders/etree_lxml.pyÚ__init__zDocumentType.__init__)   s   € ØˆŒ	Ø ˆŒØ ˆŒˆˆó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   (   s#   € € € € € ð!ð !ð !ð !ð !r   r   c                   ó6   — e Zd Zd„ Zd„ Zd„ Z ee¦  «        ZdS )ÚDocumentc                 ó"   — d | _         g | _        d S r   )Ú_elementTreeÚ_childNodes©r   s    r   r   zDocument.__init__0   s   € Ø ˆÔØˆÔÐÐr   c                 óÈ   — | j                              ¦   «         }| j                              ¦   «                              ¦   «         D ]}Œ|                     |j        ¦  «         d S r   )r#   ÚgetrootÚitersiblingsÚaddnextÚ_element)r   ÚelementÚlasts      r   ÚappendChildzDocument.appendChild4   s^   € ØÔ ×(Ò(Ñ*Ô*ˆØÔ%×-Ò-Ñ/Ô/×<Ò<Ñ>Ô>ð 	ð 	ˆDØà�Š�WÔ%Ñ&Ô&Ð&Ð&Ð&r   c                 ó   — | j         S r   )r$   r%   s    r   Ú_getChildNodeszDocument._getChildNodes;   s   € ØÔÐr   N)r   r   r   r   r-   r/   ÚpropertyÚ
childNodesr   r   r   r!   r!   /   sL   € € € € € ðð ð ð'ð 'ð 'ð ð  ð  ð �˜.Ñ)Ô)€J€J€Jr   r!   c                 óˆ   ‡‡‡— g Št          j        d¬¦  «        Šdˆˆˆfd„	Š ‰| d¦  «         d                     ‰¦  «        S )NT©ÚpreventDoubleDashCommentsr   c           
      ój	  •— t          | d¦  «        �sÂt          | d¦  «        �r‰                     d¦  «         | j        j        rr| j        j        s| j        j        sd| j        j        z  }n*d| j        j        ›d| j        j        ›d| j        j        ›d�}‰                     d	d
|dz   z  ›|›�¦  «         |                      ¦   «         }|                     ¦   «         �(|                     ¦   «         }|                     ¦   «         ­(|�' ‰||dz   ¦  «         | 	                    ¦   «         }|­%d S d S t          | t          ¦  «        st          | t          ¦  «        rNt          | t          ¦  «        st          j        d         dk    sJ ‚‰                     d	d
|z  ›d| ›d�¦  «         d S ‰                     d¦  «         | D ]} ‰||dz   ¦  «         Œd S | j        t           k    re‰                     d	d
|z  ›d| j        ›d�¦  «         t          | d¦  «        r-| j        r(‰                     d	d
|z  ›d| j        ›d�¦  «         d S d S d S t          | t&          j        ¦  «        sJ ‚t*          j                             | j        ¦  «        }|�r|                     d¦  «        }|                     d¦  «        }t2          j        |         }‰                     d	d
|z  ›d|›d
‰                     |¦  «        ›d�¦  «         n7‰                     d	d
|z  ›d‰                     | j        ¦  «        ›d�¦  «         t          | d¦  «        règ }| j                             ¦   «         D ]“\  }	}
t,                               |	¦  «        }|�F|                     ¦   «         \  }}	‰                     |	¦  «        }	t2          j        |         }|›d
|	›�}n‰                     |	¦  «        }|                     ||
f¦  «         Œ”t?          |¦  «        D ])\  }	}
‰                     d	d
|dz   z  ›|	›d|
›d�¦  «         Œ*| j        r'‰                     d	d
|dz   z  ›d| j        ›d�¦  «         |dz  }| D ]} ‰||¦  «         Œt          | d¦  «        r0| j        r+‰                     d	d
|dz
  z  ›d| j        ›d�¦  «         d S d S d S )NÚtagr'   z	#documentú<!DOCTYPE %s>z
<!DOCTYPE z "z" "z">ú|ú r	   r   ú"z#document-fragmentz<!-- z -->Útailr   ú<ú>Úattribú=") ÚhasattrÚappendÚdocinfoÚinternalDTDÚ	public_idÚ
system_urlÚ	root_namer'   ÚgetpreviousÚgetnextÚ
isinstanceÚstrÚbytesÚsysÚversion_infor6   Úcomment_typeÚtextr;   r   Ú_ElementÚetree_buildersÚ
tag_regexpÚmatchÚgroupr   ÚprefixesÚfromXmlNamer>   ÚitemsÚgroupsÚsorted)r+   ÚindentÚdtd_strÚnext_elementÚnsmatchÚnsr6   ÚprefixÚ
attributesr   ÚvalueÚattr_stringÚchildÚinfosetFilterÚrvÚserializeElements                €€€r   rf   z(testSerializer.<locals>.serializeElementE   s‘  ø€ Ý�w Ñ&Ô&ñ D	LÝ�w 	Ñ*Ô*ñ ?à—	’	˜+Ñ&Ô&Ð&Ø”?Ô.ð 	GØ#œOÔ5ð 8Ø#œOÔ6ð8à"1°G´OÔ4MÑ"M˜˜øð $œOÔ5Ð5Ð5Ø#œOÔ5Ð5Ð5Ø#œOÔ6Ð6Ð6ð#8˜ð —I’I�I¨°¸±
Ñ);Ð);¸W¸WÐEÑFÔFÐFØ&ŸšÑ0Ô0�Ø"×.Ò.Ñ0Ô0Ð<Ø#/×#;Ò#;Ñ#=Ô#=�Lð #×.Ò.Ñ0Ô0Ð<à"Ð.Ø$Ð$ \°6¸A±:Ñ>Ô>Ð>Ø#/×#7Ò#7Ñ#9Ô#9�Lð #Ð.Ð.Ð.Ð.Ð.õ ˜G¥SÑ)Ô)ð ?­Z¸ÅÑ-GÔ-Gð ?å! '­3Ñ/Ô/ÐKµ3Ô3CÀAÔ3FÈ!Ò3KÐ3KÐ3KÐ3KØ—	’	�	¨¨v©¨¨°w°w°wÐ?Ñ@Ô@Ð@Ð@Ð@ð —	’	Ð.Ñ/Ô/Ð/Ø$+ð ?ð ?�LØ$Ð$ \°6¸A±:Ñ>Ô>Ð>Ð>ð?ð ?àŒ[�LÒ(Ð(Ø�IŠIˆI¨#°©,¨,¨,¸¼¸¸ÐEÑFÔFÐFÝ�w Ñ'Ô'ð F¨G¬Lð FØ—	’	�	¨¨v©¨¨°w´|°|°|ÐDÑEÔEÐEÐEÐEðFð Fð Fð Fõ ˜g¥u¤~Ñ6Ô6Ð6Ð6Ð6Ý$Ô/×5Ò5°g´kÑBÔBˆGØÐ"Ø—]’] 1Ñ%Ô%�Ø—m’m AÑ&Ô&�Ý"Ô+¨BÔ/�Ø—	’	�	¨#°©,¨,¨,¸¸¸Ø*7×*CÒ*CÀCÑ*HÔ*HÐ*HÐ*HðJñ Kô Kð Kð Kð —	’	�	 s¨V¡| | |Ø'4×'@Ò'@ÀÄÑ'MÔ'MÐ'MÐ'MðOñ Pô Pð Põ �w Ñ)Ô)ð PØ�
Ø#*¤>×#7Ò#7Ñ#9Ô#9ð 	<ð 	<‘K�D˜%Ý(×.Ò.¨tÑ4Ô4�GØÐ*Ø#*§>¢>Ñ#3Ô#3™˜˜DØ,×8Ò8¸Ñ>Ô>˜Ý!*Ô!3°BÔ!7˜Ø17°°¸¸Ð&>˜˜à&3×&?Ò&?ÀÑ&EÔ&E˜Ø×%Ò% {°EÐ&:Ñ;Ô;Ð;Ð;å#)¨*Ñ#5Ô#5ð Pð P‘K�D˜%Ø—I’I�I¨c°V¸a±ZÑ.@Ð.@À$À$À$ÈÈÈÐNÑOÔOÐOÐOàŒ|ð LØ—	’	�	¨°¸±
Ñ);Ð);Ð);¸W¼\¸\¸\ÐJÑKÔKÐKØ�a‰KˆFØ ð 0ð 0�Ø Ð  ¨Ñ/Ô/Ð/Ð/Ý�w Ñ'Ô'ð L¨G¬Lð LØ—	’	�	¨°¸±
Ñ);Ð);Ð);¸W¼\¸\¸\ÐJÑKÔKÐKÐKÐKðLð Lð Lð Lr   ú
)r   )r   ÚInfosetFilterÚjoin)r+   rd   re   rf   s    @@@r   ÚtestSerializerrj   A   s{   øøø€ Ø	€BÝÔ+ÀdÐKÑKÔK€MðELð ELð ELð ELð ELð ELð ELð ELðL Ð�W˜aÑ Ô Ð à�9Š9�R‰=Œ=Ðr   c                 óV   ‡‡— g Šˆˆfd„Š ‰| ¦  «         d                      ‰¦  «        S )z4Serialize an element and its child nodes to a stringc                 óV  •— t          | d¦  «        sg| j        j        r=| j        j        r| j        j        }nd| j        j        z  }‰                     |¦  «          ‰|                      ¦   «         ¦  «         nû| j        t          k    r‰                     d| j	        ›d�¦  «         nÌ| j
        s‰                     d| j        ›d�¦  «         nWd                     d„ | j
                             ¦   «         D ¦   «         ¦  «        }‰                     d| j        ›d|›d�¦  «         | j	        r‰                     | j	        ¦  «         | D ]} ‰|¦  «         Œ‰                     d	| j        ›d�¦  «         t          | d
¦  «        r#| j        r‰                     | j        ¦  «         d S d S d S )Nr6   r7   z<!--z-->r<   r=   r9   c                 ó$   — g | ]\  }}|›d |›d�‘ŒS )r?   r:   r   )Ú.0r   ra   s      r   ú
<listcomp>z6tostring.<locals>.serializeElement.<locals>.<listcomp>¦   s?   € ð !Lð !Lð !LÙ%0 T¨5ð 15°°°e°e°eÐ!<ð !Lð !Lð !Lr   z</r;   )r@   rB   rC   ÚdoctyperF   rA   r'   r6   rN   rO   r>   ri   rW   r;   )r+   r[   Úattrrc   re   rf   s       €€r   rf   z"tostring.<locals>.serializeElement”   sâ  ø€ Ý�w Ñ&Ô&ð 	0ØŒÔ*ð #Ø”?Ô*ð JØ%œoÔ5�G�Gà-°´Ô0IÑI�GØ—	’	˜'Ñ"Ô"Ð"ØÐ˜WŸ_š_Ñ.Ô.Ñ/Ô/Ð/Ð/àŒ[�LÒ(Ð(Ø�IŠIˆI W¤\ \ \Ð3Ñ4Ô4Ð4Ð4ð ”>ð ;Ø—	’	�	 G¤K K KÐ1Ñ2Ô2Ð2Ð2à—x’xð !Lð !LØ4;´N×4HÒ4HÑ4JÔ4Jð!Lñ !Lô !Lñ Mô M�à—	’	�	 w¤{ { {°D°D°DÐ9Ñ:Ô:Ð:ØŒ|ð (Ø—	’	˜'œ,Ñ'Ô'Ð'à ð (ð (�Ø Ð  Ñ'Ô'Ð'Ð'à�IŠIˆI ¤  Ð.Ñ/Ô/Ð/å�7˜FÑ#Ô#ð 	$¨¬ð 	$Ø�IŠI�g”lÑ#Ô#Ð#Ð#Ð#ð	$ð 	$ð 	$ð 	$r   Ú )ri   )r+   re   rf   s    @@r   Útostringrs   �   sK   øø€ à	€Bð$ð $ð $ð $ð $ð $ð@ Ð�WÑÔÐà�7Š7�2‰;Œ;Ðr   c                   ól   ‡ — e Zd ZeZeZdZdZeZ	e
Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zdd	„Zdˆ fd
„	Zd„ Zˆ xZS )ÚTreeBuilderNFc                 óh  ‡‡‡— t          j        t          |¬¦  «        Št          j        d¬¦  «        xŠ| _        || _         G ˆfd„dt          ¦  «        Š G ˆˆˆfd„d‰j        ¦  «        } G ˆˆfd„d	‰j	        ¦  «        }|| _
        || _        t          j                             | |¦  «         d S )
N)ÚfullTreeTr3   c                   óD   •— e Zd Zd„ Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ú(TreeBuilder.__init__.<locals>.Attributesc                 ó   — || _         d S r   )r*   ©r   r+   s     r   r   z1TreeBuilder.__init__.<locals>.Attributes.__init__Ç   s   € Ø '�”��r   c                 ó¬   •— t          |t          ¦  «        r(d|d         ›d‰                     |d         ¦  «        ›�}n‰                     |¦  «        }|S )NÚ{r	   Ú}r   )rI   ÚtupleÚcoerceAttribute)r   Úkeyr   rd   s      €r   Ú
_coerceKeyz3TreeBuilder.__init__.<locals>.Attributes._coerceKeyÊ   s\   ø€ Ý˜c¥5Ñ)Ô)ð >ð >Ø'*¨1¤v v v¨}×/LÒ/LÈSÐQRÌVÑ/TÔ/TÐ/TÐU�D�Dà(×8Ò8¸Ñ=Ô=�DØ�r   c                 ó¼   — | j         j         j        |                      |¦  «                 }t          s*t	          |t
          ¦  «        r|                     d¦  «        }|S )NÚascii)r*   r>   r‚   r   rI   r   Údecode©r   r�   ra   s      r   Ú__getitem__z4TreeBuilder.__init__.<locals>.Attributes.__getitem__Ñ   sO   € ØœÔ.Ô5°d·o²oÀcÑ6JÔ6JÔK�Ýð 2�z¨%µÑ=Ô=ð 2Ø!ŸLšL¨Ñ1Ô1�EØ�r   c                 óT   — || j         j         j        |                      |¦  «        <   d S r   ©r*   r>   r‚   r†   s      r   Ú__setitem__z4TreeBuilder.__init__.<locals>.Attributes.__setitem__×   s&   € ØFK�”Ô&Ô-¨d¯oªo¸cÑ.BÔ.BÑCÐCÐCr   c                 óP   — | j         j         j        |                      |¦  «        = d S r   r‰   )r   r�   s     r   Ú__delitem__z4TreeBuilder.__init__.<locals>.Attributes.__delitem__Ú   s$   € Ø”MÔ*Ô1°$·/²/À#Ñ2FÔ2FÐGÐGÐGr   c                 ó>   — t          | j        j        j        ¦  «        S r   )Úiterr*   r>   r%   s    r   Ú__iter__z1TreeBuilder.__init__.<locals>.Attributes.__iter__Ý   s   € Ý˜DœMÔ2Ô9Ñ:Ô:Ð:r   c                 ó>   — t          | j        j        j        ¦  «        S r   )Úlenr*   r>   r%   s    r   Ú__len__z0TreeBuilder.__init__.<locals>.Attributes.__len__à   s   € Ý˜4œ=Ô1Ô8Ñ9Ô9Ð9r   c                 óH   — | j         j         j                             ¦   «         S r   )r*   r>   Úclearr%   s    r   r”   z.TreeBuilder.__init__.<locals>.Attributes.clearã   s   € Ø”}Ô-Ô4×:Ò:Ñ<Ô<Ð<r   N)r   r   r   r   r‚   r‡   rŠ   rŒ   r�   r’   r”   )rd   s   €r   Ú
Attributesry   Æ   s�   ø€ € € € € ð(ð (ð (ðð ð ð ð ðð ð ðLð Lð LðHð Hð Hð;ð ;ð ;ð:ð :ð :ð=ð =ð =ð =ð =r   r•   c                   ó‚   •— e Zd Zˆ ˆˆfd„Zˆfd„Zˆfd„Z eee¦  «        Zd„ Zd„ Z	 eee	¦  «        Z
d	ˆˆfd„	Zd„ ZdS )
ú%TreeBuilder.__init__.<locals>.Elementc                 óŒ   •— ‰                      |¦  «        }‰j                             | ||¬¦  «          ‰| ¦  «        | _        d S )N)Ú	namespace)ÚcoerceElementÚElementr   Ú_attributes)r   r   r™   r•   Úbuilderrd   s      €€€r   r   z.TreeBuilder.__init__.<locals>.Element.__init__ç   sK   ø€ Ø$×2Ò2°4Ñ8Ô8�Ø”×(Ò(¨¨t¸yÐ(ÑIÔIÐIØ#- :¨dÑ#3Ô#3�Ô Ð Ð r   c                 ó�   •— ‰                      |¦  «        | _        |                      | j        | j        ¦  «        | j        _        d S r   )rš   Ú_nameÚ_getETreeTagÚ
_namespacer*   r6   )r   r   rd   s     €r   Ú_setNamez.TreeBuilder.__init__.<locals>.Element._setNameì   sA   ø€ Ø*×8Ò8¸Ñ>Ô>�”
Ø$(×$5Ò$5Ø”J ¤ñ%1ô %1�”Ô!Ð!Ð!r   c                 ó8   •— ‰                      | j        ¦  «        S r   )rV   rŸ   )r   rd   s    €r   Ú_getNamez.TreeBuilder.__init__.<locals>.Element._getNameñ   s   ø€ Ø$×0Ò0°´Ñ<Ô<Ð<r   c                 ó   — | j         S r   )rœ   r%   s    r   Ú_getAttributesz4TreeBuilder.__init__.<locals>.Element._getAttributesö   s   € ØÔ'Ð'r   c                 óf   — | j         }|                     ¦   «          |                     |¦  «         d S r   )r`   r”   Úupdate)r   ra   r`   s      r   Ú_setAttributesz4TreeBuilder.__init__.<locals>.Element._setAttributesù   s5   € Ø!œ_�
Ø× Ò Ñ"Ô"Ð"Ø×!Ò! %Ñ(Ô(Ð(Ð(Ð(r   Nc                 ój   •— ‰                      |¦  «        }‰j                             | ||¦  «         d S r   )ÚcoerceCharactersr›   Ú
insertText)r   ÚdataÚinsertBeforer�   rd   s      €€r   r¬   z0TreeBuilder.__init__.<locals>.Element.insertText   s6   ø€ Ø$×5Ò5°dÑ;Ô;�Ø”×*Ò*¨4°°|ÑDÔDÐDÐDÐDr   c                 ó¶   —  t          | ¦  «        | j        | j        ¦  «        }| j        j        r)|j        j                             | j        j        ¦  «         |S r   )Útyper   r™   r*   r>   r¨   r{   s     r   Ú	cloneNodez/TreeBuilder.__init__.<locals>.Element.cloneNode  sO   € Ø$�$˜t™*œ* T¤Y°´Ñ?Ô?�Ø”=Ô'ð IØÔ$Ô+×2Ò2°4´=Ô3GÑHÔHÐHØ�r   r   )r   r   r   r   r¢   r¤   r0   r   r¦   r©   r`   r¬   r±   )r•   r�   rd   s   €€€r   r›   r—   æ   sç   ø€ € € € € ð4ð 4ð 4ð 4ð 4ð 4ð 4ð
1ð 1ð 1ð 1ð 1ð
=ð =ð =ð =ð =ð �8˜H hÑ/Ô/ˆDð(ð (ð (ð)ð )ð )ð
 "˜ .°.ÑAÔAˆJðEð Eð Eð Eð Eð Eð Eðð ð ð ð r   r›   c                   óD   •— e Zd Zˆ ˆfd„Zˆfd„Zd„ Z eee¦  «        ZdS )ú%TreeBuilder.__init__.<locals>.Commentc                 óh   •— ‰                      |¦  «        }‰j                             | |¦  «         d S r   )ÚcoerceCommentÚCommentr   )r   r­   r�   rd   s     €€r   r   z.TreeBuilder.__init__.<locals>.Comment.__init__  s4   ø€ Ø$×2Ò2°4Ñ8Ô8�Ø”×(Ò(¨¨tÑ4Ô4Ð4Ð4Ð4r   c                 óJ   •— ‰                      |¦  «        }|| j        _        d S r   )rµ   r*   rO   )r   r­   rd   s     €r   Ú_setDataz.TreeBuilder.__init__.<locals>.Comment._setData  s&   ø€ Ø$×2Ò2°4Ñ8Ô8�Ø%)�”Ô"Ð"Ð"r   c                 ó   — | j         j        S r   )r*   rO   r%   s    r   Ú_getDataz.TreeBuilder.__init__.<locals>.Comment._getData  s   € Ø”}Ô)Ð)r   N)r   r   r   r   r¸   rº   r0   r­   )r�   rd   s   €€r   r¶   r³   
  sh   ø€ € € € € ð5ð 5ð 5ð 5ð 5ð 5ð*ð *ð *ð *ð *ð*ð *ð *ð �8˜H hÑ/Ô/ˆDˆDˆDr   r¶   )rQ   ÚgetETreeModuler   r   rh   rd   ÚnamespaceHTMLElementsr   r›   r¶   ÚelementClassÚcommentClassr   ru   r   )r   r¼   rw   r›   r¶   r•   r�   rd   s        @@@r   r   zTreeBuilder.__init__Á   s!  øøø€ Ý Ô/µÀÐIÑIÔIˆÝ-6Ô-DÐ_cÐ-dÑ-dÔ-dÐdˆ˜Ô*Ø%:ˆÔ"ð	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=�ñ 	=ô 	=ð 	=ð@"	ð "	ð "	ð "	ð "	ð "	ð "	ð "	ð "	�g”oñ "	ô "	ð "	ðH	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0�g”oñ 	0ô 	0ð 	0ð $ˆÔØ#ˆÔåÔ×!Ò! $Ð(=Ñ>Ô>Ð>Ð>Ð>r   c                 óx   — t           j                             | ¦  «         | j        | _        g | _        d | _        d S r   )r   ru   ÚresetÚinsertCommentInitialÚinsertCommentÚinitial_commentsrp   r%   s    r   rÀ   zTreeBuilder.reset  s7   € ÝÔ×Ò˜tÑ$Ô$Ð$Ø!Ô6ˆÔØ "ˆÔØˆŒˆˆr   c                 ó    — t          |¦  «        S r   )rj   r{   s     r   rj   zTreeBuilder.testSerializer#  s   € Ý˜gÑ&Ô&Ð&r   c                 ód   — t           r| j        j        S | j        j                             ¦   «         S r   )rw   Údocumentr#   r'   r%   s    r   ÚgetDocumentzTreeBuilder.getDocument&  s,   € Ýð 	8Ø”=Ô-Ð-à”=Ô-×5Ò5Ñ7Ô7Ð7r   c                 óö   — g }| j         d         j        }|j        r|                     |j        ¦  «         |                     t          |¦  «        ¦  «         |j        r|                     |j        ¦  «         |S )Nr   )ÚopenElementsr*   rO   rA   ÚextendÚlistr;   )r   Úfragmentr+   s      r   ÚgetFragmentzTreeBuilder.getFragment,  sp   € ØˆØÔ# AÔ&Ô/ˆØŒ<ð 	*Ø�OŠO˜GœLÑ)Ô)Ð)Ø�Š�˜W™œÑ&Ô&Ð&ØŒ<ð 	*Ø�OŠO˜GœLÑ)Ô)Ð)Øˆr   c                 ó0  — |d         }|d         }|d         }|s#t          j        dt          ¦  «         d | _        d S | j                             |¦  «        }||k    rt          j        dt          ¦  «         |                      |||¦  «        }|| _        d S )Nr   r   r   z#lxml cannot represent empty doctypez%lxml cannot represent non-xml doctype)ÚwarningsÚwarnr
   rp   rd   rš   ÚdoctypeClass)r   Útokenr   r   r   ÚcoercedNamerp   s          r   ÚinsertDoctypezTreeBuilder.insertDoctype6  s›   € Ø�VŒ}ˆØ˜Ô$ˆØ˜Ô$ˆàð 		#ÝŒMÐ?ÅÑQÔQÐQØˆDŒLˆLˆLàÔ,×:Ò:¸4Ñ@Ô@ˆKØ˜dÒ"Ð"Ý”ÐEÅÑWÔWÐWà×'Ò'¨°X¸xÑHÔHˆGØ"ˆDŒLˆLˆLr   c                 óp   — |�|| j         u sJ ‚| j         j        �J ‚| j                             |¦  «         d S r   )rÆ   r#   rÃ   rA   )r   r­   Úparents      r   rÁ   z TreeBuilder.insertCommentInitialF  sG   € Øˆ~ ¨4¬=Ð!8Ð!8Ð!8Ð!8ØŒ}Ô)Ð1Ð1Ð1ØÔ×$Ò$ TÑ*Ô*Ð*Ð*Ð*r   c                 ó  •— || j         k    rL| j         j                             ¦   «         d         j        t          k    rt          j        dt          ¦  «         t          t          | ¦  «         
                    ||¦  «         d S )Néÿÿÿÿz@lxml cannot represent adjacent comments beyond the root elements)rÆ   r#   r'   r6   rN   rÏ   rÐ   r
   Úsuperru   rÂ   )r   r­   rÖ   Ú	__class__s      €r   ÚinsertCommentMainzTreeBuilder.insertCommentMainK  sn   ø€ Ø�d”mÒ#Ð#Ø”Ô*×2Ò2Ñ4Ô4°RÔ8Ô<ÅÒLÐLÝŒMÐ\Õ^mÑnÔnÐnÝ�k˜4Ñ Ô ×.Ò.¨t°VÑ<Ô<Ð<Ð<Ð<r   c                 óð  — d}| j         �rC| j         j        sJ ‚|d| j         j        z  z  }| j         j        €| j         j        �Ö|d| j                             | j         j        pd¦  «        z  z  }| j         j        r™| j         j        }|                     d¦  «        dk    rI|                     d¦  «        dk    r0t          j        dt          ¦  «         | 
                    dd¦  «        }|                     d¦  «        dk    r	|d	|z  z  }n|d
|z  z  }n|dz  }|dz  }| j         j        |d         k    rt          j        dt          ¦  «         |dz  }t          j        |¦  «        }| j        D ]7}|                      |d         ¦  «        }|                     |j        ¦  «         Œ8|                      ¦   «         | _        |                     ¦   «         | j        _        |d         }|                     d| j        ¦  «        }|€|}	nd|›d|›�}	|	|_        |                      ||¦  «        }
||
_        | j        j                             |
¦  «         | j                             |
¦  «         | j        | _        d S )Nrr   z<!DOCTYPE %sz PUBLIC "%s" ú'r   r:   z6DOCTYPE system cannot contain single and double quotesÚU00027z"%s"z'%s'z''r=   r   zGlxml cannot represent doctype with a different name to the root elementz$<THIS_SHOULD_NEVER_APPEAR_PUBLICLY/>r­   r™   r}   r~   )rp   r   r   r   rd   ÚcoercePubidÚfindrÏ   rÐ   r
   Úreplacer   Ú
fromstringrÃ   r¾   Úaddpreviousr*   ÚdocumentClassrÆ   Úgetroottreer#   ÚgetÚdefaultNamespacer6   r½   r$   rA   rÉ   rÛ   rÂ   )r   rÒ   ÚdocStrÚsysidÚrootÚcomment_tokenÚcommentr   r™   Ú	etree_tagÚroot_elements              r   Ú
insertRootzTreeBuilder.insertRootQ  s‘  € ð
 ˆØŒ<ñ 	zØ”<Ô$Ð$Ð$Ð$Ø�n t¤|Ô'8Ñ8Ñ8ˆFØ”Ô%Ð1Ø”LÔ)Ð5Ø˜?Ø Ô.×:Ò:¸4¼<Ô;PÐ;VÐTVÑWÔWñYñ Z�à”<Ô(ð 
#Ø œLÔ1�EØ—z’z #‘”¨!Ò+Ð+°·
²
¸3±´À1Ò0DÐ0DÝ œÐ&^Õ`oÑpÔpÐpØ %§¢¨c°8Ñ <Ô <˜Ø—z’z #‘”¨!Ò+Ð+Ø &¨5¡.Ñ0˜˜à &¨5¡.Ñ0˜˜à˜d‘N�FØ�c‰MˆFØŒ|Ô  E¨&¤MÒ1Ð1Ý”ÐgÕixÑyÔyÐyØÐ8Ñ8ˆÝÔ Ñ'Ô'ˆð "Ô2ð 	/ð 	/ˆMØ×'Ò'¨°fÔ(=Ñ>Ô>ˆGØ×Ò˜WÔ-Ñ.Ô.Ð.Ð.ð ×*Ò*Ñ,Ô,ˆŒØ%)×%5Ò%5Ñ%7Ô%7ˆŒÔ"ð �VŒ}ˆØ—I’I˜k¨4Ô+@ÑAÔAˆ	ØÐØˆIˆIð ð %. I I¨t¨tÐ4ˆIØˆŒð ×(Ò(¨¨yÑ9Ô9ˆØ $ˆÔØŒÔ!×(Ò(¨Ñ6Ô6Ð6ØÔ× Ò  Ñ.Ô.Ð.ð "Ô3ˆÔÐÐr   )Fr   )r   r   r   r!   rä   r   rÑ   r½   r¾   ÚfragmentClassr   Úimplementationr   rÀ   rj   rÇ   rÍ   rÔ   rÁ   rÛ   rï   Ú__classcell__)rÚ   s   @r   ru   ru   ¹   sâ   ø€ € € € € Ø€MØ€LØ€LØ€LØ€MØ€NðZ?ð Z?ð Z?ð Z?ðxð ð ð'ð 'ð 'ð8ð 8ð 8ðð ð ð#ð #ð #ð +ð +ð +ð +ð
=ð =ð =ð =ð =ð =ð74ð 74ð 74ð 74ð 74ð 74ð 74r   ru   )#Ú__doc__Ú
__future__r   r   r   rÏ   ÚrerL   Úcollections.abcr   ÚImportErrorÚcollectionsrr   r   r   r
   r   rQ   r   Ú
lxml.etreeÚsixr   r   rw   ÚcompilerR   r¶   r6   rN   Úobjectr   r!   rj   rs   ru   r   r   r   ú<module>rý      s  ðð	ð 	ð CÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bð €€€Ø 	€	€	€	Ø 
€
€
€
ð+Ø.Ð.Ð.Ð.Ð.Ð.Ð.øØð +ð +ð +Ø*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð+øøøð Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ð €ØˆRŒZ˜Ñ(Ô(€
àˆuŒ}˜UÑ#Ô#Ô'€ð!ð !ð !ð !ð !�6ñ !ô !ð !ð*ð *ð *ð *ð *ˆvñ *ô *ð *ð$Lð Lð Lð^&ð &ð &ðRO4ð O4ð O4ð O4ð O4�$Ô"ñ O4ô O4ð O4ð O4ð O4s   š! ¡/®/