Ë
    u™ãjºk  ã                   óà  — d dl mZ d dlZd dlmZmZ d dlmZ d dlZ	d dl
Z
d dlmZ d dlZd dlmZ d dlmZ e
j(                  d„ «       Z e
j(                  dd	g¬
«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze
j:                  j=                  dddg«      e
j:                  j=                  deeg«      d„ «       «       Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$e
j:                  j=                  dddg«      d„ «       Z%e
j:                  j=                  dg d¢«      d„ «       Z&e
j:                  j=                  dg d¢«      d „ «       Z'd!„ Z(e
j:                  j=                  d"dd#g«      d$„ «       Z)d%„ Z*e
j:                  j=                  d&g d'¢«      d(„ «       Z+e
j:                  j=                  d)d*d+g«      d,„ «       Z,d-„ Z-d.„ Z.d/„ Z/e
j:                  j=                  d0g d1¢«      d2„ «       Z0d3„ Z1e
j:                  j=                  d4d5d6g«      d7„ «       Z2d8„ Z3d9„ Z4d:„ Z5d;„ Z6e
j(                  d<„ «       Z7d=„ Z8e
j:                  j=                  d>d?d@gg«      dA„ «       Z9dB„ Z:dC„ Z;dD„ Z<e
j:                  j=                  dEdFd?g«      dG„ «       Z=e
j:                  j=                  dHg dI¢«      dJ„ «       Z>dK„ Z?dL„ Z@dM„ ZAdN„ ZBe
j:                  j=                  dOdPdQdPig«      dR„ «       ZCe
j:                  j=                  dSg dT¢«      dU„ «       ZDdV„ ZEdW„ ZFy)Xé    )ÚIteratorN)ÚBytesIOÚStringIO)ÚPath)ÚPandas4Warning)Ú
JsonReaderc                  ó`   — t        j                  g d¢g d¢dœ«      } | j                  dd¬«      S )N©é   é   é   ©é   é   é   ©ÚAÚBTÚrecords©ÚlinesÚorient)ÚpdÚ	DataFrameÚto_json)Údfs    ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/json/test_readlines.pyÚlines_json_dfr      s(   € ä	�‰šIªIÑ6Ó	7€BØ�:‰:˜D¨ˆ:Ó3Ð3ó    ÚujsonÚpyarrow)Úparamsc                 ób   — | j                   dk(  rt        j                  d«       | j                   S )Nr!   úpyarrow.json)ÚparamÚpytestÚimportorskip)Úrequests    r   Úenginer)      s&   € à‡}�}˜	Ò!Ü×Ñ˜NÔ+Ø�=‰=Ðr   c                  ó®   — t        j                  t        d«      d¬«      } t        j                  ddgddggddg¬«      }t	        j
                  | |«       y )	Nz!{"a": 1, "b": 2}
{"b":2, "a" :1}
T©r   r   r   ÚaÚb©Úcolumns)r   Ú	read_jsonr   r   ÚtmÚassert_frame_equal)ÚresultÚexpecteds     r   Útest_read_jsonlr5   !   sJ   € ä�\‰\œ(Ð#HÓIÐQUÔV€FÜ�|‰|˜a ˜V a¨ VÐ,°s¸C°jÔA€HÜ×Ñ˜& (Õ+r   c                 óª   — t        j                   | dddd«      d|¬«      }t        j                  g d¢g d¢d	œ«      }t        j                  ||«       y )
NÚioÚjsonÚdataúline_delimited.jsonT©r   r)   )r   r   r   )r   r   r   ©r,   r-   )r   r0   r   r1   r2   )Údatapathr)   r3   r4   s       r   Útest_read_jsonl_engine_pyarrowr>   (   sJ   € Ü�\‰\Ù��v˜vÐ'<Ó=ØØô€Fô
 �|‰|¢)²)Ñ<Ó=€HÜ×Ñ˜& (Õ+r   c                 óØ  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        j                  ddgddgdfgg d	¢¬
«      }|j                  dd¬«      }|dk(  r!t        j                  t        |«      |¬«      }n t        j                  t        |«      |¬«      }t        j                  g d¢g d¢gg d	¢¬
«      }t        j                  ||«       y )Nr!   zEPyarrow only supports a file path as an input and line delimited json©ÚreasonÚraisesr   r   ú
2020-03-05ú2020-04-08T09:58:49+00:00Úhector)ÚaccountsÚdateÚnamer.   Tr   r   ©r)   )r   rC   rE   )r   rD   rE   )Úapplymarkerr&   ÚmarkÚxfailÚ
ValueErrorr   r   r   r0   r   r1   r2   )r(   r)   rA   r   Ú	json_liner3   r4   s          r   Útest_read_datetimerO   2   sË   € à�ÒàXˆØ×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPä	�‰Øˆaˆ&�<Ð!<Ð=¸xÐ	HÐIÚ,ô
€Bð —
‘
 ¨i�
Ó8€Ià�ÒÜ—‘œh yÓ1¸&ÔA‰ä—‘œh yÓ1¸&ÔAˆÜ�|‰|Ú	$Ò&PÐQÚ,ô€Hô ×Ñ˜& (Õ+r   c                  ód  — d} t        | «      } t        j                  | d¬«      }t        j                  ddgddggddg¬	«      }t	        j
                  ||«       d} t        j                  t        | «      d¬«      }t        j                  ddgddggddg¬	«      }t	        j
                  ||«       y )
Nu5   {"a": "fooâ€�", "b": "bar"}
{"a": "foo", "b": "bar"}
Tr+   u   fooâ€�ÚbarÚfoor,   r-   r.   )r   r   r0   r   r1   r2   )r8   r3   r4   s      r   Útest_read_jsonl_unicode_charsrS   J   s¥   € ð
 E€DÜ�D‹>€DÜ�\‰\˜$ dÔ+€FÜ�|‰|˜k¨5Ð1°E¸5°>ÐBÈSÐRUÈJÔW€HÜ×Ñ˜& (Ô+ð E€DÜ�\‰\œ( 4›.°Ô5€FÜ�|‰|˜k¨5Ð1°E¸5°>ÐBÈSÐRUÈJÔW€HÜ×Ñ˜& (Õ+r   c                  ó6  — t        j                  ddgddggddg¬«      } | j                  dd¬«      }d	}||k(  sJ ‚t        j                  d
dgddggddg¬«      } | j                  dd¬«      }d}||k(  sJ ‚t        j                  t        j
                  t        |«      d¬«      | «       t        j                  ddgddggddg¬«      } | j                  dd¬«      }d}||k(  sJ ‚t        j                  t        j
                  t        |«      d¬«      | «       y )Nr   r   r,   r-   r.   r   T©r   r   z{"a":1,"b":2}
{"a":1,"b":2}
zfoo}rQ   zfoo"z/{"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}
r+   zfoo\za\z4{"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}
)r   r   r   r1   r2   r0   r   )r   r3   r4   s      r   Útest_to_jsonlrV   \   s  € ä	�‰˜˜1�v  1˜vÐ&°°c°
Ô	;€BØ�Z‰Z˜y°ˆZÓ5€FØ/€HØ�XÒÐÐä	�‰˜ �¨°¨Ð8À3ÈÀ*Ô	M€BØ�Z‰Z˜y°ˆZÓ5€FØC€HØ�XÒÐÐÜ×Ñœ"Ÿ,™,¤x°Ó'7¸tÔDÀbÔIô 
�‰˜ Ð'¨&°%¨Ð9ÀEÈ3À<Ô	P€BØ�Z‰Z˜y°ˆZÓ5€FØN€HØ�XÒÐÐÜ×Ñœ"Ÿ,™,¤x°Ó'7¸tÔDÀbÕIr   c                  ó˜   — t        j                  ddgddggddg¬«      } | j                  dd¬«      j                  d	«      }d}||k(  sJ ‚y )
Nr   r   r,   r-   r.   r   TrU   ú
)r   r   r   Úcount)r   Úactual_new_lines_countÚexpected_new_lines_counts      r   Útest_to_jsonl_count_new_linesr\   q   sV   € ä	�‰˜˜1�v  1˜vÐ&°°c°
Ô	;€BØŸZ™Z¨yÀ˜ZÓE×KÑKÈDÓQÐØ ÐØ!Ð%=Ò=Ð=Ñ=r   Ú	chunksizer   g      ð?Úbufferc                 óÒ  — |t         k(  r|j                  «       }|dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        j                   ||«      d¬«      } ||«      5 }t        j                  |d||¬«      5 }t        j                  |«      }	d d d «       d d d «       t        j                  	|«       y # 1 sw Y   Œ(xY w# 1 sw Y   Œ,xY w)Nr!   úmPyarrow only supports a file path as an input and line delimited jsonand doesn't support chunksize parameter.r@   Tr+   ©r   r]   r)   )r   ÚencoderJ   r&   rK   rL   rM   r   r0   Úconcatr1   r2   )
r(   r   r]   r^   r)   rA   Ú	unchunkedÚbufÚreaderÚchunkeds
             r   Útest_readjson_chunksrh   y   sÏ   € ð ”ÒØ%×,Ñ,Ó.ˆà�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPä—‘™V MÓ2¸$Ô?€Iáˆ}Óð$Ø!$Ü
�‰�S °	À&ÔIð$àMSä—)‘)˜FÓ#ˆ÷	$÷ $ô ×Ñ˜' 9Õ-÷$ð $ú÷ $ð $ús$   Á:CÂCÂ*CÃC	ÃCÃC&c                 óØ   — d}t        j                  t        |¬«      5  t        j                  t        | «      dd|¬«      5 }	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz*chunksize can only be passed if lines=True©ÚmatchFr   ra   ©r&   rB   rM   r   r0   r   )r   r)   ÚmsgÚ_s       r   Ú&test_readjson_chunksize_requires_linesro   –   sd   € Ø
6€CÜ	�‰”z¨Ô	-ñ Ü�\‰\Ü�]Ó#¨5¸AÀfô
ð 	àØ÷	÷ð ÷	ð 	ú÷ð úó#   ž#A ÁAÁA ÁA	ÁA Á A)c                 óö  — |dk(  r1d}| j                  t        j                  j                  |¬«      «       t	        j
                  dddœ«      }t        |j                  dd¬	«      «      }t	        j                  |dd
|¬«      }t        |j                  dd¬	«      «      }t	        j                  |dd
d|¬«      5 }t	        j                  |«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)Nr!   r`   )rA   r   r   r   Tr   r   Úseries)r   Útypr)   )r   rs   r]   r)   )rJ   r&   rK   rL   r   ÚSeriesr   r   r0   rc   r1   Úassert_series_equal)r(   r)   rA   ÚsÚstriord   rf   rg   s           r   Útest_readjson_chunks_seriesrx   Ÿ   sÜ   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÐ-Ó<Ô=ô 	�	‰	˜ Ñ"Ó#€Aä�Q—Y‘Y T°)�YÓ<Ó=€EÜ—‘˜U¨$°HÀVÔL€Iä�Q—Y‘Y T°)�YÓ<Ó=€EÜ	�‰Ø�T˜x°1¸Vô
ð $à	Ü—)‘)˜FÓ#ˆ÷$ô
 ×Ñ˜7 IÕ.÷$ð $ús   Â:C/Ã/C8c                 óN  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        j                  t        |«      dd|¬«      5 }t        |«      }d d d «       d   j                  dk(  sJ ‚|d	   j                  d
k(  sJ ‚y # 1 sw Y   Œ2xY w)Nr!   r`   r@   Tr   ra   r   ©r   r   r   )r   r   )
rJ   r&   rK   rL   rM   r   r0   r   ÚlistÚshape)r(   r   r)   rA   rf   Úchunkss         r   Útest_readjson_each_chunkr~   ·   s£   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPô 
�‰Ü�Ó t°qÀô
ð à	Ü�f“ˆ÷ð �!‰9�?‰?˜fÒ$Ð$Ð$Ø�!‰9�?‰?˜fÒ$Ð$Ñ$÷ð ús   ÁBÂB$c                 ó¼  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        j                  g d¢g d¢dœ«      }|j                  |dd¬	«       t        j                  |dd
|¬«      5 }t        j                  |«      }d d d «       t        j                  |d|¬«      }t        j                  |«       y # 1 sw Y   Œ8xY w)Nr!   r`   r@   r
   r   r   Tr   r   r   ra   r;   )rJ   r&   rK   rL   rM   r   r   r   r0   rc   r1   r2   )r(   r)   Ú	temp_filerA   r   rf   rg   rd   s           r   Útest_readjson_chunks_from_filer�   Ê   s¶   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPä	�‰šIªIÑ6Ó	7€BØ‡J�Jˆy ¨Y€JÔ7Ü	�‰�i t°qÀÔ	Hð $ÈFÜ—)‘)˜FÓ#ˆ÷$ä—‘˜Y¨d¸6ÔB€IÜ×Ñ˜) WÕ-÷$ð $ús   ÂCÃCc                  óB  — t        j                  g d¢g d¢dœ«      } | j                  dd¬«      j                  d«      }t        j                  t        |«      dd¬	«      5 }t        j                  |«      }d d d «       t        j                  | «       y # 1 sw Y   Œ xY w)
