Ë
    ômxiáì  ã                  óR  — d dl mZ d dlmZmZ d dlmZ d dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlZd dlZd d	lmZ d d
lmZmZ d dlmc mZ d dlZd dlmZmZm Z  d dl!m"Z# d dl$m%Z% d dl&m'Z'  eg d¢g d¢dejP                  dgdœ«      Z)dZ*dZ+ eddddddœddddddœddddddœd d d d d dœddddddœdd d!d"d#dœd$œ«      Z,d%„ Z- ej\                  d&d'g¬(«      d)„ «       Z/ ej\                   ej`                  d* ejb                  d*«      ¬+«      d,g¬(«      d-„ «       Z2d.„ Z3d/„ Z4d0„ Z5ejl                  jn                  ejl                  jp                  d1„ «       «       Z9d2„ Z:d3„ Z;d4„ Z<d5„ Z=d6„ Z>d7„ Z?d8„ Z@ejl                  jƒ                  d9d:d;g«      d<„ «       ZBejl                  jƒ                  d9d:d;g«      d=„ «       ZCd>„ ZDejl                  jn                  ejl                  jp                  d?„ «       «       ZEejl                  jn                  ejl                  jp                  d@„ «       «       ZFdA„ ZGdB„ ZHdC„ ZIdD„ ZJdE„ ZKdF„ ZLdG„ ZMdH„ ZNdI„ ZOdJ„ ZPdK„ ZQejl                  jƒ                  dLd:dg«      dM„ «       ZRdN„ ZSdO„ ZTdP„ ZUdQ„ ZVdR„ ZWdS„ ZXdT„ ZYdU„ ZZdV„ Z[dW„ Z\dX„ Z]dY„ Z^dZ„ Z_d[„ Z`d\„ Zad]„ Zbd^„ Zcd_„ Zdd`„ Zeda„ Zf ejÎ                  d*«      db„ «       Zhdc„ Zidd„ Zjde„ Zkdf„ Zldg„ Zmdh„ Zndi„ Zodj„ Zpdk„ Zqdl„ Zrdm„ Zsdn„ Ztdo„ Zuejl                  jƒ                  d9d:d;g«      dp„ «       Zvdq„ Zwdr„ Zxejl                  jn                  ejl                  jp                  ds„ «       «       Zydt„ Zzdu„ Z{dv„ Z|dw„ Z}dx„ Z~dy„ Zdz„ Z€d{„ Z�d|„ Z‚d}„ Zƒd~„ Z„d„ Z…d€„ Z†ejl                  jn                  ejl                  jp                  d�„ «       «       Z‡d‚„ Zˆdƒ„ Z‰y)„é    )Úannotations)ÚBytesIOÚStringIO)Ú	LZMAErrorN)Ú	ReadError)Ú	HTTPError)Ú
ParseError)Ú
BadZipFile)Úimport_optional_dependency)ÚEmptyDataErrorÚParserError)ÚNAÚ	DataFrameÚSeries)Ú
get_handle)Úread_xml©ÚsquareÚcircleÚtriangle©éh  r   é´   é   é   ©ÚshapeÚdegreesÚsidesa[  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4</sides>
  </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3</sides>
  </row>
</data>aÇ  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.com">
  <doc:row>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>ÚID_00001ÚID_00002ÚID_00003ÚID_00004ÚID_00005©r   é   é   r   r   zBlue Line (Forest Park)zRed, Purple Linez#LineStyle01ÚclampedToGroundzæ-87.77678526964958,41.8708863930319,0 -87.77826234150609,41.87097820122218,0 -87.78251583439344,41.87130129991005,0 -87.78418294588424,41.87145055520308,0 -87.7872369165933,41.8717239119163,0 -87.79160214925886,41.87210797280065,0a\  -87.65758750947528,41.96427269188822,0 -87.65802133507393,41.96581929055245,0 -87.65819033925305,41.96621846093642,0 -87.6583189819129,41.96650362897086,0 -87.65835858701473,41.96669002089185,0 -87.65838428411853,41.96688150295095,0 -87.65842208882658,41.96745896091846,0 -87.65846556843937,41.9683761425439,0 -87.65849296214573,41.96913893870342,0a”  -87.65492939166126,41.95377494531437,0 -87.65557043199591,41.95376544118533,0 -87.65606302030132,41.95376391658746,0 -87.65623502146268,41.95377379126367,0 -87.65634748981634,41.95380103566435,0 -87.65646537904269,41.95387703994676,0 -87.65656532461145,41.95396622645799,0 -87.65664760856414,41.95404201996044,0 -87.65671750555913,41.95416647054043,0 -87.65673983607117,41.95429949810849,0 -87.65673866475777,41.95441024240925,0 -87.6567690255541,41.95490657227902,0 -87.65683672482363,41.95692259283837,0 -87.6568900886376,41.95861070983142,0 -87.65699865558875,41.96181418669004,0 -87.65756347177603,41.96397045777844,0 -87.65758750947528,41.96427269188822,0ah  -87.65362593118043,41.94742799535678,0 -87.65363554415794,41.94819886386848,0 -87.6536456393239,41.95059994675451,0 -87.65365831235026,41.95108288489359,0 -87.6536604873874,41.9519954657554,0 -87.65362592053201,41.95245597302328,0 -87.65367158496069,41.95311153649393,0 -87.65368468595476,41.9533202828916,0 -87.65369271253692,41.95343095587119,0 -87.65373335834569,41.95351536301472,0 -87.65378605844126,41.95358212680591,0 -87.65385067928185,41.95364452823767,0 -87.6539390793817,41.95370263886964,0 -87.6540786298351,41.95373403675265,0 -87.65430648647626,41.9537535411832,0 -87.65492939166126,41.95377494531437,0a   -87.65345391792157,41.94217681262115,0 -87.65342448305786,41.94237224420864,0 -87.65339745703922,41.94268217746244,0 -87.65337753982941,41.94288140770284,0 -87.65336256753105,41.94317369618263,0 -87.65338799707138,41.94357253961736,0 -87.65340240886648,41.94389158188269,0 -87.65341837392448,41.94406444407721,0 -87.65342275247338,41.94421065714904,0 -87.65347469646018,41.94434829382345,0 -87.65351486483024,41.94447699917548,0 -87.65353483605053,41.9453896864472,0 -87.65361975532807,41.94689193720703,0 -87.65362593118043,41.94742799535678,0©ÚidÚnameÚstyleUrlÚextrudeÚaltitudeModeÚcoordinatesc                 ó°   — t        j                  d«       d} t        j                  t        | ¬«      5  t        t        «       d d d «       y # 1 sw Y   y xY w)NÚlxmlú—Passing literal xml to 'read_xml' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.©Úmatch)ÚpytestÚimportorskipÚtmÚassert_produces_warningÚFutureWarningr   Úxml_default_nmsp©Úmsgs    úS/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/io/xml/test_xml.pyÚtest_literal_xml_deprecationr>   õ   sJ   € ä
×Ñ˜Ôð	:ð ô 
×	#Ñ	#¤M¸Ô	=ñ #ÜÔ!Ô"÷#÷ #ñ #ús   ³AÁAÚrbÚr)Úparamsc                ó   — | j                   S ©N©Úparam©Úrequests    r=   ÚmoderH     ó   € à�=‰=Ðó    r1   )ÚmarksÚetreec                ó   — | j                   S rC   rD   rF   s    r=   ÚparserrN     rI   rJ   c                óÖ   — t        j                  «       5 }t        |dd¬«      5 }|j                  | «       d d d «       t	        |fi |¤Žcd d d «       S # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚwúutf-8©Úencoding)r7   Úensure_cleanÚopenÚwriter   )ÚdataÚkwargsÚpathÚfs       r=   Úread_xml_iterparser[     sc   € Ü	�‰Ó	ð (˜dÜ�$˜ gÔ.ð 	°!Ø�G‰G�DŒM÷	ä˜Ñ' Ñ'÷(ñ (÷	ð 	ú÷(ð (ús!   •A¤A¶AÁA	ÁAÁA(c                ób  — t        | d|¬«      5 }t        j                  «       5 }t        |dd¬«      5 }|j	                  |j
                  j                  «       «       d d d «       t        |fi |¤Žcd d d «       cd d d «       S # 1 sw Y   Œ'xY w# 1 sw Y   nxY w	 d d d «       y # 1 sw Y   y xY w)Nr@   )ÚcompressionrP   rQ   rR   )r   r7   rT   rU   rV   ÚhandleÚreadr   )Ú	comp_pathÚcompression_onlyrX   ÚhandlesrY   rZ   s         r=   Úread_xml_iterparse_comprc     s¤   € Ü	�I˜sÐ0@Ô	Að ,ÀWÜ�_‰_Óð 	, $Ü�d˜C¨'Ô2ð /°aØ—‘˜Ÿ™×+Ñ+Ó-Ô.÷/ä˜DÑ+ FÑ+÷	,ð 	,÷,ñ ,÷/ð /ú÷	,ð 	,úð 	,÷,÷ ,ñ ,ús9   �B%¤B³*BÁBÁ0	B%ÂBÂBÂB	ÂB%Â%B.c                ó.  — t        j                  d«       t        | d¬«      }t        | d¬«      }t        | ddg d¢i¬«      }t        | ddg d¢i¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )Nr1   ©rN   rL   Úbook©ÚcategoryÚtitleÚyearÚauthorÚprice©rN   Ú	iterparse©r5   r6   r   r7   Úassert_frame_equal)Ú	xml_booksÚdf_file_lxmlÚdf_file_etreeÚdf_iter_lxmlÚdf_iter_etrees        r=   Útest_parser_consistency_filerv     sŽ   € Ü
×Ñ˜ÔÜ˜I¨fÔ5€LÜ˜Y¨wÔ7€MäØØØÒKÐLô€Lô
 ØØØÒKÐLô€Mô ×Ñ˜,¨Ô6Ü×Ñ˜,¨Ô5Ü×Ñ˜,¨Õ6rJ   c                óê   — |j                  t        ¬«       t        t        t        «      | ¬«      }t        t	        t        j                  «       «      | dg d¢i¬«      }t        j                  ||«       y )N©Úcontentre   Úrowr   rm   )Úserve_contentr:   r   r   r   Úencoder7   rp   )rN   Ú
httpserverÚdf_xpathÚdf_iters       r=   Útest_parser_consistency_urlr€   3  sb   € ð ×ÑÔ%5ÐÔ6äœÔ!1Ó2¸6ÔB€HÜÜÔ ×'Ñ'Ó)Ó*ØØÒ7Ð8ô€Gô ×Ñ˜( GÕ,rJ   c                óÔ   — t        | ||dk(  rdnd ¬«      5 }t        ||¬«      }d d d «       t        g d¢g d¢g d¢g d¢g d	¢d
œ«      }t        j                  |«       y # 1 sw Y   Œ;xY w©Nr@   rQ   rR   re   ©ÚcookingÚchildrenÚweb©zEveryday ItalianzHarry PotterzLearning XML©zGiada De LaurentiiszJ K. RowlingzErik T. Ray©éÕ  rŠ   iÓ  ©g      >@g=
×£pý=@gš™™™™ùC@©rh   ri   rk   rj   rl   )rU   r   r   r7   rp   )rq   rN   rH   rZ   Údf_fileÚdf_expecteds         r=   Útest_file_liker�   B  sk   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið -ÈQÜ˜1 VÔ,ˆ÷-ô â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜' ;Õ/÷-ð -ús   –AÁA'c                ó<  — t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       t        t        t        «      rt        |«      n
t        |«      |¬«      }t        g d¢g d¢g d¢g d¢g d	¢d
œ«      }t        j                  ||«       y # 1 sw Y   ŒlxY wr‚   )
rU   r_   r   Ú
isinstanceÚbytesr   r   r   r7   rp   )rq   rN   rH   rZ   Úxml_objÚdf_iorŽ   s          r=   Útest_file_ior•   S  s‘   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ—&‘&“(ˆ÷ô Ü'¨´Ô7Œ�Ô	¼XÀgÓ=NØô€Eô
 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜% Õ-÷%ð ús   –BÂBc                óR  — t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       |dk(  rt        j                  «       «      }n|dk(  rt        «      }t	        |¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒwxY w©Nr@   rQ   rR   r?   re   rƒ   r‡   rˆ   r‰   r‹   rŒ   )rU   r_   r   Údecoder   r   r7   rp   ©rq   rN   rH   rZ   r“   Údf_strrŽ   s          r=   Ú test_file_buffered_reader_stringr›   i  sŸ   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ—&‘&“(ˆ÷ð ˆt‚|Ü˜7Ÿ>™>Ó+Ó,‰Ø	�ŠÜ˜7Ó#ˆä�g fÔ-€Fäâ6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷)ð ús   –BÂB&c                óh  — t        | ||dk(  rdnd ¬«      5 }t        |«       |j                  «       }d d d «       |dk(  rt        j	                  «       «      }n|dk(  rt        «      }t        |¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒwxY wr—   )	rU   Únextr_   r   r˜   r   r   r7   rp   r™   s          r=   Ú,test_file_buffered_reader_no_xml_declarationrž   �  s¦   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQÜˆQŒØ—&‘&“(ˆ÷ð ˆt‚|Ü˜7Ÿ>™>Ó+Ó,‰Ø	�ŠÜ˜7Ó#ˆä�g fÔ-€Fäâ6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷+ð ús   –B(Â(B1c                ó‚   — d}t        t        |«      | ¬«      }t        dddœdg¬«      }t        j                  ||«       y )Nõ<   <ä¸­æ–‡æ¨™ç±¤><row><c1>1</c1><c2>2</c2></row></ä¸­æ–‡æ¨™ç±¤>re   r&   r'   )Úc1Úc2r   )Úindex©r   r   r   r7   rp   )rN   Útxtrš   rŽ   s       r=   Útest_string_charsetr¦   š  s:   € Ø
H€Cä”h˜s“m¨FÔ3€Fä 1¨AÑ.°q°cÔ:€Kä×Ñ˜& +Õ.rJ   c                ó˜   — t        | |¬«      }t        g d¢dj                  ddg«      d dgg d¢dœ«      }t        j                  ||«       y )	Nre   )uP   å•�  è‹¥ç®‡æ˜¯é‚ªè€Œè¨€ç ´é‚ª ä½•è€…æ˜¯æ­£è€Œé�“(Sorry, this is Big5 only)ç”³æ­£u;   å•� æ—¢ç ´æœ‰å¾—ç”³ç„¡å¾— äº¦æ‡‰ä½†ç ´æ€§åŸ·ç”³å�‡å��ä»¥ä¸�uO   å•� æ—¢ç ´æ€§ç”³å�‡ äº¦æ‡‰ä½†ç ´æœ‰ç”³ç„¡ è‹¥æœ‰ç„¡å…©æ´— äº¦æ‡‰æ€§å�‡é›™ç ´è€¶Ú u<   ç­”  é‚ªæ—¢ç„¡é‡� æ­£äº¦å¤šé€”  å¤§ç•¥ç‚ºè¨€ä¸�å‡ºäºŒç¨® è¬‚u;   æœ‰å¾—èˆ‡ç„¡å¾— æœ‰å¾—æ˜¯é‚ªé ˆç ´ ç„¡å¾—æ˜¯æ­£é ˆç”³
		æ•…uL   ç­”  ä¸�ä¾‹  æœ‰ç„¡çš†æ˜¯æ€§ æ‰€ä»¥é ˆé›™ç ´ æ—¢åˆ†æ€§å�‡ç•° æ•…æœ‰ç ´ä¸�ç ´)NuV   ç­” æ€§åŸ·æ˜¯æœ‰å¾— å�‡å��æ˜¯ç„¡å¾—  ä»Šç ´æœ‰å¾—ç”³ç„¡å¾— å�³æ˜¯ç ´æ€§åŸ·ç”³å�‡å��ä¹ŸN)u   å•�u   ç­”Úa)r   r   Újoinr7   rp   )Úxml_doc_ch_utfrN   r�   rŽ   s       r=   Útest_file_charsetr¬   ¤  s_   € Ü�~¨fÔ5€Gäòð —‘àVØXðóð Ø^ð	òñ!	