Nr
   r   r   Tr   r   úutf-8r   ©r   r]   )	r   r   r   rb   r0   r   rc   r1   r2   )r   r9   rf   rg   s       r   Ú'test_readjson_chunks_from_binary_streamr…   Û   s}   € ô 
�‰šIªIÑ6Ó	7€BØ�:‰:˜D¨ˆ:Ó3×:Ñ:¸7ÓC€DÜ	�‰”g˜d“m¨4¸1Ô	=ð $ÀÜ—)‘)˜FÓ#ˆ÷$ä×Ñ˜' 2Õ&÷$ð $ús   Á BÂBc                 ó8  — t        j                  g d¢g d¢dœ«      }|j                  |dd¬«       t        |d ddddddd d d| d d ¬	«      }|5  |j	                  «        d d d «       |j
                  j                  j                  s
J d
| › �«       ‚y # 1 sw Y   Œ4xY w)Nr
   r   r   Tr   r   ÚframeF)r   rs   ÚdtypeÚconvert_axesÚconvert_datesÚkeep_default_datesÚprecise_floatÚ	date_unitÚencodingr   r]   ÚcompressionÚnrowsz%didn't close stream with chunksize = )r   r   r   r   ÚreadÚhandlesÚhandleÚclosed)r]   r€   r   rf   s       r   Útest_readjson_chunks_closesr•   å   s¨   € ä	�‰šIªIÑ6Ó	7€BØ‡J�Jˆy ¨Y€JÔ7ÜØØØØØØØØØØØØØØô€Fð  