ó€Kô2 ×Ñ˜' ;Õ/rJ   c                ó¬   — t        | d«      5 }t        t        |j                  «       «      |¬«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr?   re   )rU   r   r   r_   Úclosed)rq   rN   rZ   s      r=   Útest_file_handle_closer¯   Ã  sF   € Ü	ˆi˜Ó	ð  !Ü”˜Ÿ™›Ó"¨6Õ2à—8’8Ðˆ|�8÷÷ ñ ús   �3A
Á
AÚvalr¨   rJ   c                ó:  — t        j                  d«      }dj                  ddg«      }t        j                  |j                  |¬«      5  t        | t        «      rt        t        | «      d¬«       nt        t        | «      d¬«       d d d «       y # 1 sw Y   y xY w)Nú
lxml.etreeú|zDocument is emptyzNone \(line 0\)r3   r1   re   )
r5   r6   rª   ÚraisesÚXMLSyntaxErrorr‘   Ústrr   r   r   )r°   Ú
lxml_etreer<   s      r=   Útest_empty_string_lxmlr¸   Ê  s|   € ä×$Ñ$ \Ó2€Jà
�(‰(ààð	
ó€Cô 
�‰�z×0Ñ0¸Ô	<ñ 2Ü�cœ3ÔÜ”X˜c“]¨6Ö2ä”W˜S“\¨&Õ1÷	2÷ 2ñ 2ús   Á
>BÂBc                óÞ   — t        j                  t        d¬«      5  t        | t        «      rt        t        | «      d¬«       nt        t        | «      d¬«       d d d «       y # 1 sw Y   y xY w)Nzno element foundr3   rL   re   )r5   r´   r	   r‘   r¶   r   r   r   )r°   s    r=   Útest_empty_string_etreerº   Ü  sL   € ä	�‰”zÐ);Ô	<ñ 3Ü�cœ3ÔÜ”X˜c“]¨7Ö3ä”W˜S“\¨'Õ2÷	3÷ 3ñ 3ús   œ>A#Á#A,c                óÄ   — d}t         j                  j                  ddd«      }t        j                  t
        |¬«      5  t        || ¬«       d d d «       y # 1 sw Y   y xY w)Nr2   rW   Úhtmlz	books.xmlr3   re   )ÚosrY   rª   r5   r´   r9   r   )rN   r<   Úfilenames      r=   Útest_wrong_file_pathr¿   å  sW   € ð	:ð ô
 �w‰w�|‰|˜F F¨KÓ8€Hä	�‰ÜØô
ñ *ô 	� &Õ)÷	*÷ *ñ *ús   ¿AÁAc                óB  — t        j                  d«       t        |d¬«      5 }| j                  |j	                  «       ¬«       t        | j                  d¬«      }d d d «       t        g d¢g d¢g d	¢g d
¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   Œ;xY w)Nr1   rQ   rR   rx   ú.//book[count(*)=4]©Úxpathrƒ   r‡   rˆ   r‰   r‹   rŒ   )
r5   r6   rU   r{   r_   r   Úurlr   r7   rp   )r}   Úxml_filerZ   Údf_urlrŽ   s        r=   Útest_urlrÇ   ô  s‘   € ô ×Ñ˜ÔÜ	ˆh Ô	)ð G¨QØ× Ñ ¨¯©«Ð Ô2Ü˜*Ÿ.™.Ð0EÔFˆ÷Gô â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷Gð Gús   £8BÂBc                óº   — |j                  dd¬«       t        j                  t        d¬«      5  t	        |j
                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nz	NOT FOUNDi”  )ÚcodezHTTP Error 404: NOT FOUNDr3   rÁ   ©rÃ   rN   )r{   r5   r´   r   r   rÄ   )rN   r}   s     r=   Útest_wrong_urlrË   	  sP   € ð ×Ñ˜[¨sÐÔ3Ü	�‰”yÐ)DÔ	Fñ MÜ�—‘Ð'<ÀVÕL÷M÷ Mñ Mús   ¯AÁAc                óâ   — d}t        t        |«      | d¬«      }t        || dg d¢id¬«      }t        g d¢g d¢g d	¢dœd¬
«      }t	        j
                  ||«       t	        j
                  ||«       y )NaÍ  
      <data>
        <row sides=" 4 ">
          <shape>
              square
          </shape>
          <degrees>&#009;360&#009;</degrees>
        </row>
        <row sides=" 0 ">
          <shape>
              circle
          </shape>
          <degrees>&#009;360&#009;</degrees>
        </row>
        <row sides=" 3 ">
          <shape>
              triangle
          </shape>
          <degrees>&#009;180&#009;</degrees>
        </row>
      </data>Ústring)rN   Údtyperz   )r   r   r   )rN   rn   rÎ   )z 4 z 0 z 3 )z 
              square
          z 
              circle
          z"
              triangle
          )ú	360	rÏ   z	180	©rÎ   ©r   r   r[   r   r7   rp   ©rN   Úxmlr~   r   rŽ   s        r=   Útest_whitespacerÔ     s~   € ð€Cô, œ ›¨f¸HÔE€Hä ØØØÒ7Ð8Øô	€Gô â*òò
 9ñ	
ð ô€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rJ   c                óª   — t        j                  d«       t        j                  t        d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr1   úxpath does not return any nodesr3   z	.//pythonrÊ   ©r5   r6   r´   Ú
ValueErrorr   ©rq   s    r=   Útest_empty_xpath_lxmlrÚ   H  s@   € Ü
×Ñ˜ÔÜ	�‰”zÐ*KÔ	Mñ >Ü� +°fÕ=÷>÷ >ñ >úó   ±A	Á	Ac                ó€   — t        j                  t        d¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nz/You have used an incorrect or unsupported XPathr3   ú	.//[book]rL   rÊ   ©r5   r´   ÚSyntaxErrorr   rÙ   s    r=   Útest_bad_xpath_etreerà   N  s7   € Ü	�‰ÜÐMô
ñ ?ô 	� +°gÕ>÷?÷ ?ñ ?úó   œ4´=c                ó¶   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr²   zInvalid expressionr3   rÝ   r1   rÊ   ©r5   r6   r´   ÚXPathEvalErrorr   )rq   r·   s     r=   Útest_bad_xpath_lxmlrå   U  sH   € Ü×$Ñ$ \Ó2€Jä	�‰�z×0Ñ0Ð9MÔ	Oñ >Ü� +°fÕ=÷>÷ >ñ >úó   ·AÁAc                ó  — t        t        t        «      dddi| ¬«      }t        t        | dg d¢i¬«      }t	        g d¢g d	¢d
t        d«      dgdœ«      }t        j                  ||«       t        j                  ||«       y )Nú	.//ns:rowÚnsúhttp://example.com©rÃ   Ú
namespacesrN   rz   r   rm   r   r   ç      @Únanç      @)r   r   r:   r[   r   Úfloatr7   rp   ©rN   Údf_nmspr   rŽ   s       r=   Útest_default_namespaceró   _  s†   € ÜÜÔ!Ó"ØØÐ.Ð/Øô	€Gô !ÜØØÒ7Ð8ô€Gô â5Ú&Øœ5 ›<¨Ð-ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rJ   c                ó  — t        t        t        «      dddi| ¬«      }t        t        | dg d¢i¬«      }t	        g d¢g d	¢d
t        d«      dgdœ«      }t        j                  ||«       t        j                  ||«       y )Nú
.//doc:rowÚdocrê   rë   rz   r   rm   r   r   rí   rî   rï   )r   r   Úxml_prefix_nmspr[   r   rð   r7   rp   rñ   s       r=   Útest_prefix_namespacerø   y  sƒ   € ÜÜ”Ó!ØØÐ/Ð0Øô	€Gô !Ü °5Ò:WÐ2Xô€Gô â5Ú&Øœ5 ›<¨Ð-ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rJ   c                 óÒ   — t        j                  d«       t        t        t        «      dddid¬«      } t        t        t        «      dddid¬«      }t        j                  | |«       y )	Nr1   rè   ré   rê   rë   rõ   rö   rL   )r5   r6   r   r   r:   r7   rp   ©Údf_lxmlÚdf_etrees     r=   Ú"test_consistency_default_namespacerý   �  sh   € Ü
×Ñ˜ÔÜÜÔ!Ó"ØØÐ.Ð/Øô	€Gô ÜÔ!Ó"ØØÐ/Ð0Øô	€Hô ×Ñ˜' 8Õ,rJ   c                 óÒ   — t        j                  d«       t        t        t        «      dddid¬«      } t        t        t        «      dddid¬«      }t        j                  | |«       y )Nr1   rõ   rö   rê   rë   rL   )r5   r6   r   r   r÷   r7   rp   rú   s     r=   Ú!test_consistency_prefix_namespacerÿ   £  sf   € Ü
×Ñ˜ÔÜÜ”Ó!ØØÐ/Ð0Øô	€Gô Ü”Ó!ØØÐ/Ð0Øô	€Hô ×Ñ˜' 8Õ,rJ   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)NrÖ   r3   z.//PlacemarkrÊ   ©r5   r´   rØ   r   ©rq   rN   s     r=   Ú*test_missing_prefix_with_default_namespacer  ¹  s6   € Ü	�‰”zÐ*KÔ	Mñ AÜ� .¸Õ@÷A÷ Añ Aúrá   c                ó€   — t        j                  t        d¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nz'you used an undeclared namespace prefixr3   ú.//kml:PlacemarkrL   rÊ   rÞ   )Úkml_cta_rail_liness    r=   Ú$test_missing_prefix_definition_etreer  ¾  s8   € Ü	�‰”{Ð+TÔ	Vñ OÜÐ#Ð+=ÀgÕN÷O÷ Oñ Oúrá   c                ó¶   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr²   zUndefined namespace prefixr3   r  r1   rÊ   rã   )r  r·   s     r=   Ú#test_missing_prefix_definition_lxmlr	  Ã  sN   € Ü×$Ñ$ \Ó2€Jä	�‰�z×0Ñ0Ð9UÔ	Wñ NÜÐ#Ð+=ÀfÕM÷N÷ Nñ Núræ   Úkeyc                óÊ   — t        j                  d«       t        j                  t        d¬«      5  t	        t        t        «      d| did¬«       d d d «       y # 1 sw Y   y xY w)Nr1   z0empty namespace prefix is not supported in XPathr3   r  úhttp://www.opengis.net/kml/2.2rë   )r5   r6   r´   Ú	TypeErrorr   r   r:   )r
  s    r=   Útest_none_namespace_prefixr  Ê  sY   € ä
×Ñ˜ÔÜ	�‰ÜÐLô
ñ 
ô 	ÜÔ%Ó&Ø$ØÐ=Ð>Øõ		
÷
÷ 
ñ 
ús   ±AÁA"c                óÐ   — t        | |¬«      }t        | |dg d¢i¬«      }t        g d¢g d¢g d¢g d¢g d	¢dœ«      }t        j                  ||«       t        j                  ||«       y )
Nre   rf   rŒ   rm   rƒ   r‡   rˆ   r‰   r‹   ©r   r   r7   rp   ©rq   rN   r�   r   rŽ   s        r=   Útest_file_elems_and_attrsr  Û  si   € Ü�y¨Ô0€GÜØØØÒKÐLô€Gô
 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rJ   c                ó¸   — t        | d|¬«      }t        | |ddgi¬«      }t        dg d¢i«      }t        j                  ||«       t        j                  ||«       y )NT)Ú
attrs_onlyrN   rf   rh   rm   rƒ   r  r  s        r=   Útest_file_only_attrsr  ð  sU   € Ü�y¨T¸&ÔA€GÜ�y¨¸FÀZÀLÐ;QÔR€GÜ˜ZÒ)GÐHÓI€Kä×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rJ   c                óÌ   — t        | d|¬«      }t        | |dg d¢i¬«      }t        g d¢g d¢g d¢g d	¢dœ«      }t        j                  ||«       t        j                  ||«       y )
NT)Ú
elems_onlyrN   rf   )ri   rk   rj   rl   rm   r‡   rˆ   r‰   r‹   r  r  s        r=   Útest_file_only_elemsr  ù  sh   € Ü�y¨T¸&ÔA€GÜØØØÒ?Ð@ô€Gô
 âIÚLÚ&Ú*ñ		
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rJ   c                ó‚   — t        j                  t        d¬«      5  t        | dd|¬«       d d d «       y # 1 sw Y   y xY w)Nz3Either element or attributes can be parsed not bothr3   T)r  r  rN   r  )r  rN   s     r=   Útest_elem_and_attrs_onlyr    s>   € Ü	�‰ÜØDô
ñ Vô 	Ð#°ÀÈfÕU÷	V÷ Vñ Vús   œ5µ>c                ó˜   — d}t        j                  t        d¬«      5  t        t	        |«      dd| ¬«       d d d «       y # 1 sw Y   y xY w)NaU  
      <data>
        <row>
          <shape sides="4">square</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="0">circle</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="3">triangle</shape>
          <degrees>180</degrees>
        </row>
      </data>ú-xpath does not return any nodes or attributesr3   ú./rowT)rÃ   r  rN   ©r5   r´   rØ   r   r   ©rN   rÓ   s     r=   Útest_empty_attrs_onlyr     sJ   € ð€Cô  
�‰ÜØ>ô
ñ Oô 	”˜#“ g¸$ÀvÕN÷	O÷ Oñ Oúó   žA Á A	c                ó˜   — d}t        j                  t        d¬«      5  t        t	        |«      dd| ¬«       d d d «       y # 1 sw Y   y xY w)Nz¿
      <data>
        <row sides="4" shape="square" degrees="360"/>
        <row sides="0" shape="circle" degrees="360"/>
        <row sides="3" shape="triangle" degrees="180"/>
      </data>r  r3   r  T)rÃ   r  rN   r  r  s     r=   Útest_empty_elems_onlyr#  -  sJ   € ð€Cô 
�‰ÜØ>ô
ñ Oô 	”˜#“ g¸$ÀvÕN÷	O÷ Oñ Oúr!  c                 ó*  — t        j                  d«       d} t        t        | «      d¬«      }t        t        | «      dd¬«      }t	        | ddd	gi¬
«      }t	        | dddd	gi¬«      }t        j                  ||«       t        j                  ||«       y )Nr1   aº  <?xml version="1.0" encoding="UTF-8"?>
<TrainSchedule>
      <Stations>
         <station Name="Manhattan" coords="31,460,195,498"/>
         <station Name="Laraway Road" coords="63,409,194,455"/>
         <station Name="179th St (Orland Park)" coords="0,364,110,395"/>
         <station Name="153rd St (Orland Park)" coords="7,333,113,362"/>
         <station Name="143rd St (Orland Park)" coords="17,297,115,330"/>
         <station Name="Palos Park" coords="128,281,239,303"/>
         <station Name="Palos Heights" coords="148,257,283,279"/>
         <station Name="Worth" coords="170,230,248,255"/>
         <station Name="Chicago Ridge" coords="70,187,208,214"/>
         <station Name="Oak Lawn" coords="166,159,266,185"/>
         <station Name="Ashburn" coords="197,133,336,157"/>
         <station Name="Wrightwood" coords="219,106,340,133"/>
         <station Name="Chicago Union Sta" coords="220,0,360,43"/>
      </Stations>
</TrainSchedule>z
.//stationrÂ   rL   rÊ   ÚstationÚNameÚcoords©rn   rm   )r5   r6   r   r   r[   r7   rp   )rÓ   rû   rü   Ú
df_iter_lxÚ
df_iter_ets        r=   Útest_attribute_centric_xmlr+  <  sŽ   € Ü
×Ñ˜Ôð€Cô( ”x “}¨LÔ9€GÜœ ›¨\À'ÔJ€Hä# C°IÀÈÐ?QÐ3RÔS€JÜ#Ø�G¨	°F¸HÐ3EÐ'Fô€Jô ×Ñ˜' 8Ô,Ü×Ñ˜* jÕ1rJ   c                óÜ   — t        | g d¢|¬«      }t        | |g d¢dg d¢i¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       t        j                  ||«       y )N)ÚCol1ÚCol2ÚCol3ÚCol4ÚCol5©ÚnamesrN   rf   rŒ   )rN   r3  rn   rƒ   r‡   rˆ   r‰   r‹   r  r  s        r=   Útest_names_option_outputr4  a  st   € ÜØÒAÈ&ô€Gô ØØÚ6ØÒKÐLô	€Gô â2ÚHÚJÚ&Ú)ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rJ   c                óè   — d}t        t        |«      d| g d¢¬«      }t        || dg d¢ig d¢¬«      }t        dd	gd
dgddgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Nz°<shapes>
  <shape type="2D">
    <name>circle</name>
    <type>curved</type>
  </shape>
  <shape type="3D">
    <name>sphere</name>
    <type>curved</type>
  </shape>
</shapes>ú.//shape)Útype_dimr   Ú	type_edge©rÃ   rN   r3  r   )Útyper+   r:  ©rN   rn   r3  Ú2DÚ3Dr   ÚsphereÚcurvedrÑ   rÒ   s        r=   Útest_repeat_namesr@  z  s�   € ð
€Cô Ü�‹ØØÚ0ô	€Hô !ØØØÒ4Ð5Ú0ô	€Gô à˜t˜Ø Ð)Ø" HÐ-ñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rJ   c                óâ   — d}t        t        |«      d| ddg¬«      }t        || dddgiddg¬«      }t        g d	¢g d
¢dœ«      }t	        j
                  ||«       t	        j
                  ||«       y )NaB  <shapes>
  <shape>
    <name>rectangle</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>square</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>ellipse</name>
    <family>ellipse</family>
  </shape>
  <shape>
    <name>circle</name>
    <family>ellipse</family>
  </shape>
</shapes>r6  r+   Úgroupr9  r   Úfamilyr;  )Ú	rectangler   Úellipser   )rD  rD  rE  rE  )r+   rB  rÑ   rÒ   s        r=   Útest_repeat_values_new_namesrF     s‡   € ð€Cô& Ü�‹˜Z°¸vÀwÐ>Oô€Hô !ØØØ˜V XÐ.Ð/Ø�wÐô	€Gô â@ÚEñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rJ   c                óî   — d}t        t        |«      d| g d¢¬«      }t        || dg d¢ig d¢¬«      }t        g d¢g d	¢g d
¢g d¢dœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na  <shapes>
  <shape>
    <value item="name">circle</value>
    <value item="family">ellipse</value>
    <value item="degrees">360</value>
    <value item="sides">0</value>
  </shape>
  <shape>
    <value item="name">triangle</value>
    <value item="family">polygon</value>
    <value item="degrees">180</value>
    <value item="sides">3</value>
  </shape>
  <shape>
    <value item="name">square</value>
    <value item="family">polygon</value>
    <value item="degrees">360</value>
    <value item="sides">4</value>
  </shape>