ñ Ø�‰Œ÷à�>‰>× Ñ ×'Ò'ð Ø
/°	¨{Ð;óÑ'÷ð ús   ÁBÂB)r   éÿÿÿÿgš™™™™™@rR   c                 óØ   — d}t        j                  t        |¬«      5  t        j                  t        | «      d||¬«      5 }	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz"'chunksize' must be an integer >=1rj   Tra   rl   )r   r]   r)   rm   rn   s        r   Útest_readjson_invalid_chunksizer˜      sd   € à
/€Cä	�‰”z¨Ô	-ñ Ü�\‰\Ü�]Ó#¨4¸9ÈVô
ð 	àØ÷	÷ð ÷	ð 	ú÷ð úrp   )Nr   r   c                 ó  — d}t        j                  g d¢g d¢dœ«      }t        j                  t        |«      d| ¬«      }| � |5  t        j                  |«      }d d d «       t        j                  ||d| › �¬«       y # 1 sw Y   Œ%xY w)	NzF

    {"A":1,"B":4}



    {"A":2,"B":5}







    {"A":3,"B":6}
    r
   r   r   Tr„   zchunksize: )Úobj)r   r   r0   r   rc   r1   r2   )r]   ÚjÚorigÚtests       r   Ú)test_readjson_chunks_multiple_empty_linesrž     sx   € ð	€Aô  �<‰<šiªiÑ8Ó9€DÜ�<‰<œ ›¨4¸9ÔE€DØÐØñ 	#Ü—9‘9˜T“?ˆD÷	#ä×Ñ˜$ ¨K¸	°{Ð*CÖD÷	#ð 	#ús   ÁA>Á>Bc                 ó’  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       |j                  dd„ «       t        |dd¬«      5 }|j                  d	«       d d d «       t        j                  ||¬