</shapes>r6  )r+   rC  r   r   r9  r   )ÚvaluerH  rH  rH  r;  )r   r   r   )rE  ÚpolygonrI  )r   r   r   )r   r   r   rÑ   rÒ   s        r=   Útest_repeat_elementsrJ  Ê  s‚   € ð€Cô* Ü�‹ØØÚ4ô	€Hô !ØØØÒ@ÐAÚ4ô	€Gô â4Ú7Ú&Úñ		
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rJ   c                ó„   — t        j                  t        d¬«      5  t        | g d¢|¬«       d d d «       y # 1 sw Y   y xY w)Nznames does not match lengthr3   )r-  r.  r/  r2  r  r  s     r=   Útest_names_option_wrong_lengthrL  û  s7   € Ü	�‰”zÐ*GÔ	Iñ KÜ�Ò":À6ÕJ÷K÷ Kñ Kúó   œ6¶?c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nzis not a valid type for namesr3   zCol1, Col2, Col3r2  ©r5   r´   r  r   r  s     r=   Útest_names_option_wrong_typerP     s7   € Ü	�‰”yÐ)HÔ	Jñ EÜ�Ð"4¸VÕD÷E÷ Eñ Eúrá   c                ó~   — t        j                  t        d¬«      5  t        | |¬«       d d d «       y # 1 sw Y   y xY w)Nz'utf-8' codec can't decoder3   re   ©r5   r´   ÚUnicodeDecodeErrorr   ©Úxml_baby_namesrN   s     r=   Útest_wrong_encodingrV    s1   € Ü	�‰Ô)Ð2NÔ	Pñ 0Ü�¨Õ/÷0÷ 0ñ 0úó   œ3³<c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)NzLUTF-16 stream does not start with BOM|'utf-16(-le)?' codec can't decode byter3   zUTF-16©rS   rN   )r5   r´   ÚUnicodeErrorr   rT  s     r=   Útest_utf16_encodingr[    s=   € Ü	�‰Üð5ô
ñ Cô 	�¨(¸6ÕB÷C÷ Cñ Cúrá   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nzunknown encoding: UFT-8r3   zUFT-8rY  )r5   r´   ÚLookupErrorr   rT  s     r=   Útest_unknown_encodingr^    s6   € Ü	�‰”{Ð+DÔ	Fñ BÜ�¨'¸&ÕA÷B÷ Bñ Búrá   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nz'ascii' codec can't decode byter3   ÚasciirY  rR  rT  s     r=   Útest_ascii_encodingra    s7   € Ü	�‰Ô)Ð2SÔ	Uñ BÜ�¨'¸&ÕA÷B÷ Bñ Búrá   c                ó6  — t        j                  d«       t        | dd¬«      }t        | dd¬«      }t        | dddg d¢i¬«      }t        | dddg d¢i¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )	Nr1   z
ISO-8859-1©rN   rS   rL   z
iso-8859-1rz   )ÚrankÚmalenameÚ
femalename)rN   rS   rn   ro   )rU  Údf_xpath_lxmlÚdf_xpath_etreert   ru   s        r=   Ú%test_parser_consistency_with_encodingri  "  s˜   € Ü
×Ñ˜ÔÜ˜^°FÀ\ÔR€MÜ˜n°WÀ|ÔT€NäØØØØÒ<Ð=ô	€Lô ØØØØÒ<Ð=ô	€Mô ×Ñ˜-¨Ô8Ü×Ñ˜.¨-Ô8Ü×Ñ˜,¨Õ6rJ   c                 óÀ   — t        j                  d«       d} t        j                  t        d¬«      5  t	        t        | «      dd ¬«       d d d «       y # 1 sw Y   y xY w)Nr1   ú-<data>
  <row>
    <a>c</a>
  </row>
</data>
zencoding Noner3   rc  )r5   r6   r´   r  r   r   )rW   s    r=   Útest_wrong_encoding_for_lxmlrl  9  sL   € Ü
×Ñ˜Ôð€Dô 
�‰”y¨Ô	8ñ ?Ü”˜$“¨¸Õ>÷?÷ ?ñ ?ús   ³AÁAc                 ó~   — d} t        t        | «      dd ¬«      }t        ddgi«      }t        j                  ||«       y )Nrk  rL   rc  r©   Úcr¤   )rW   ÚresultÚexpecteds      r=   Útest_none_encoding_etreerq  F  s=   € ð€Dô ”h˜t“n¨W¸tÔD€FÜ˜# ˜u˜Ó&€HÜ×Ñ˜& (Õ+rJ   c                óz   — t        j                  t        d¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nz7lxml not found, please install or use the etree parser.r3   )r5   r´   ÚImportErrorr   rÙ   s    r=   Útest_default_parser_no_lxmlrt  V  s3   € ä	�‰ÜÐUô
ñ ô 	�Ô÷÷ ñ ús   œ1±:c                ó~   — t        j                  t        d¬«      5  t        | d¬«       d d d «       y # 1 sw Y   y xY w)Nz,Values for parser can only be lxml or etree.r3   Úbs4re   r  rÙ   s    r=   Útest_wrong_parserrw  ^  s5   € Ü	�‰ÜÐIô
ñ *ô 	� 5Õ)÷*÷ *ñ *úrW  c                óÚ   — t        j                  d«       t        | dddi|¬«      }t        | dg d¢i¬«      }t        j                  t
        |«       t        j                  t
        |«       y )	Nr1   ú.//k:PlacemarkÚkr  ©rÃ   rì   Ú
stylesheetÚ	Placemarkr)   r(  )r5   r6   r   r7   rp   Údf_kml)r  Úxsl_flatten_docÚdf_styler   s       r=   Útest_stylesheet_filer�  h  sj   € Ü
×Ñ˜ÔÜØØØÐ9Ð:Ø"ô	€Hô Øàò ð	
ô€Gô ×Ñœ& (Ô+Ü×Ñœ& 'Õ*rJ   c                óØ   — t        j                  d«       t        |||dk(  rdnd ¬«      5 }t        | dddi|¬«      }d d d «       t	        j
                  t        «       y # 1 sw Y   Œ$xY w©	Nr1   r@   rQ   rR   ry  rz  r  r{  )r5   r6   rU   r   r7   rp   r~  )r  r  rH   rZ   r€  s        r=   Útest_stylesheet_file_liker„  ƒ  sj   € Ü
×Ñ˜ÔÜ	ˆo˜t¸Àº©gÈ$Ô	Oð 
ÐSTÜØØ"ØÐ=Ð>Øô	
ˆ÷
ô ×Ñœ& (Õ+÷
ð 
ús   «A Á A)c                óH  — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }d d d «       t        | dddi¬	«      }t        j                  t        |«       y # 1 sw Y   Œ5xY w)
Nr1   r@   rQ   rR   r?   ry  rz  r  r{  )
r5   r6   rU   r   r_   r   r   r7   rp   r~  ©r  r  rH   rZ   Úxsl_objr€  s         r=   Útest_stylesheet_iorˆ  �  s—   € ô ×Ñ˜Ôô 
ˆo˜t¸Àº©gÈ$Ô	Oð )ÐSTØ�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆG÷	)ô ØØØÐ9Ð:Øô	€Hô ×Ñœ& (Õ+÷)ð )ús   «9BÂB!c                óø   — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|j                  «       }d d d «       t	        | dddi¬«      }t        j                  t        |«       y # 1 sw Y   Œ5xY wrƒ  )r5   r6   rU   r_   r   r7   rp   r~  r†  s         r=   Útest_stylesheet_buffered_readerrŠ  ¦  sw   € Ü
×Ñ˜ÔÜ	ˆo˜t¸Àº©gÈ$Ô	Oð ÐSTØ—&‘&“(ˆ÷ô ØØØÐ9Ð:Øô	€Hô ×Ñœ& (Õ+÷ð ús   «A0Á0A9c                 ó¶   — t        j                  d«       d} d}t        t        | «      «      }t        t        | «      |¬«      }t	        j
                  ||«       y )Nr1   r    u­  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

 <xsl:template match="ä¸­æ–‡æ¨™ç±¤">
     <æ ¹>
       <xsl:apply-templates />
     </æ ¹>
 </xsl:template>

</xsl:stylesheet>©r|  )r5   r6   r   r   r7   rp   )rÓ   ÚxslÚdf_origr€  s       r=   Útest_style_charsetr�  µ  sL   € Ü
×Ñ˜ÔØ
H€Cð€Cô& ”x “}Ó%€GÜœ ›°#Ô6€Hä×Ñ˜' 8Õ,rJ   c                ó´   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr²   zdocument is not a stylesheetr3   rŒ  ©r5   r6   r´   ÚXSLTParseErrorr   )r  rq   r·   s      r=   Útest_not_stylesheetr“  Ò  sL   € Ü×$Ñ$ \Ó2€Jä	�‰Ø×!Ñ!Ð*Hô
ñ ;ô 	Ð#°	Õ:÷;÷ ;ñ ;ús   ·AÁAc                ó¸   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr²   a‹  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2"/>
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
    </xsl:template>

    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>

    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>z(Extra content at the end of the documentr3   rŒ  ©r5   r6   r´   rµ   r   ©r  r·   r�  s      r=   Útest_incorrect_xsl_syntaxr—  Û  sU   € Ü×$Ñ$ \Ó2€Jð€Cô( 
�‰Ø×!Ñ!Ð*Tô
ñ 5ô 	Ð#°Õ4÷5÷ 5ñ 5úó   ¹AÁAc                ó¸   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr²   a‹  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2">
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="node(*)|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
    </xsl:template>

    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>

    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>zfailed to compiler3   rŒ  r‘  r–  s      r=   Útest_incorrect_xsl_evalrš  ø  sP   € Ü×$Ñ$ \Ó2€Jð€Cô( 
�‰�z×0Ñ0Ð9LÔ	Nñ 5ÜÐ#°Õ4÷5÷ 5ñ 5úr˜  c                ó¸   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr²   ag  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:copy-of select="document('non_existent.xml')/*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>zCannot resolve URIr3   rŒ  )r5   r6   r´   ÚXSLTApplyErrorr   r–  s      r=   Útest_incorrect_xsl_applyr�    sP   € Ü×$Ñ$ \Ó2€Jð
€Cô 
�‰�z×0Ñ0Ð9MÔ	Oñ 5ÜÐ#°Õ4÷5÷ 5ñ 5úr˜  c                ó¾   — t        j                  d«      }|dz  }t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr²   zflatten.xslz!Start tag expected, '<' not foundr3   rŒ  r•  )r  Úxml_data_pathÚ	xml_etreer�  s       r=   Útest_wrong_stylesheetr¡  &  sV   € Ü×#Ñ# LÓ1€Ià
˜-Ñ
'€Cä	�‰Ø× Ñ Ø2ô
ñ 5ô 	Ð#°Õ4÷	5÷ 5ñ 5ús   ¼AÁAc                ó*  — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }t        | |¬«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr1   r@   rQ   rR   r?   rŒ  )r5   r6   rU   r   r_   r   r   r®   )r  r  rH   rZ   r‡  s        r=   Útest_stylesheet_file_closer£  2  s€   € ô ×Ñ˜Ôô 
ˆo˜t¸Àº©gÈ$Ô	Oð ÐSTØ�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆGäÐ#°Õ8à—8’8Ðˆ|�8÷÷ ñ ús   «AB	Â	Bc                óª   — t        j                  d«       t        j                  t        d¬«      5  t	        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nr1   z*To use stylesheet, you need lxml installedr3   rL   )rN   r|  r×   )r  r  s     r=   Útest_stylesheet_with_etreer¥  C  sJ   € Ü
×Ñ˜ÔÜ	�‰ÜÐGô
ñ Qô 	Ð#¨GÀÕP÷Q÷ Qñ QúrÛ   c                óî   — t        j                  d«       d}t        j                  j	                  ddd«      }t        j
                  t        |¬«      5  t        || ¬«       d d d «       y # 1 sw Y   y xY w)Nr1   r2   rW   rÓ   zcta_rail_lines.kmlr3   rŒ  )r5   r6   r½   rY   rª   r´   r9   r   )r°   r<   Úkmls      r=   Útest_empty_stylesheetr¨  K  s`   € ä
×Ñ˜Ôð	:ð ô
 �'‰'�,‰,�v˜uÐ&:Ó
;€Cä	�‰”}¨CÔ	0ñ &Ü� Õ%÷&÷ &ñ &ús   ÁA+Á+A4c           	     óŒ  — t        | ||dk(  rdnd ¬«      5 }|dk(  rE|dk(  r@t        j                  t        d¬«      5  t	        ||dg d¢i¬	«       d d d «       	 d d d «       y t	        ||dg d¢i¬	«      }	 d d d «       t        g d
¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   Œ`xY w# 1 sw Y   ŒGxY w©Nr@   rQ   rR   r1   z.reading file objects must return bytes objectsr3   rf   rg   rm   rƒ   r‡   rˆ   r‰   r‹   rŒ   )rU   r5   r´   r  r   r   r7   rp   )rq   rN   rH   rZ   Údf_filelikerŽ   s         r=   Útest_file_like_iterparser¬  Z  sÙ   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ�3Š;˜6 VÒ+Ü—‘ÜÐ"Rôñ 	ô ØØ!àÒ Pðõ÷	ð ÷ð ô #ØØØ!Ò#SÐTô‰K÷ô( â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜+ {Õ3÷9	ð 	ú÷ð ús(   –&B:¼B.Á	B:Á!B:Â.B7	Â3B:Â:Cc           
     ó  — |dk(  rt         nt        }t        | ||dk(  rdnd ¬«      5 } ||j                  «       «      5 }|dk(  rM|dk(  rHt	        j
                  t        d¬«      5  t        ||dg d¢i¬	«       d d d «       	 d d d «       d d d «       y t        ||dg d¢i¬	«      }	 d d d «       d d d «       t        g d
¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒOxY w# 1 sw Y   ŒSxY wrª  )r   r   rU   r_   r5   r´   r  r   r   r7   rp   )rq   rN   rH   ÚfuncIOrZ   ÚbÚ	df_fileiorŽ   s           r=   Útest_file_io_iterparser±  |  s  € Ø š�X¬'€FÜ	ØØØ  CšK‘¨Tô
ð ð 
Ù�A—F‘F“HÓð 	 Ø�sŠ{˜v¨Ò/Ü—]‘]ÜÐ&Vôñ 	ô ØØ%à"Ò$Tð#õ÷	ð ÷	÷ð ô& %ØØ!àÒ Pðô‘	÷	÷ô6 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜) [Õ1÷=	ð 	ú÷	ð 	ú÷ð úsF   §C>¾&C2Á$C&Á7	C2Â C>ÂC2Â$C>Ã&C/Ã+C2Ã2C;	Ã7C>Ã>Dc           	     ó   — t        |d¬«      5 }|j                  |j                  «       ¬«       t        j                  t
        d¬«      5  t        |j                  | dg d¢i¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	NrQ   rR   rx   ú)iterparse is designed for large XML filesr3   rz   ©r   r   r   Údaterm   )rU   r{   r_   r5   r´   r   r   rÄ   )rN   r}   rÅ   rZ   s       r=   Útest_url_path_errorr¶  ¦  s…   € ô 
ˆh Ô	)ð 	¨QØ× Ñ ¨¯©«Ð Ô2Ü�]‰]ÜÐ Kô
ñ 	ô Ø—‘ØØ Ò"GÐHõ÷	÷	ð 	÷	ð 	ú÷	ð 	ús#   Ž<BÁ
A8Á'BÁ8B	Á=BÂBc           	     ó  — t        j                  d¬«      5 }t        j                  || |¬«       t	        j
                  t        d¬«      5  t        || dg d¢i|¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	Nzgeom_xml.zip©r¾   ©rN   r]   r³  r3   rz   r´  ©rN   rn   r]   )r7   rT   Úgeom_dfÚto_xmlr5   r´   r   r   )rN   ra   rY   s      r=   Útest_compression_errorr½  µ  s€   € Ü	�‰ .Ô	1ð °TÜ�‰�t FÐ8HˆÔIä�]‰]ÜÐ Kô
ñ 	ô ØØØ Ò"GÐHØ,õ	÷	÷ð ÷	ð 	ú÷ð ús#   —4A<ÁA0ÁA<Á0A9	Á5A<Á<Bc                ó„   — t        j                  t        d¬«      5  t        | |g d¢¬«       d d d «       y # 1 sw Y   y xY w)Nz&list is not a valid type for iterparser3   rg   rm   rO  r  s     r=   Útest_wrong_dict_typer¿  Ä  s7   € Ü	�‰”yÐ(PÔ	Qñ 
ÜØØÚFõ	
÷
÷ 
ñ 
úrM  c                ó„   — t        j                  t        d¬«      5  t        | |ddi¬«       d d d «       y # 1 sw Y   y xY w)Nz8<class 'str'> is not a valid type for value in iterparser3   rf   rh   rm   rO  r  s     r=   Útest_wrong_dict_valuerÁ  Í  s@   € Ü	�‰ÜÐSô
ñ Kô 	� 6°f¸jÐ5IÕJ÷K÷ Kñ KúrM  c           
     óN  — d}t        j                  d¬«      5 }t        |dd¬«      5 }|j                  |«       d d d «       t	        j
                  t        d¬«      5  t        || d	gd
g d¢i¬«       d d d «       d d d «       y # 1 sw Y   ŒJxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Na‘  <?xml version='1.0' encoding='utf-8'?>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
    <date>2020-01-01</date>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
    <date>2021-01-01</date>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
    <date>2022-01-01</date>
  </row>
zbad.xmlr¸  rP   rQ   rR   zDExtra content at the end of the document|junk after document elementr3   rµ  rz   r´  )rN   Úparse_datesrn   )r7   rT   rU   rV   r5   r´   rß   r   )rN   Úbad_xmlrY   rZ   s       r=   Útest_bad_xmlrÅ  Ô  s«   € ð€Gô* 
�‰ )Ô	,ð °Ü�$˜ gÔ.ð 	°!Ø�G‰G�GÔ÷	ô �]‰]Üð.ô
ñ 	ô ØØØ#˜HØ Ò"GÐHõ	÷	÷	ð ÷	ð 	ú÷	ð 	ú÷	ð ús9   ™B¨Bº#BÁBÁ2BÂB	ÂBÂB	ÂBÂB$c                óÖ   — d}t        t        |«      d| ¬«      }t        || dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na-  <!-- comment before root -->
<shapes>
  <!-- comment within root -->
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
    <!-- comment within child -->
  </shape>
  <!-- comment within root -->
</shapes>
<!-- comment after root -->r6  rÊ   r   r+   r:  rm   r   r>  r<  r=  ©r+   r:  rÑ   rÒ   s        r=   Útest_commentrÈ  ý  sz   € ð€Cô" œ ›¨ZÀÔG€Hä Ø�F w°¸Ð0@Ð&Aô€Gô à˜xÐ(Ø˜4�Lñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rJ   c                óÖ   — d}t        t        |«      d| ¬«      }t        || dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na8  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE non-profits [
    <!ELEMENT shapes (shape*) >
    <!ELEMENT shape ( name, type )>
    <!ELEMENT name (#PCDATA)>
]>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>r6  rÊ   r   r+   r:  rm   r   r>  r<  r=  rÇ  rÑ   rÒ   s        r=   Útest_dtdrÊ     óz   € ð€Cô$ œ ›¨ZÀÔG€Hä Ø�F w°¸Ð0@Ð&Aô€Gô à˜xÐ(Ø˜4�Lñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rJ   c                óÖ   — d}t        t        |«      d| ¬«      }t        || dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Nam  <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<?display table-view?>
<?sort alpha-ascending?>
<?textinfo whitespace is allowed ?>
<?elementnames <shape>, <name>, <type> ?>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>r6  rÊ   r   r+   r:  rm   r   r>  r<  r=  rÇ  rÑ   rÒ   s        r=   Útest_processing_instructionrÍ  D  rË  rJ   c                óˆ   — t        j                  t        d¬«      5  t        | |dg d¢i¬«       d d d «       y # 1 sw Y   y xY w)Nz+No result from selected items in iterparse.r3   Únode©Úattr1Úelem1Úelem2Úelem3rm   )r5   r´   r   r   r  s     r=   Útest_no_resultrÕ  h  sB   € Ü	�‰ÜÐHô
ñ 
ô 	ØØØÒCÐDõ	
÷
÷ 
ñ 
úó	   œ8¸Ac                óˆ   — t        j                  t        d¬«      5  t        | |dg d¢i¬«       d d d «       y # 1 sw Y   y xY w)NzNo columns to parse from filer3   rf   rÐ  rm   )r5   r´   r   r   r  s     r=   Útest_empty_datarØ  s  s=   € Ü	�‰”~Ð-LÔ	Mñ 
ÜØØØÒCÐDõ	
÷
÷ 
ñ 
úrÖ  c            	     óÊ   — t        j                  d«       d} d}t        t        | «      dddg|¬«      }t	        dd	d
dddœddddddœdœ«      }t        j                  ||«       y )Nr1   a  <?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Greatest Hits</title>
    <artist>Dolly Parton</artist>
    <country>USA</country>
    <company>RCA</company>
    <price>9.90</price>
    <year>1982</year>
  </cd>
  <cd>
    <title>Still got the blues</title>
    <artist>Gary Moore</artist>
    <country>UK</country>
    <company>Virgin records</company>
    <price>10.20</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Eros</title>
    <artist>Eros Ramazzotti</artist>
    <country>EU</country>
    <company>BMG</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
  <cd>
    <title>One night only</title>
    <artist>Bee Gees</artist>
    <country>UK</country>
    <company>Polydor</company>
    <price>10.90</price>
    <year>1998</year>
  </cd>
  <cd>
    <title>Sylvias Mother</title>
    <artist>Dr.Hook</artist>
    <country>UK</country>
    <company>CBS</company>
    <price>8.10</price>
    <year>1973</year>
  </cd>
  <cd>
    <title>Maggie May</title>
    <artist>Rod Stewart</artist>
    <country>UK</country>
    <company>Pickwick</company>
    <price>8.50</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Romanza</title>
    <artist>Andrea Bocelli</artist>
    <country>EU</country>
    <company>Polydor</company>
    <price>10.80</price>
    <year>1996</year>
  </cd>
  <cd>
    <title>When a man loves a woman</title>
    <artist>Percy Sledge</artist>
    <country>USA</country>
    <company>Atlantic</company>
    <price>8.70</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Black angel</title>
    <artist>Savage Rose</artist>
    <country>EU</country>
    <company>Mega</company>
    <price>10.90</price>
    <year>1995</year>
  </cd>
  <cd>
    <title>1999 Grammy Nominees</title>
    <artist>Many</artist>
    <country>USA</country>
    <company>Grammy</company>
    <price>10.20</price>
    <year>1999</year>
  </cd>
  <cd>
    <title>For the good times</title>
    <artist>Kenny Rogers</artist>
    <country>UK</country>
    <company>Mucik Master</company>
    <price>8.70</price>
    <year>1995</year>
  </cd>
  <cd>
    <title>Big Willie style</title>
    <artist>Will Smith</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
  <cd>
    <title>Tupelo Honey</title>
    <artist>Van Morrison</artist>
    <country>UK</country>
    <company>Polydor</company>
    <price>8.20</price>
    <year>1971</year>
  </cd>
  <cd>
    <title>Soulsville</title>
    <artist>Jorn Hoel</artist>
    <country>Norway</country>
    <company>WEA</company>
    <price>7.90</price>
    <year>1996</year>
  </cd>
  <cd>
    <title>The very best of</title>
    <artist>Cat Stevens</artist>
    <country>UK</country>
    <company>Island</company>
    <price>8.90</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Stop</title>
    <artist>Sam Brown</artist>
    <country>UK</country>
    <company>A and M</company>
    <price>8.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Bridge of Spies</title>
    <artist>T`Pau</artist>
    <country>UK</country>
    <company>Siren</company>
    <price>7.90</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Private Dancer</title>
    <artist>Tina Turner</artist>
    <country>UK</country>
    <company>Capitol</company>
    <price>8.90</price>
    <year>1983</year>
  </cd>
  <cd>
    <title>Midt om natten</title>
    <artist>Kim Larsen</artist>
    <country>EU</country>
    <company>Medley</company>
    <price>7.80</price>
    <year>1983</year>
  </cd>
  <cd>
    <title>Pavarotti Gala Concert</title>
    <artist>Luciano Pavarotti</artist>
    <country>UK</country>
    <company>DECCA</company>
    <price>9.90</price>
    <year>1991</year>
  </cd>
  <cd>
    <title>The dock of the bay</title>
    <artist>Otis Redding</artist>
    <country>USA</country>
    <COMPANY>Stax Records</COMPANY>
    <PRICE>7.90</PRICE>
    <YEAR>1968</YEAR>
  </cd>
  <cd>
    <title>Picture book</title>
    <artist>Simply Red</artist>
    <country>EU</country>
    <company>Elektra</company>
    <price>7.20</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Red</title>
    <artist>The Communards</artist>
    <country>UK</country>
    <company>London</company>
    <price>7.80</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Unchain my heart</title>
    <artist>Joe Cocker</artist>
    <country>USA</country>
    <company>EMI</company>
    <price>8.20</price>
    <year>1987</year>
  </cd>
</catalog>
a7  <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
z.//tr[td and position() <= 6]ri   Úartist)rÃ   r3  r|  zEmpire BurlesquezHide your heartzGreatest HitszStill got the bluesÚErosr%   z	Bob DylanzBonnie TylerzDolly Partonz
Gary MoorezEros Ramazzotti)ri   rÚ  )r5   r6   r   r   r   r7   rp   )rÓ   r�  Údf_xslrŽ   s       r=   Útest_online_stylesheetrÝ  |  s�   € Ü
×Ñ˜ÔðT€Cðj€Cô2 Ü�‹Ø-Ø˜Ð!Øô	€Fô ð &Ø$Ø"Ø(Øñð Ø!Ø!ØØ$ññ	
ó€Kô& ×Ñ˜+ vÕ.rJ   c           	     ó4  — t        j                  «       5 }t        j                  |d| |¬«       t	        || |¬«      }t        ||| dg d¢i|¬«      }d d d «       t        j                  t        «       t        j                  t        «       y # 1 sw Y   Œ>xY w)NF)r£   rN   r]   r¹  rz   r   rº  )r7   rT   r»  r¼  r   rc   rp   )rN   ra   r`   r~   r   s        r=   Útest_compression_readrß  Œ  s�   € Ü	�‰Ó	ð 
˜iÜ�‰Ø˜U¨6Ð?Oð 	ô 	
ô ˜I¨fÐBRÔSˆä)ØØØØÒ;Ð<Ø(ô
ˆ÷
ô ×Ñ˜(¤GÔ,Ü×Ñ˜'¤7Õ+÷!
ð 
ús   •<BÂBc                ó  — |}|}||k(  rt        j                  |› d|› �«       t        dft        dft        dft        dfdœ}t        dd¬	«      }|�|j                  d
f|d<   t        dd¬	«      }|�t        df|d<   ||   \  }}	t        j                  «       5 }
t        j                  |
| |¬«       t        j                  ||	¬«      5  t        |
| |¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz == zInvalid data streamzNot a gzipped filezFile is not a zip filez%file could not be opened successfully)Úbz2ÚgzipÚzipÚtarÚ	zstandardÚignore)ÚerrorszUnknown frame descriptorÚzstdÚlzmaz%Input format not supported by decoderÚxzr¹  r3   )r5   ÚskipÚOSErrorr
   r   r   Ú	ZstdErrorr   r7   rT   r»  r¼  r´   r   )rN   r]   ra   Úactual_compressionÚattempted_compressionrç  rè  ré  Ú	error_clsÚ	error_strrY   s              r=   Útest_wrong_compressionrò     s)  € Ø$ÐØ,ÐàÐ2Ò2Ü�‰Ð)Ð*¨$Ð/DÐ.EÐFÔGô Ð.Ð/ÜÐ.Ð/ÜÐ4Ð5ÜÐBÐCñ	€Fô & k¸(ÔC€DØÐØŸ.™.Ð*DÐEˆˆv‰Ü% f°XÔ>€DØÐÜ!Ð#JÐKˆˆt‰Ø!Ð"7Ñ8Ñ€Iˆyä	�‰Ó	ð M˜dÜ�‰�t FÐ8JˆÔKä�]‰]˜9¨IÔ6ñ 	MÜ�T &Ð6KÕL÷	M÷Mð M÷	Mð 	Mú÷Mð Mús$   Â0C5Ã	C)ÃC5Ã)C2	Ã.C5Ã5C>c                óÒ   — t        j                  t        d¬«      5  t        j                  «       5 }t        || d¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NzUnrecognized compression typer3   Ú7zr¹  )r5   r´   rØ   r7   rT   r   )rN   rY   s     r=   Útest_unsuported_compressionrõ  ¼  sX   € Ü	�‰”zÐ)HÔ	Iñ <Ü�_‰_Óð 	< $Ü�T &°dÕ;÷	<÷<ð <÷	<ð 	<ú÷<ð <ús"   œA±AÁ AÁA	ÁAÁA&c                óÜ   — t        j                  d«       t        j                  d«       d| j                  › d�}t        |d|¬«      }t        |d|¬«      }t	        j
                  ||«       y )NÚs3fsr1   zs3://z