«      }t        j                  ddgi«      }t        j                  ||«       y # 1 sw Y   ŒOxY w)Nr!   r`   r@   zlocale.getpreferredencodingc                  ó   — y)NÚcp949© )Údo_setlocales    r   ú<lambda>z'test_readjson_unicode.<locals>.<lambda>.  s   � r   Úwrƒ   ©rŽ   u6   {"Â£Â©ÂµÃ€Ã†Ã–ÃžÃŸÃ©Ã¶Ã¿":["Ð�Ð‘Ð’Ð“Ð”Ð°Ð±Ð²Ð³Ð´ê°€"]}rI   u   Â£Â©ÂµÃ€Ã†Ã–ÃžÃŸÃ©Ã¶Ã¿u   Ð�Ð‘Ð’Ð“Ð”Ð°Ð±Ð²Ð³Ð´ê°€)rJ   r&   rK   rL   rM   ÚsetattrÚopenÚwriter   r0   r   r1   r2   )r(   Úmonkeypatchr)   r€   rA   Úfr3   r4   s           r   Útest_readjson_unicoder¬   %  s¸   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPà×ÑÐ5Ñ7SÔTÜ	ˆi˜ wÔ	/ð J°1Ø	�‰ÐHÔI÷Jô �\‰\˜)¨FÔ3€FÜ�|‰|Ð5Ð8QÐ7RÐSÓT€HÜ×Ñ˜& (Õ+÷Jð Jús   ÁB=Â=Cr�   r   c                 ób  — d}t        j                  t        |«      d| ¬«      }t        j                  g d¢g d¢dœ«      j                  d |  }t        j                  ||«       d}t        j                  t        |«      dd¬«      }t        j                  «       }t        j                  ||«       y )	Nú[{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}T)r   r�   ©r   r   r   é   ©r   r   r   é   r<   ú){"a": 1, "b": 2}
        {"a": 3, "b": 4}r   )r   r0   r   r   Úilocr1   r2   )r�   r)   Újsonlr3   r4   s        r   Útest_readjson_nrowsr¶   7  s‰   € ð€Eô �\‰\œ( 5›/°¸UÔC€FÜ�|‰|¢,²\ÑBÓC×HÑHÈÈ%ÐP€HÜ×Ñ˜& (Ô+ð€Eä�\‰\œ( 5›/°¸QÔ?€FÜ�|‰|‹~€HÜ×Ñ˜& (Õ+r   c                 ó   — t        j                  d«       d}t        | «      j                  |d¬«       d}t        j                  t
        |¬«      5  t        j                  | ddd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr$   r³   rƒ   r¦   z8currently pyarrow engine doesn't support nrows parameterrj   Tr   r!   ©r   r�   r)   )r&   r'   r   Ú
write_textrB   ÚNotImplementedErrorr   r0   )r€   rµ   rm   s      r   Ú+test_readjson_nrows_not_implemented_pyarrowr»   J  sm   € ä
×Ñ˜Ô'ð€EäˆƒO×Ñ˜u¨wÐÔ7à
D€CÜ	�‰Ô*°#Ô	6ñ GÜ
�‰�Y d°!¸IÕF÷G÷ Gñ Gús   ÁA4Á4A=znrows,chunksize)rz   )r   r   )r   r   c                 ó*  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       d}|dk7  rBt        j                  t        |«      d|||¬«      5 }t        j                  |«      }d d d «       n8t        j                  |d|||¬«      5 }t        j                  |«      }d d d «       t        j                  g d¢g d¢d	œ«      j                  d | }t        j                  |«       y # 1 sw Y   ŒIxY w# 1 sw Y   ŒUxY w)
Nr!   r`   r@   r®   T)r   r�   r]   r)   r¯   r±   r<   )rJ   r&   rK   rL   rM   r   r0   r   rc   r   r´   r1   r2   )	r(   r�   r]   r)   rA   rµ   rf   rg   r4   s	            r   Útest_readjson_nrows_chunksr½   W  s  € ð �Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPð€Eð
 �ÒÜ�\‰\Ü�U‹O 4¨uÀ	ÐRXô
ð 	(àÜ—i‘i Ó'ˆG÷	(ð 	(ô
 �\‰\Ø˜ U°iÈô
ð 	(àÜ—i‘i Ó'ˆG÷	(ô �|‰|¢,²\ÑBÓC×HÑHÈÈ%ÐP€HÜ×Ñ˜' 8Õ,÷	(ð 	(ú÷
	(ð 	(ús   Á&C=ÂD	Ã=DÄ	Dzjsonl,nrows)z{"a":1}
{"a":2}
r   )Ú Nc                 óô   — dddœ}|�||d<   t        j                  t        | «      fi |¤Ž5 }|j                  «       }d d d «       t	        j
                  t        j                  «       «       y # 1 sw Y   Œ2xY w)NTr   r„   r�   )r   r0   r   r‘   r1   r2   r   )rµ   r�   Úkwargsrf   r3   s        r   Útest_readjson_read_empty_chunksrÁ   v  sl   € ð ¨!Ñ,€FØÐØˆˆw‰ä	�‰”h˜u“oÑ	0¨Ñ	0ð °FØ—‘“ˆ÷ô ×Ñ˜&¤"§,¡,£.Õ1÷ð ús   ¬A.Á.A7c                 óž   — d}d}t        j                  t        |¬«      5  t        j                  |dd| ¬«       d d d «       y # 1 sw Y   y xY w)Nr®   z&nrows can only be passed if lines=Truerj   Fr   r¸   ©r&   rB   rM   r   r0   )r)   rµ   rm   s      r   Ú"test_readjson_nrows_requires_linesrÄ   †  sI   € ð€Eð 3€CÜ	�‰”z¨Ô	-ñ AÜ
�‰�U %¨q¸Õ@÷A÷ Añ Aús    AÁAc                 ó*  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        j                  ddggddgdg¬	«      t        j                  d
dggddgdg¬	«      t        j                  ddggddgdg¬	«      g} |dddd«      }t        |«      j                  «       }t        j                  |dd|¬«      5 }t        |«      D ]  \  }}	t        j                  |	||   «       Œ  	 d d d «       y # 1 sw Y   y xY w)Nr!   r`   r@   r   r   r,   r-   r   )r/   Úindexr   r   r   r   r7   r8   r9   r:   Tra   )rJ   r&   rK   rL   rM   r   r   r   Úas_urir0   Ú	enumerater1   r2   )
r(   r=   r)   rA   Údf_list_expectedÚos_pathÚfile_urlÚ
url_readerrÆ   Úchucks
             r   Ú"test_readjson_lines_chunks_fileurlrÎ   ’  s  € ð �Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPô 	�‰�q˜!�f�X¨¨S z¸!¸Ô=Ü