/books.xml)rN   Ústorage_optionsrL   )r5   r6   r+   r   r7   rp   )Ús3_public_bucket_with_dataÚs3soÚs3rû   rü   s        r=   Útest_s3_parser_consistencyrü  Å  sb   € ô ×Ñ˜ÔÜ
×Ñ˜ÔØÐ+×0Ñ0Ð1°Ð	<€Bä�r &¸$Ô?€Gä˜ 7¸DÔA€Hä×Ñ˜' 8Õ,rJ   c                óž  — d}t        j                  d|«      5  t        t        |«      | |¬«      }d d d «       |dk(  r9t	        j
                  d«      }t        j                  |j                  «       «      }nt        j                  |«      }t        t        ddg|¬«      t        dd	gd
¬«      t        ddgd¬«      t        dd g|¬«      t        d	t        gd
¬«      t        dt        gd¬«      t        t        t        gd
¬«      t        ddgd¬«      t        dt        gd¬«      dœ	«      }|dk(  rut	        j
                  d«      }ddlm}	 t        |j                  D �
ci c]  }
|
 |	|j                  ||
   d¬«      «      “Œ! c}
«      } |	|j                  d d g«      «      |d<   t!        j"                  |d¬«       y # 1 sw Y   �ŒŽxY wc c}
w )Na;  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
<row>
  <a>x</a>
  <b>1</b>
  <c>4.0</c>
  <d>x</d>
  <e>2</e>
  <f>4.0</f>
  <g></g>
  <h>True</h>
  <i>False</i>