�‰�q˜!�f�X¨¨S z¸!¸Ô=Ü
�‰�q˜!�f�X¨¨S z¸!¸Ô=ðÐñ
 �t˜V VÐ-BÓC€GÜ�G‹}×#Ñ#Ó%€HÜ	�‰�h d°aÀÔ	Gð BÈ:Ü% jÓ1ò 	B‰LˆE�5Ü×!Ñ! %Ð)9¸%Ñ)@ÕAñ	B÷B÷ Bñ Bús   Ã-D	Ä	Dc            	      ó²   — ddz  }  G d„ d«      } || «      }t        t        t        j                  |dd¬«      «      «      dkD  sJ ‚|j                  d	kD  sJ ‚y )
Nz\{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}
iè  c                   ó&   — e Zd Zdd„Zd„ Zdefd„Zy)ú/test_chunksize_is_incremental.<locals>.MyReaderÚreturnNc                 ó2   — d| _         t        |«      | _        y )Nr   )Ú
read_countr   Ústringio)ÚselfÚcontentss     r   Ú__init__z8test_chunksize_is_incremental.<locals>.MyReader.__init__´  s   € ØˆDŒOÜ$ XÓ.ˆD�Mr   c                 ó^   — | xj                   dz  c_          | j                  j                  |Ž S ©Nr   )rÔ   rÕ   r‘   )rÖ   Úargss     r   r‘   z4test_chunksize_is_incremental.<locals>.MyReader.read¸  s'   € Ø�OŠO˜qÑ �OØ%�4—=‘=×%Ñ% tÐ,Ð,r   c                 óV   — | xj                   dz  c_         t        | j                  «      S rÚ   )rÔ   ÚiterrÕ   )rÖ   s    r   Ú__iter__z8test_chunksize_is_incremental.<locals>.MyReader.__iter__¼  s   € Ø�OŠO˜qÑ �OÜ˜Ÿ™Ó&Ð&r   )rÒ   N)Ú__name__Ú
__module__Ú__qualname__rØ   r‘   r   rÞ   r¢   r   r   ÚMyReaderrÑ   ³  s   „ ó	/ò	-ð	'˜hô 	'r   râ   Téd   r„   r   é
   )Úlenr{   r   r0   rÔ   )rµ   râ   rf   s      r   Útest_chunksize_is_incrementalræ   ©  sd   € ð	ð ñ		ð 