</row>
<row>
  <a>y</a>
  <b>2</b>
  <c>5.0</c>
  <d></d>
  <e></e>
  <f></f>
  <g></g>
  <h>False</h>
  <i></i>
</row>
</data>zmode.string_storage)rN   Údtype_backendÚpyarrowÚxÚyrÐ   r&   r'   ÚInt64rí   g      @ÚFloat64TFÚboolean)	r©   r¯  rn  ÚdÚerZ   ÚgÚhÚir   )ÚArrowExtensionArray)Úfrom_pandasr  )Úcheck_column_type)ÚpdÚoption_contextr   r   r5   r6   Ú
ArrowDtyperÍ   ÚStringDtyper   r   r   Úpandas.arraysr
  ÚcolumnsÚarrayr7   rp   )rN   Ústring_storagerþ  Úusing_infer_stringrW   ro  ÚpaÚstring_dtyperp  r
  Úcols              r=   Útest_read_xml_nullable_dtypesr  Ó  s§  € ð€Dô4 
×	Ñ	Ð0°.Ó	Añ VÜœ( 4›.°À}ÔUˆ÷Vð ˜	Ò!Ü× Ñ  Ó+ˆÜ—}‘} R§Y¡Y£[Ó1‰ä—~‘~ nÓ5ˆää˜˜c˜
¨,Ô7Ü˜˜A˜ gÔ.Ü˜˜c˜
¨)Ô4Ü˜˜d˜¨<Ô8Ü˜œB˜ wÔ/Ü˜œb˜	¨Ô3ÜœœR˜¨Ô0Ü˜˜u˜¨YÔ7Ü˜¤˜¨9Ô5ñ
	
ó€Hð ˜	Ò!Ü× Ñ  Ó+ˆÝ5äð $×+Ñ+öàð Ñ(¨¯©°(¸3±-ÈT¨Ó)RÓSÑSòó
ˆñ ,¨B¯H©H°d¸D°\Ó,BÓCˆ�‰ô ×Ñ˜& (¸eÖD÷KVñ Vüò8s   ™F=Å$G
Æ=Gc                 ó‚   — d} t        j                  t        | ¬«      5  t        dd¬«       d d d «       y # 1 sw Y   y xY w)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r3   ÚtestÚnumpy)rþ  r  r;   s    r=   Útest_invalid_dtype_backendr    s;   € ð	!ð ô 
�‰”z¨Ô	-ñ 0Ü� wÕ/÷0÷ 0ñ 0ús   ž5µ>)ŠÚ
__future__r   Úior   r   ré  r   r½   Útarfiler   Úurllib.errorr   Úxml.etree.ElementTreer	   Úzipfiler
   r  Únpr5   Úpandas.compat._optionalr   Úpandas.errorsr   r   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr  r   r   r   Úpandas._testingÚ_testingr7   Úpandas.io.commonr   Úpandas.io.xmlr   rî   r»  r:   r÷   r~  r>   ÚfixturerH   rE   Ú
skip_if_norN   r[   rc   rv   ÚmarkÚnetworkÚ
single_cpur€   r�   r•   r›   rž   r¦   r¬   r¯   Úparametrizer¸   rº   r¿   rÇ   rË   rÔ   rÚ   rà   rå   ró   rø   rý   rÿ   r  r  r	  r  r  r  r  r  r   r#  r+  r4  r@  rF  rJ  rL  rP  rV  r[  r^  ra  ri  rl  rq  Úskip_if_installedrt  rw  r�  r„  rˆ  rŠ  r�  r“  r—  rš  r�  r¡  r£  r¥  r¨  r¬  r±  r¶  r½  r¿  rÁ  rÅ  rÈ  rÊ  rÍ  rÕ  rØ  rÝ  rß  rò  rõ  rü  r  r  © rJ   r=   ú<module>r8     s¿  ðÝ "÷õ Û 	Ý Ý "Ý ,Ý ã Û å >÷÷ *Ð )ã ÷ñ õ
 å 'Ý "ñl â1Ú"Ø�R—V‘V˜Q�ñó€ðÐ ð(€ñ* 
ð ØØØØñ
ð )Ø!Ø!Ø!Ø!ñ
ð ØØØØñ
ð ˜Q 1¨¨qÑ1à Ø Ø Ø Ø ñ
ð9ð9ð9ð&9ð$9ñuI
ñ=hój
€òZ
#ð €‡�˜˜c�{Ô#ñó $ðð €‡�˜˜Ÿ™ V°=°2·=±=ÀÓ3HÔIÈ7ÐSÔTñó Uðò(ò,ò7ð* ‡�×ÑØ‡�×Ññ
-ó ó ð
-ò0ò".ò,/ò0/ò2/ò0ò>ð ‡�×Ñ˜  S 	Ó*ñ2ó +ð2ð" ‡�×Ñ˜  S 	Ó*ñ3ó +ð3ò*ð ‡�×ÑØ‡�×Ññ/ó ó ð/ð& ‡�×ÑØ‡�×ÑñMó ó ðMò.0òh>ò?ò>ò0ò40ò.-ò&-ò,Aò
Oò
Nð ‡�×Ñ˜  T 
Ó+ñ

ó ,ð

ò 0ò*0ò0ò(VòOò0Oò2òJ0ò2#0òL'0òT.0òbKò
Eò0ò
CòBò
Bò
7ò.
?ò
,ð  €×Ñ�fÓñó ðò*ò+ò6
,ò,ò,,ò-ò:;ò5ò:5ò65ò&	5òò"Qð ‡�×Ñ˜  S 	Ó*ñ
&ó +ð
&ò4òD'2ðT ‡�×ÑØ‡�×Ññ
ó ó ð
òò
òKò&òR 0òF!0òH!0òH
ò
òJ/ò`,ò(Mò8<ð ‡�×ÑØ‡�×Ññ	-ó ó ð	-òCEóL0rJ   