÷'ñ 'ñ �e‹_€FÜŒt”B—L‘L ¨t¸sÔCÓDÓEÈÒIÐIÐIØ×Ñ˜rÒ!Ð!Ñ!r   Úorient_)ÚsplitrÆ   Útablec                 óÆ   — t        j                  ddgddgdœ«      }d}t        j                  t        |¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)	Nr   r   r,   r-   ©Úcol1Úcol2úPmode='a' \(append\) is only supported when lines is True and orient is 'records'rj   )Úmoder   ©r   r   r&   rB   rM   r   )rç   r   rm   s      r   Útest_to_json_append_orientrñ   Å  s^   € ô 
�‰  1˜v°°S¨zÑ:Ó	;€Bð	0ð ô 
�‰”z¨Ô	-ñ -Ø
�
‰
˜ Gˆ
Ô,÷-÷ -ñ -ús   ºAÁA c                  óÈ   — t        j                  ddgddgdœ«      } d}t        j                  t        |¬«      5  | j                  ddd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr   r   r,   r-   rë   rî   rj   Fr   ©rï   r   r   rð   )r   rm   s     r   Útest_to_json_append_linesrô   Ò  s`   € ô 
�‰  1˜v°°S¨zÑ:Ó	;€Bð	0ð ô 
�‰”z¨Ô	-ñ <Ø
�
‰
˜ 5°ˆ
Ô;÷<÷ <ñ <ús   ºAÁA!Úmode_ÚrÚxc                 óÐ   — t        j                  ddgddgdœ«      }d| › d�}t        j                  t        |¬«      5  |j                  | d	d
¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   r,   r-   rë   zmode=z@ is not a valid option.Only 'w' and 'a' are currently supported.rj   Fr   ró   rð   )rõ   r   rm   s      r   Útest_to_json_append_moderù   Þ  sh   € ô 
�‰  1˜v°°S¨zÑ:Ó	;€Bà
�ˆwÐVÐWð ô 
�‰”z¨Ô	-ñ >Ø
�
‰
˜ U°9ˆ
Ô=÷>÷ >ñ >ús   ¾AÁA%c                 óX  — t        j                  ddgddgdœ«      }t        j                  ddgdd	gdœ«      }t        j                  g d
¢g d¢dœ«      }|j                  | dd¬«       |j                  | ddd¬«       t        j                  | d¬«      }t	        j
                  ||«       y )Nr   r   r,   r-   rë   r   r   ÚcÚd)r   r   r   r   )r,   r-   rû   rü   Tr   r   ró   r+   )r   r   r   r0   r1   r2   )r€   Údf1Údf2r4   r3   s        r   Ú-test_to_json_append_output_consistent_columnsrÿ   ê  s–   € ô �,‰,  A °°c°
Ñ;Ó
<€CÜ
�,‰,  A °°c°
Ñ;Ó
<€Cä�|‰|¢\Ò;OÑPÓQ€Hà‡K�K�	 ¨i€KÔ8Ø‡K�K�	 ¨4¸	€KÔBô �\‰\˜)¨4Ô0€FÜ×Ñ˜& (Õ+r   c                 óœ  — t        j                  ddgddgdœ«      }t        j                  ddgdd	gd
œ«      }t        j                  g d¢g d¢t        j                  t        j                  dd	gdœ«      }|j	                  | ddd¬«       |j	                  | ddd¬«       t        j
                  | d¬«      }t        j                  ||«       y )Nr   r   r,   r-   rë   Úer«   ú!ú#©rí   Úcol3)r   r   NN)r,   r-   r  r«   )rì   rí   r  Tr   ró   r+   )r   r   ÚnpÚnanr   r0   r1   r2   )r€   rý   Údf3r4   r3   s        r   Ú/test_to_json_append_output_inconsistent_columnsr	  û  s³   € ô �,‰,  A °°c°
Ñ;Ó
<€CÜ
�,‰,  c 
°S¸#°JÑ?Ó
@€Cä�|‰|â&Ú(Ü—V‘VœRŸV™V S¨#Ð.ñ	
ó€Hð ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBô �\‰\˜)¨4Ô0€FÜ×Ñ˜& (Õ+r   c                 ó>  — t        j                  ddgddgdœ«      }t        j                  ddgdd	gdœ«      }t        j                  d
dgddgdœ«      }t        j                  dddgi«      }t        j                  g d¢dddd	d
dt        j                  t        j                  gt        j                  t        j                  t        j                  t        j                  ddt        j                  t        j                  gg d¢dœ«      j	                  ddi«      }|j                  | ddd¬«       |j                  | ddd¬«       |j                  | ddd¬«       |j                  | ddd¬«       t        j                  | d¬«      }t        j                  ||«       y )Nr   r   r,   r-   rë   r   r   rû   rü   r  r«   r  r  r  Úcol4TF)r   r   r   r   NNNN)NNNNNNTF)rì   rí   r  r  Úfloatr   ró   r+   ©	r   r   r  r  Úastyper   r0   r1   r2   ©r€   rý   rþ   r  Údf4r4   r3   s          r   Ú,test_to_json_append_output_different_columnsr    sU  € ô �,‰,  A °°c°
Ñ;Ó
<€CÜ
�,‰,  A °°c°
Ñ;Ó
<€CÜ
�,‰,  c 
°S¸#°JÑ?Ó
@€CÜ
�,‰,˜  u Ð.Ó
/€Cä�|‰|â8Ø˜#˜s C¨¨c´2·6±6¼2¿6¹6ÐBÜ—V‘VœRŸV™V¤R§V¡V¬R¯V©V°S¸#¼r¿v¹vÄrÇvÁvÐNÚEñ		
ó÷ �fˆf�gÐÓð ð ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBô �\‰\˜)¨4Ô0€FÜ×Ñ˜& (Õ+r   c                 ó>  — t        j                  ddgddgdœ«      }t        j                  ddgdd	gdœ«      }t        j                  d
dgddgdœ«      }t        j                  dddgi«      }t        j                  g d¢t        j                  t        j                  d
ddd	ddgt        j                  t        j                  ddt        j                  t        j                  t        j                  t        j                  gg d¢dœ«      j	                  ddi«      }|j                  | ddd¬«       |j                  | ddd¬«       |j                  | ddd¬«       |j                  | ddd¬«       t        j                  | d¬«      }t        j                  ||«       y )Nr   r   r,   r-   rë   r   r   rû   rü   r  r«   r  r  r  r  TF)TFNNNNNN)NNNNr   r   r   r   )r  rí   r  rì   r  r   ró   r+   r  r  s          r   Ú6test_to_json_append_output_different_columns_reorderedr  .  sW  € ô �,‰,  A °°c°
Ñ;Ó
<€CÜ
�,‰,  A °°c°
Ñ;Ó
<€CÜ
�,‰,  c 
°S¸#°JÑ?Ó
@€CÜ
�,‰,˜  u Ð.Ó
/€Cô �|‰|âEÜ—V‘VœRŸV™V S¨#¨s°C¸¸cÐBÜ—V‘VœRŸV™V S¨#¬r¯v©v´r·v±v¼r¿v¹vÄrÇvÁvÐNÚ8ñ		
ó÷ �fˆf�gÐÓð ð ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBô �\‰\˜)¨4Ô0€FÜ×Ñ˜& (Õ+r   c                 óh   — t        j                  d«       t        | «      j                  dd¬«       | S )Nr$   z&{"a": 1, "b": "x"}
{"a": 2, "b": "y"}
rƒ   r¦   )r&   r'   r   r¹   )r€   s    r   Úpyarrow_jsonlr  P  s4   € ä
×Ñ˜Ô'ÜˆƒO×ÑØ2¸Wð ô ð Ðr   c                 óš   — d}t        j                  t        |¬«      5  t        j                  | ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz;The 'typ' option is not supported with the 'pyarrow' enginerj   Tr!   rr   )r   r)   rs   rÃ   ©r  rm   s     r   Útest_pyarrow_engine_typ_seriesr  Y  s@   € Ø
G€CÜ	�‰”z¨Ô	-ñ PÜ
�‰�]¨$°yÀhÕO÷P÷ Pñ Púó   žAÁA
rŠ   Fr,   c                 óš   — d}t        j                  t        |¬«      5  t        j                  | dd|¬«       d d d «       y # 1 sw Y   y xY w)NzEThe 'convert_dates' option is not supported with the 'pyarrow' enginerj   Tr!   )r   r)   rŠ   rÃ   )r  rŠ   rm   s      r   Ú!test_pyarrow_engine_convert_datesr  _  s?   € à
Q€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰Ø ¨iÀ}õ	
÷
÷ 
ñ 
úr  c                 óš   — d}t        j                  t        |¬«      5  t        j                  | ddd¬«       d d d «       y # 1 sw Y   y xY w)NzJThe 'keep_default_dates' option is not supported with the 'pyarrow' enginerj   Tr!   F)r   r)   r‹   rÃ   r  s     r   Ú&test_pyarrow_engine_keep_default_datesr  h  s?   € Ø
V€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰Ø ¨iÈEõ	
÷
÷ 
ñ 
úr  c                 óš   — d}t        j                  t        |¬«      5  t        j                  | ddd¬«       d d d «       y # 1 sw Y   y xY w)NzAThe 'date_unit' option is not supported with the 'pyarrow' enginerj   Tr!   Úms)r   r)   r�   rÃ   r  s     r   Útest_pyarrow_engine_date_unitr   p  s@   € Ø
M€CÜ	�‰”z¨Ô	-ñ RÜ
�‰�]¨$°yÈDÕQ÷R÷ Rñ Rúr  c                 óš   — d}t        j                  t        |¬«      5  t        j                  | ddd¬«       d d d «       y # 1 sw Y   y xY w)NzEThe 'precise_float' option is not supported with the 'pyarrow' enginerj   Tr!   )r   r)   rŒ   rÃ   r  s     r   Ú!test_pyarrow_engine_precise_floatr"  v  sA   € Ø
Q€CÜ	�‰”z¨Ô	-ñ VÜ
�‰�]¨$°yÐPTÕU÷V÷ Vñ Vúr  r‰   Tc                 óš   — d}t        j                  t        |¬«      5  t        j                  | dd|¬«       d d d «       y # 1 sw Y   y xY w)NzDThe 'convert_axes' option is not supported with the 'pyarrow' enginerj   Tr!   )r   r)   r‰   rÃ   )r  r‰   rm   s      r   Ú test_pyarrow_engine_convert_axesr$  |  sB   € ð Q€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰Ø ¨iÀlõ	
÷
÷ 
ñ 
úr  rˆ   )TFÚfloat64c                 óš   — d}t        j                  t        |¬«      5  t        j                  | dd|¬«       d d d «       y # 1 sw Y   y xY w)Nz=The 'dtype' option is not supported with the 'pyarrow' enginerj   Tr!   ©r   r)   rˆ   rÃ   )r  rˆ   rm   s      r   Ú test_pyarrow_engine_scalar_dtyper(  ‡  sC   € ð J€CÜ	�‰”z¨Ô	-ñ OÜ
�‰�]¨$°yÈÕN÷O÷ Oñ Oúr  c           	      ó    — d}t        j                  t        |¬«      5  t        j                  | dddddœ¬«       d d d «       y # 1 sw Y   y xY w)	Nz6only supports ArrowDtype values in the 'dtype' mappingrj   Tr!   zint64[pyarrow]r%  r<   r'  rÃ   r  s     r   Ú+test_pyarrow_engine_non_arrow_dtype_mappingr*  �  sJ   € ð C€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰ØØØØ(¨yÑ9õ		
÷
÷ 
ñ 
ús   žAÁAc                 óš   — d}t        j                  t        |¬«      5  t        j                  | ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz@The 'encoding' option is not supported with the 'pyarrow' enginerj   Tr!   zlatin-1)r   r)   rŽ   rÃ   r  s     r   Útest_pyarrow_engine_encodingr,  �  s@   € à
L€CÜ	�‰”z¨Ô	-ñ VÜ
�‰�]¨$°yÈ9ÕU÷V÷ Vñ Vúr  c                 óš   — d}t        j                  t        |¬«      5  t        j                  | ddd¬«       d d d «       y # 1 sw Y   y xY w)NzGThe 'encoding_errors' option is not supported with the 'pyarrow' enginerj   Tr!   Úignore)r   r)   Úencoding_errorsrÃ   r  s     r   Ú#test_pyarrow_engine_encoding_errorsr0  ¤  s?   € Ø
S€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰Ø ¨iÈõ	
÷
÷ 
ñ 
úr  c                 óž   — d}t        j                  t        |¬«      5  t        j                  | ddddi¬«       d d d «       y # 1 sw Y   y xY w)NzGThe 'storage_options' option is not supported with the 'pyarrow' enginerj   Tr!   Úanon)r   r)   Ústorage_optionsrÃ   r  s     r   Ú#test_pyarrow_engine_storage_optionsr4  ¬  sF   € Ø
S€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰ØØØØ# T˜Nõ		
÷
÷ 
ñ 
ús   žAÁAr�   ÚgzipÚmethodc                 óš   — d}t        j                  t        |¬«      5  t        j                  | dd|¬«       d d d «       y # 1 sw Y   y xY w)NzCThe 'compression' option is not supported with the 'pyarrow' enginerj   Tr!   )r   r)   r�   rÃ   )r  r�   rm   s      r   Útest_pyarrow_engine_compressionr8  ·  sB   € ð P€CÜ	�‰”z¨Ô	-ñ 
Ü
�‰Ø ¨iÀ[õ	
÷
÷ 
ñ 
úr  rŽ   )Nrƒ   Úutf8zUTF-8c                 ó  — d}t        j                  t        |d¬«      5  t        j                  | ddddddd |dd¬	«      }d d d «       t        j
                  d
dgddgdœ«      }t        j                  |d¬«       y # 1 sw Y   Œ>xY w)Nú"keyword in read_json is deprecatedF)rk   Úcheck_stacklevelTr!   r‡   ÚstrictÚinfer)
r   r)   rs   rŠ   r‹   rŒ   r�   rŽ   r/  r�   r   r   r÷   Úyr<   ©Úcheck_dtype)r1   Úassert_produces_warningr   r   r0   r   r2   )r  rŽ   Údepr_msgr3   r4   s        r   Ú*test_pyarrow_engine_allows_default_optionsrD  Â  s•   € ð 4€Hô 
×	#Ñ	#Ü˜h¸ô
ñ 
ô —‘ØØØØØØ#ØØØØ$Øô
ˆ÷
ô  �|‰| 1 a &°°S¨zÑ:Ó;€HÜ×Ñ˜& (¸Ö>÷#
ð 
ús   Ÿ!A=Á=Bc                 óT  — t        j                  d«       | dz  }t        j                  |d«      5 }|j	                  d«       d d d «       t        j                  t        |«      dd¬«      }t        j                  dd	d
gi«      }t        j                  ||d¬«       y # 1 sw Y   Œ\xY w)Nr$   zdata.json.gzÚwbs   {"a": 1}
{"a": 2}
Tr!   r;   r,   r   r   Fr@  )r&   r'   r5  r¨   r©   r   r0   Ústrr   r1   r2   )Útmp_pathÚpathÚfhr3   r4   s        r   Ú7test_pyarrow_engine_reads_gzip_with_default_compressionrK  Ý  sŒ   € ô ×Ñ˜Ô'Ø�nÑ$€DÜ	�‰�4˜Ó	ð * "Ø
�‰Ð(Ô)÷*ä�\‰\œ#˜d›)¨4¸	ÔB€FÜ�|‰|˜S 1 a &˜MÓ*€HÜ×Ñ˜& (¸Ö>÷	*ð *ús   ±BÂB'c                 ó<  — t        | «      j                  dd¬«       d}t        j                  t        |¬«      5  t        j                  | ddddddd	dd
¬«
      }d d d «       t        j                  dddgi«      }t        j                  |«       y # 1 sw Y   Œ9xY w)Nz{"a": 1}
{"a": 2}
rƒ   r¦   r;  rj   Tr    Fr  r=  )	r   r)   rŠ   r‹   r‰   rŒ   r�   rŽ   r/  r,   r   r   )	r   r¹   r1   rB  r   r   r0   r   r2   )r€   rC  r3   r4   s       r   Ú1test_ujson_engine_allows_pyarrow_rejected_optionsrM  é  sš   € ô 	ˆƒO×ÑÐ5ÀÐÔHØ3€HÜ	×	#Ñ	#¤N¸(Ô	Cñ 
Ü—‘ØØØØØ$ØØØØØ$ô
ˆ÷
ô �|‰|˜S 1 a &˜MÓ*€HÜ×Ñ˜& (Õ+÷
ð 
ús   º BÂB)GÚcollections.abcr   r5  r7   r   r   Úpathlibr   Únumpyr  r&   Úpandas.errorsr   Úpandasr   Úpandas._testingÚ_testingr1   Úpandas.io.json._jsonr   Úfixturer   r)   r5   r>   rO   rS   rV   r\   rK   Úparametrizerh   ro   rx   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,  r0  r4  r8  rD  rK  rM  r¢   r   r   ú<module>rX     s~  ðÝ $Û ÷õ ã Û å (ã Ý å +ð ‡�ñ4ó ð4ð
 €‡�˜ Ð+Ô,ñó -ðò,ò,ò,ò0,ò$Jò*>ð ‡�×Ñ˜ q¨# hÓ/Ø‡�×Ñ˜ G¨XÐ#6Ó7ñ.ó 8ó 0ð.ò6ò/ò0%ò&.ò"'ð ‡�×Ñ˜ t¨Q iÓ0ñó 1ðð4 ‡�×Ñ˜Ò&9Ó:ñó ;ðð ‡�×Ñ˜¢lÓ3ñEó 4ðEò2,ð$ ‡�×Ñ˜ 1 a &Ó)ñ,ó *ð,ò$
Gð ‡�×ÑÐ*Ò,DÓEñ-ó Fð-ð< ‡�×ÑØØ 
Ð+óñ	2ó	ð	2ò	AòBò."ð8 ‡�×Ñ˜Ò$?Ó@ñ	-ó Að	-ò	<ð ‡�×Ñ˜ 3¨ *Ó-ñ>ó .ð>ò,ò",ò.,ò8,ðD ‡�ñó ðòPð ‡�×Ñ˜¨5°3°%¨.Ó9ñ
ó :ð
ò
òRòVð ‡�×Ñ˜¨$°¨Ó7ñ
ó 8ð
ð ‡�×Ñ˜Ò":Ó;ñOó <ðOò

òVò
ò
ð ‡�×Ñ˜¨°(¸FÐ1CÐ(DÓEñ
ó Fð
ð ‡�×Ñ˜Ò%EÓFñ?ó Gð?ò4	?ó,r   