Ë
    ¤ehó1 ã                   ód  — d dl Z d dl mZ d dlmZ d dlmZmZ d dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlmZ d dlmZ d dlmc mZ d dlZd dlmZmZmZmZmZmZmZmZm Z  d dl!m"Z# d dl$m%Z%m&Z& d d	l'm(Z( d d
l)m*Z* d„ Z+d„ Z, G d„ d«      Z-d„ Z.d„ Z/d„ Z0d„ Z1 ejd                  d«      d„ «       Z3d„ Z4y)é    N)Ú	timedelta)ÚDecimal)ÚBytesIOÚStringIO)Úusing_pyarrow_string_dtype)ÚIS64)	ÚNAÚ	DataFrameÚDatetimeIndexÚIndexÚ
RangeIndexÚSeriesÚ	TimestampÚ
date_rangeÚ	read_json)ÚArrowStringArrayÚStringArray)ÚArrowStringArrayNumpySemantics)Úujson_dumpsc                  óp  — t        ddgddggddg¬«      } d}d}t        j                  t        |¬«      5  	 t	        |d	¬
«       d d d «       t        j                  t        |¬«      5  t	        | j                  «       d	¬
«       d d d «       t        j                  t        |¬«      5  t	        dd¬
«      }t        j                  || «       d d d «       t        j                  t        |¬«      5  	 t	        dd	¬
«      }d d d «       t        j                  t        |¬«      5  	 t	        dd	¬
«      }t        j                  | «       d d d «       y # t
        $ r Y �Œw xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒèxY w# 1 sw Y   Œ­xY w# t
        $ r Y Œ‘w xY w# 1 sw Y   Œ–xY w# t
        $ r Y Œzw xY w# 1 sw Y   y xY w)Né   é   ÚaÚb©Úcolumnsz[{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}z™Passing literal json to 'read_json' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.©ÚmatchF©Úlinesú!{"a": 1, "b": 2}
{"b":2, "a" :1}
Tú4{"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}
)r
   ÚtmÚassert_produces_warningÚFutureWarningr   Ú
ValueErrorÚto_jsonÚassert_frame_equal)ÚexpectedÚjsonlÚmsgÚresults       ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/json/test_pandas.pyÚtest_literal_json_deprecationr.   +   sª  € ä˜1˜a˜& 1 a &Ð)°C¸°:Ô>€Hð€Eð	:ð ô 
×	#Ñ	#¤M¸Ô	=ñ ð	Ü�e 5Õ)÷ô 
×	#Ñ	#¤M¸Ô	=ñ 3Ü�(×"Ñ"Ó$¨EÕ2÷3ô 
×	#Ñ	#¤M¸Ô	=ñ 0ÜÐ@ÈÔMˆÜ
×Ñ˜f hÔ/÷0ô 
×	#Ñ	#¤M¸Ô	=ñ ð	ÜØOØôˆF÷ô 
×	#Ñ	#¤M¸Ô	=ñ 0ð	ÜÐDÈEÔRˆFô 	×Ñ˜f hÔ/÷0ð 0øô' ò 	Úð	ú÷ñ ú÷3ð 3ú÷0ð 0ûô ò 	Ùð	ú÷ð ûô ò 	Ùð	ú÷0ð 0úsš   µE·EÁ'E*Â&$E6Ã-FÃ/FÄF,Ä!FÄ.F,Å	EÅEÅEÅEÅE'Å*E3Å6E?Æ	FÆFÆFÆFÆFÆ	F)Æ&F,Æ(F)Æ)F,Æ,F5c                 ó¬   — |dv r|j                  d¬«      }|dk(  r#t        t        |j                  «      «      |_        t	        j
                  | |«       y )N)ÚrecordsÚvaluesT©Údropr1   )Úreset_indexÚrangeÚlenr   r#   r(   )r,   r)   Úorients      r-   Úassert_json_roundtrip_equalr8   X   sN   € ØÐ&Ñ&Ø×'Ñ'¨TÐ'Ó2ˆØ�ÒÜ ¤ X×%5Ñ%5Ó!6Ó7ˆÔÜ×Ñ˜& (Õ+ó    c                   óš  — e Zd Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  ddd	g«      d
„ «       Zej                  j                  dddg«      ej                  j                  dddgddggddgddggddgddgg ed«      dg ed«      dggg«      d„ «       «       Zej                  j                  dg d¢«      d„ «       Zd„ Zej                  j                  ddeg«      ej                  j                  d d!dg«      d"„ «       «       Zej                  j                  ddej(                  g«      ej                  j                  d d!dg«      d#„ «       «       Zej                  j                  dd$ej,                  ed%g«      ej                  j                  d d!dg«      d&„ «       «       Zej                  j                  d d!dg«      d'„ «       Zej                  j                  d d!dg«      d(„ «       Zej                  j                  d d!dg«      d)„ «       Zej                  j                  d d!dg«      d*„ «       Zej                  j;                  d+e¬,«      ej                  j                  d	d-d-gd.d/ggd-d0gd.d.ggd-d-gd.d.ggg«      d1„ «       «       Zej                  j                  d2d3d4d5jA                  d6g«      dfd7d8g«      d9„ «       Z!ej                  j                  dd!dg«      ej                  j                  d d!dg«      d:„ «       «       Z"ej                  j                  dd!dg«      d;„ «       Z#ej                  j                  d<ejH                  ejH                   g«      ej                  j                  dd!dg«      d=„ «       «       Z%ej                  jM                  e' d>¬?«      ej                  j                  d@g dA¢«      dB„ «       «       Z(dC„ Z)dD„ Z*dE„ Z+dF„ Z,dG„ Z-dH„ Z.dI„ Z/dJ„ Z0dK„ Z1dL„ Z2dM„ Z3dN„ Z4ej                  j                  ddd$g«      dO„ «       Z5dP„ Z6dQ„ Z7ej                  j                  dej,                  eg«      dR„ «       Z8dS„ Z9dT„ Z:dU„ Z;ej                  j                  dVd! e<dWgdX¬Y«      fd e<dZg«      fg«      d[„ «       Z=d\„ Z>d]„ Z?d^„ Z@d_„ ZAd`„ ZBda„ ZCej                  j                  dbdcddg«      ej                  j                  ded!dg«      ej                  j                  dfeDjŠ                  eDjˆ                  eg«      dg„ «       «       «       ZFej                  j                  dhg di¢«      dj„ «       ZGej                  j                  dkg dl¢«      dm„ «       ZHdn„ ZIej                  j                  dkg dl¢«      do„ «       ZJdp„ ZKej                  j                  dqg dr¢«      ds„ «       ZLej                  j                  dqg dt¢«      du„ «       ZMdv„ ZNdw„ ZOdx„ ZPej                  j¢                  ej                  j¤                  ej                  j                  dydz eSj¨                  d{¬|«      gd}dXgd~ eSj¨                  d{¬|«      gg«      d„ «       «       «       ZUd€„ ZVd�„ ZWd‚„ ZXej                  j                  ded!dg«      ej                  j                  dbdddcg«      ej                  j                  dƒeSj²                  eZg«      d„„ «       «       «       Z[ej                  j                  ded!dg«      ej                  j                  dƒeSj²                  eZg«      d…„ «       «       Z\d†„ Z]d‡„ Z^dˆ„ Z_d‰„ Z`dŠ„ Zad‹„ ZbdŒ„ Zcej                  j                  d� edŽ«       ed�d�¬|«       ed‘«      g«      d’„ «       Zdd“„ Zeej                  j                  d” efd•d–¬—«       efd˜d–d�¬™«       efdšd–¬—«      g«      d›„ «       Zgdœ„ Zhd�„ Ziej                  j¤                  ejjÖ                  dž„ «       «       ZldŸ„ Zmd „ Znej                  j                  d¡eojà                  dz   eojà                  d–z    g«      d¢„ «       Zqej                  j                  d¡d£d¤g«      d¥„ «       Zrd¦„ Zsd§„ Ztej                  j;                  d¨eu¬,«      ej                  j                  d©g dª¢g d«¢g d¬¢g d­¢g d®¢g d¯¢g d°¢ejì                  d±d²d³gd´ejì                  d±d²d³gg	«      ej                  j                  ddµewg«      d¶„ «       «       «       Zxd·„ Zyej                  j                  dd$dd–gd¸d¹gddgdºd»gd¼d½gg«      ej                  j                  d	ddgdºd»gd¼d½gg«      d¾„ «       «       Zzd¿„ Z{ej                  j;                   e|«       dÀ¬?«      ej                  j                  dg dÁ¢«      dÂ„ «       «       Z}ej                  j                  dd!eedÃœg«      dÄ„ «       Z~ej                  j                  dg dÅ¢«      dÆ„ «       ZdÇ„ Z€ej                  j                  dÈ e�dd–gdÉdÊggddg¬Ë«      ddgdd–gdÉdÊggdÌœf e�dd–gdÉdÊggddg¬Ë«      �j                  dÍ«      ddgdd–gdÉdÊggdÌœf e�dd–gdÉdÊggddgddgddgg¬Î«      ddgdd–gdÉdÊggdÌœf e<g dÏ¢dÐ¬Ñ«      dÐg dÏ¢dÒœf e<g dÏ¢dÐ¬Ñ«      �j                  dÍ«      dÐg dÏ¢dÒœf e<dd–gdÐddgddgg¬Ó«      dÐdd–gdÒœfg«      dÔ„ «       Zƒej                  j                  d e�dd–gdÉdÊggddg¬Ë«       e�dd–gdÉdÊggddg¬Ë«      �j                  dÍ«       e�dd–gdÉdÊggddgddgddgg¬Î«       e<g dÏ¢dÐ¬Ñ«       e<g dÏ¢dÐ¬Ñ«      �j                  dÍ«       e<dd–gdÐddgddgg¬Ó«      g«      dÕ„ «       Z„ej                  j                  ddd	g«      dÖ„ «       Z…ej                  j                  dd×dg«      dØ„ «       Z†ej                  j                  dddÙg«      ej                  j                  dd!dg«      dÚ„ «       «       Z‡dÛ„ Zˆej                  j                  dÜg dÝ¢«      dÞ„ «       Z‰ej                  j                  dßg dà¢«      dá„ «       ZŠej                  j                  dâdãdäg«      då„ «       Z‹ej                  j                  dædçdè e�j                  ddéej                  j;                  dê¬?«      ¬ë«       e�j                  dÙdéej                  j;                  dê¬?«      ¬ë«      g«      dì„ «       Z�ej                  j                  díg dî¢«      dï„ «       ZŽej                  jM                   e|«       dð¬?«      ej                  j                  dæg dñ¢«      dò„ «       «       Z�dó„ Z�dô„ Z‘dõ„ Z’ej                  j                  dö e�g dÏ¢g d÷¢døœ«      dùfg«      dú„ «       Z“ej                  j¤                  dû„ «       Z”dü„ Z•dý„ Z–dþ„ Z—dÿ„ Z˜ej                  j                  �d  e<�d�d�d�dœ«      �df e<�d�d�d�dœ«      �d	f e��d
�dg�d�dgg«      �df e��d�dg�d�dgg«      �dfg«      �d„ «       Z™�d„ Zšej                  j                  dg �d¢«      �d„ «       Z›ej                  j                  dg �d¢«      �d„ «       Zœ�d„ Z�y$(  ÚTestPandasContainerc                 ó�  — t        t        d«      «      D ��ci c]4  \  }}|t        j                  j	                  |«      j                  d«      “Œ6 }}}dgdz  dgdz  z   dgdz  z   dgdz  z   }t        t        |«      «      |d	<   t        j                  dd
¬«      |d<   t        |t        j                  |d	¬«      ¬«      S c c}}w )NÚABCDé   Úbahé   ÚbarÚbazÚfooé   ÚEÚint64©ÚdtypeÚsort©Úname©Úindex)Ú	enumerateÚlistÚnpÚrandomÚdefault_rngÚstandard_normalÚreversedÚaranger
   ÚpdÚCategoricalIndex)ÚselfÚiÚcÚdataÚcats        r-   Úcategorical_framez%TestPandasContainer.categorical_framea   sÀ   € ô "¤$ v£,Ó/÷
á��1ð Œr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ñ;ð
ˆñ 
ð ˆg˜‰k˜U˜G a™KÑ'¨5¨'°A©+Ñ5¸¸À"¹ÑDˆÜœ #›Ó'ˆˆS‰	Ü—y‘y ¨7Ô3ˆˆV‰Ü˜¤R×%8Ñ%8¸À3Ô%GÔHÐHùó
s   ˜9Cc                 óÄ   — t        dt        j                  dt        j                  ¬«      z  t	        dd¬«      d¬«      }|j
                  j                  d «      |_        |S )Ngš™™™™™ñ?é
   rG   ú
2020-01-01©ÚperiodsÚts)rM   rK   )r   rP   rU   Úfloat64r   rM   Ú
_with_freq)rX   Úsers     r-   Údatetime_seriesz#TestPandasContainer.datetime_seriesl   sO   € ô Ø”"—)‘)˜B¤b§j¡jÔ1Ñ1Ü˜\°2Ô6Øô
ˆð
 —I‘I×(Ñ(¨Ó.ˆŒ	Øˆ
r9   c           	      ó  — t        t        j                  j                  d«      j	                  d«      t        t        d«      t        ¬«      t        ddd¬«      ¬	«      }|j                  j                  d «      |_	        |S )
Nr   )r>   é   r=   rG   ú
2000-01-01r>   ÚB©rb   Úfreq©r   rM   )r
   rP   rQ   rR   rS   r   rO   Úobjectr   rM   re   )rX   Údfs     r-   Údatetime_framez"TestPandasContainer.datetime_framex   sb   € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Üœ$˜v›,¬fÔ5Ü˜\°2¸CÔ@ô
ˆð
 —8‘8×&Ñ& tÓ,ˆŒØˆ	r9   c                 ó¾   — t        ddgddggddgddg¬	«      }t        |j                  |¬
«      «      }t        ||¬
«      }|j	                  «       }t        |||«       y )Nr   r   rZ   Údz	index " 1z	index / 2za \ bzy / z©rM   r   ©r7   ©r
   r   r'   r   Úcopyr8   ©rX   r7   rp   r[   r,   r)   s         r-   Ú test_frame_double_encoded_labelsz4TestPandasContainer.test_frame_double_encoded_labels„   sf   € ÜØ�3ˆZ˜#˜s˜Ð$Ø Ð,Ø˜wÐ'ô
ˆô ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨Ô/ˆØ—7‘7“9ˆÜ# F¨H°fÕ=r9   r7   )Úsplitr0   r1   c                 ó¾   — t        ddgddggddgddg¬«      }t        |j                  |¬	«      «      }t        ||¬	«      }|j	                  «       }t        |||«       y )
Nr   r   rZ   rs   r   ÚxÚyrt   ru   rv   rx   s         r-   Útest_frame_non_unique_indexz/TestPandasContainer.test_frame_non_unique_index�   s]   € ä˜˜c˜
 S¨# JÐ/¸¸1°vÈÈSÀzÔRˆÜ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨Ô/ˆØ—7‘7“9ˆä# F¨H°fÕ=r9   rM   r   c                 óÄ   — t        ddgddggddgddg¬«      }d	|› d
�}t        j                  t        |¬«      5  |j	                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rZ   rs   r   r|   r}   rt   z+DataFrame index must be unique for orient='ú'r   ru   ©r
   ÚpytestÚraisesr&   r'   ©rX   r7   rp   r+   s       r-   Ú"test_frame_non_unique_index_raisesz6TestPandasContainer.test_frame_non_unique_index_raises™   sd   € ä˜˜c˜
 S¨# JÐ/¸¸1°vÈÈSÀzÔRˆØ;¸F¸8À1ÐEˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�J‰J˜fˆJÔ%÷	&÷ 	&ñ 	&úó   ºAÁArz   r1   r[   r   r   rZ   rs   ç      ø?ç      @g      @g      @r   é   Ú20130101Ú20130102c                 ó¬  — t        |ddgddg¬«      }t        t        |j                  |¬«      «      |dg¬«      }|dk(  rot        |«      }|j                  d d …df   j
                  d	k(  rT|j                  d|j                  d d …df   j                  t        j                  «      d
z  «       n|dk(  r|}ddg|_
        t        j                  |«       y )Nr   r   r|   rt   ru   )r7   Úconvert_datesr1   r   údatetime64[ns]é@B rz   zx.1)r
   r   r   r'   ÚilocrH   ÚisetitemÚastyperP   rF   r   r#   r(   )rX   r7   r[   rp   r,   r)   s         r-   Útest_frame_non_unique_columnsz1TestPandasContainer.test_frame_non_unique_columns    sÈ   € ô �t A q 6°C¸°:Ô>ˆäÜ�R—Z‘Z v�ZÓ.Ó/¸ÈsÈeô
ˆð �XÒÜ  “ˆHØ�}‰}šQ ˜TÑ"×(Ñ(Ð,<Ò<ð
 ×!Ñ! ! X§]¡]²1°a°4Ñ%8×%?Ñ%?ÄÇÁÓ%IÈWÑ%TÕUØ�wÒØˆHØ # U˜|ˆHÔä
×Ñ˜f hÕ/r9   )rM   r   r0   c                 óÄ   — t        ddgddggddgddg¬«      }d	|› d
�}t        j                  t        |¬«      5  |j	                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rZ   rs   r   r   r|   rt   z-DataFrame columns must be unique for orient='r€   r   ru   r�   r„   s       r-   Ú$test_frame_non_unique_columns_raisesz8TestPandasContainer.test_frame_non_unique_columns_raises¾   sd   € ä˜˜c˜
 S¨# JÐ/¸¸1°vÈÈSÀzÔRˆà=¸f¸XÀQÐGˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�J‰J˜fˆJÔ%÷	&÷ 	&ñ 	&úr†   c                 óN   — |j                  «       |j                  d¬«      k(  sJ ‚y )Nr   ru   ©r'   )rX   Úfloat_frames     r-   Útest_frame_default_orientz-TestPandasContainer.test_frame_default_orientÆ   s'   € Ø×"Ñ"Ó$¨×(;Ñ(;À9Ð(;Ó(MÒMÐMÑMr9   rH   FÚconvert_axesTc                 óv   — t        |j                  |¬«      «      }t        ||||¬«      }|}t        |||«       y ©Nru   ©r7   rš   rH   ©r   r'   r   r8   )rX   r7   rš   rH   r˜   r[   r,   r)   s           r-   Útest_roundtrip_simplez)TestPandasContainer.test_roundtrip_simpleÉ   s>   € ô ˜×+Ñ+°6Ð+Ó:Ó;ˆÜ˜4¨¸\ÐQVÔWˆàˆä# F¨H°fÕ=r9   c                 óv   — t        |j                  |¬«      «      }t        ||||¬«      }|}t        |||«       y rœ   rž   )rX   r7   rš   rH   Ú	int_framer[   r,   r)   s           r-   Útest_roundtrip_intframez+TestPandasContainer.test_roundtrip_intframeÓ   s>   € ô ˜	×)Ñ)°Ð)Ó8Ó9ˆÜ˜4¨¸\ÐQVÔWˆØˆÜ# F¨H°fÕ=r9   NÚU3c           
      óH  — t        t        j                  d«      t        d«      D �cg c]  }t	        |«      ‘Œ c}t        d«      D �cg c]  }t	        |«      ‘Œ c}|¬«      }t        |j                  |¬«      «      }t        ||||¬«      }|j                  «       }|s|j                  t        j                  «      }|ra|dv r]|j                  j                  t        j                  «      |_        |j                  j                  t        j                  «      |_        nk|dk(  r1|r/|j                  j                  t        j                  «      |_        n5|r3|d	k(  r.|j                  j                  t        j                  «      |_        t        |||«       y c c}w c c}w )
N)éÈ   ri   ri   r¥   )r   rM   rH   ru   r�   rt   r0   rz   )r
   rP   Úzerosr5   Ústrr   r'   r   rw   r’   rF   r   rM   r8   )	rX   r7   rš   rH   rY   rp   r[   r,   r)   s	            r-   Útest_roundtrip_str_axesz+TestPandasContainer.test_roundtrip_str_axesÛ   s7  € ô Ü�H‰H�XÓÜ%*¨1£XÖ. ”S˜•VÒ.Ü#(¨£:Ö.˜a”3�q•6Ò.Øô	
ˆô ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨¸\ÐQVÔWˆà—7‘7“9ˆÙØ—‘¤r§x¡xÓ0ˆHñ ˜VÐ';Ñ;Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÔØ%Ÿ^™^×2Ñ2´2·8±8Ó<ˆH�NØ�yÒ ¡\Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÕÙ˜f¨Ò/Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÔä# F¨H°fÕ=ùò3 /ùÚ.s   §F
ÁFc                 óp  — |dv r3|j                  t        j                  j                  d|› d�¬«      «       t	        |j                  |¬«      «      }t        |||¬«      }|j                  «       }|j                  j                  |st        nd«      |_        d |j                  _        t        |||«       y )Nrt   z.Can't have duplicate index values for orient 'z')©Úreasonru   ©r7   rš   ústring[pyarrow_numpy])Úapplymarkerr‚   ÚmarkÚxfailr   r'   r   rw   rM   r’   r§   rK   r8   )	rX   Úrequestr7   r]   rš   Úusing_infer_stringr[   r,   r)   s	            r-   Útest_roundtrip_categoricalz.TestPandasContainer.test_roundtrip_categoricalû   s®   € ð
 Ð)Ñ)Ø×ÑÜ—‘×!Ñ!ØKÈFÈ8ÐSUÐVð "ó ôô Ð)×1Ñ1¸Ð1Ó@ÓAˆÜ˜4¨¸\ÔJˆà$×)Ñ)Ó+ˆØ!Ÿ™×.Ñ.Ù)�CÐ/Fó
ˆŒð #ˆ�‰ÔÜ# F¨H°fÕ=r9   c                 ó,  — t        «       }t        |j                  |¬«      «      }t        |||¬«      }|dk(  r't	        g |rt
        nt        ¬«      }t        ||¬«      }n|dv rt        «       }n|j                  «       }t        j                  ||«       y )Nru   r¬   rz   rG   rt   )
r
   r   r'   r   r   Úfloatro   rw   r#   r(   )rX   r7   rš   Úempty_framer[   r,   Úidxr)   s           r-   Útest_roundtrip_emptyz(TestPandasContainer.test_roundtrip_empty  s�   € ä“kˆÜ˜×+Ñ+°6Ð+Ó:Ó;ˆÜ˜4¨¸\ÔJˆØ�WÒÜ˜©L¥5¼fÔFˆCÜ  s°CÔ8‰HØÐ+Ñ+Ü “{‰Hà"×'Ñ'Ó)ˆHä
×Ñ˜f hÕ/r9   c                 ó.  — t        |j                  |¬«      «      }t        |||¬«      }|j                  «       }|sM|j                  j                  t        j                  «      dz  }|dk7  r|j                  t        «      }||_        t        |||«       y )Nru   r¬   r�   rz   )r   r'   r   rw   rM   ÚviewrP   rF   r’   r§   r8   )rX   r7   rš   rq   r[   r,   r)   r·   s           r-   Útest_roundtrip_timestampz,TestPandasContainer.test_roundtrip_timestamp   s€   € ô ˜×.Ñ.°fÐ.Ó=Ó>ˆÜ˜4¨¸\ÔJˆØ!×&Ñ&Ó(ˆáà—.‘.×%Ñ%¤b§h¡hÓ/°7Ñ:ˆCØ˜Ò Ø—j‘j¤“o�à ˆHŒNä# F¨H°fÕ=r9   c                 ó^  — t        g d¢«      }g d¢g d¢g d¢g d¢dœ}t        ||¬«      }t        |j                  |¬«      «      }t	        |||¬	«      }|j                  «       } |j                  di |j                  d
«      j                  t        j                  «      ¤Ž}t        |||«       y )N)r   r   rZ   rs   Úe)ç        ç      ð?ç       @ç      @ç      @)r¾   r¿   r¾   r¿   r¾   )Úfoo1Úfoo2Úfoo3Úfoo4Úfoo5)TFTFT©ÚArk   ÚCÚD)r[   rM   ru   r¬   Únumber© )r   r
   r   r'   r   rw   ÚassignÚselect_dtypesr’   rP   rF   r8   )	rX   r7   rš   rM   r1   rp   r[   r,   r)   s	            r-   Útest_roundtrip_mixedz(TestPandasContainer.test_roundtrip_mixed1  s•   € äÒ/Ó0ˆâ*Ú*Ú9Ú1ñ	
ˆô ˜F¨%Ô0ˆä˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨¸\ÔJˆà—7‘7“9ˆØ"�8—?‘?ÑW X×%;Ñ%;¸HÓ%E×%LÑ%LÌRÏXÉXÓ%VÑWˆä# F¨H°fÕ=r9   z9#50456 Column multiindex is stored and loaded differently)r«   rƒ   Ú2022ÚJANÚFEBÚ2023c                 óà   — t        ddgddggt        j                  j                  |«      ¬«      }t	        |j                  d¬«      «      }t        |d¬«      }t        j                  ||«       y )Nr   r   r‰   ri   r   rz   ru   )	r
   rV   Ú
MultiIndexÚfrom_arraysr   r'   r   r#   r(   )rX   r   rp   r[   r,   s        r-   Útest_roundtrip_multiindexz-TestPandasContainer.test_roundtrip_multiindexE  sc   € ô Ø�ˆV�a˜�VÐÜ—M‘M×-Ñ-¨gÓ6ô
ˆô ˜Ÿ
™
¨'˜
Ó2Ó3ˆÜ˜4¨Ô0ˆÜ
×Ñ˜f bÕ)r9   zdata,msg,orient)z{"key":b:a:d}zExpected object or valuer   zO{"columns":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}ú|z;Length of values \(3\) does not match length of index \(2\))zW{"columns":["A","B","C"],"index":["1","2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}z+3 columns passed, passed data had 2 columnsrz   )zN{"badkey":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}zunexpected key\(s\): badkeyrz   c                 ó�   — t        j                  t        |¬«      5  t        t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)Nr   ru   )r‚   rƒ   r&   r   r   )rX   r[   r+   r7   s       r-   Ú$test_frame_from_json_bad_data_raisesz8TestPandasContainer.test_frame_from_json_bad_data_raisesZ  s6   € ôF �]‰]œ:¨SÔ1ñ 	5Ü”h˜t“n¨VÕ4÷	5÷ 	5ñ 	5ús	   œ<¼Ac                 óx  — t        ddgg d¢g«      }t        t        |j                  |¬«      «      |||¬«      }t	        j
                  |j                  d   «      sJ ‚t        ddgg d	¢g«      }t        t        |j                  |¬«      «      |||¬«      }t	        j
                  |j                  d   «      sJ ‚y )
Nr   r   ©ri   r@   é   ru   r�   ©r   r   Ú1Ú2)Ú4Ú5Ú6)r
   r   r   r'   rP   Úisnanr�   )rX   r7   rš   rH   Únum_dfr,   Úobj_dfs          r-   Ú!test_frame_from_json_missing_dataz5TestPandasContainer.test_frame_from_json_missing_data€  s°   € ô ˜Q ˜F¢IÐ.Ó/ˆäÜ�V—^‘^¨6�^Ó2Ó3ØØ%Øô	
ˆô �x‰x˜Ÿ™ DÑ)Ô*Ð*Ð*ä˜S #˜JªÐ8Ó9ˆÜÜ�V—^‘^¨6�^Ó2Ó3ØØ%Øô	
ˆô �x‰x˜Ÿ™ DÑ)Ô*Ð*Ñ*r9   c                 ó�   — t        t        d«      |¬«      }t        t        j                  g«      }t        j                  ||«       y )Nz[null]rG   )r   r   r
   rP   Únanr#   r(   )rX   rH   r,   r)   s       r-   Ú(test_frame_read_json_dtype_missing_valuez<TestPandasContainer.test_frame_read_json_dtype_missing_value–  s5   € ô œ8 HÓ-°UÔ;ˆÜœbŸf™f˜XÓ&ˆä
×Ñ˜f hÕ/r9   Úinfc                 óØ   — t        ddgg d¢g«      }||j                  d<   t        |j                  «       «      }t	        ||¬«      }t        j                  |j                  d   «      sJ ‚y )Nr   r   rÝ   rß   rG   )r
   Úlocr   r'   r   rP   rå   r�   )rX   rì   rH   rp   r[   r,   s         r-   Útest_frame_infinityz'TestPandasContainer.test_frame_infinityŸ  s[   € ô
 ˜˜A˜¢	Ð*Ó+ˆØˆ�‰ˆt‰ä˜Ÿ
™
›Ó%ˆÜ˜4 uÔ-ˆÜ�x‰x˜Ÿ™ DÑ)Ô*Ð*Ñ*r9   z$not compliant on 32-bit, xref #15865rª   zvalue,precision,expected_val))gffffffî?r   r¿   )g333333ÿ?r   rÀ   )g333333ÿ¿r   g       À)g×£p=
×ï?r   r¿   )g–C‹lçûï?r‰   r¿   )gûÿÿÿÿÿï?rD   r¿   c                 óZ   — t        d|ig«      }|j                  |¬«      }|d|› d�k(  sJ ‚y )NÚa_float)Údouble_precisionz{"a_float":{"0":ú}}©r
   r'   )rX   ÚvalueÚ	precisionÚexpected_valrp   Úencodeds         r-   Ú"test_frame_to_json_float_precisionz6TestPandasContainer.test_frame_to_json_float_precision«  s>   € ô ˜ EÐ*Ð+Ó,ˆØ—*‘*¨i�*Ó8ˆØÐ.¨|¨n¸DÐAÒAÐAÑAr9   c                 ó¦   — t        g d¢«      }d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       y # 1 sw Y   y xY w©N©r   r   r‰   z+Invalid value 'garbage' for option 'orient'r   Úgarbageru   r�   )rX   rp   r+   s      r-   Útest_frame_to_json_exceptz-TestPandasContainer.test_frame_to_json_except¼  sB   € Ü’yÓ!ˆØ;ˆÜ�]‰]œ:¨SÔ1ñ 	)Ø�J‰J˜iˆJÔ(÷	)÷ 	)ñ 	)úó   «AÁAc                 óÞ   — t        ddg¬«      }|j                  rJ ‚t        |j                  «       «      }t	        |t        |j                  «      ¬«      }t        j                  ||d¬«       y )NÚjimÚjoer   rG   F©Úcheck_index_type)	r
   Ú_is_mixed_typer   r'   r   ÚdictÚdtypesr#   r(   )rX   rp   r[   r,   s       r-   Útest_frame_emptyz$TestPandasContainer.test_frame_emptyÂ  sU   € Ü  u˜~Ô.ˆØ×$Ò$Ð$Ð$ä˜Ÿ
™
›Ó%ˆÜ˜4¤t¨B¯I©I£Ô7ˆÜ
×Ñ˜f b¸5ÖAr9   c                 óX   — t        dg ig ¬«      }|j                  d¬«      }d}||k(  sJ ‚y )NÚtestrL   r   ru   z{"test":{}}rô   ©rX   rp   r,   r)   s       r-   Útest_frame_empty_to_jsonz,TestPandasContainer.test_frame_empty_to_jsonÊ  s5   € ä˜ �|¨2Ô.ˆØ—‘ 9�Ó-ˆØ ˆØ˜Ò!Ð!Ñ!r9   c                 ó  — t        ddg¬«      }|d   j                  d«      |d<   |j                  sJ ‚|j                  «       }t	        j
                  t        t        |«      t        |j                  «      ¬«      |d¬«       y )Nr  r  r   Úi8rG   Fr  )
r
   r’   r  r'   r#   r(   r   r   r  r  )rX   rp   r[   s      r-   Útest_frame_empty_mixedtypez.TestPandasContainer.test_frame_empty_mixedtypeÑ  sl   € ä  u˜~Ô.ˆØ�u‘I×$Ñ$ TÓ*ˆˆ5‰	Ø× Ò Ð Ð Ø�z‰z‹|ˆÜ
×ÑÜ”h˜t“n¬D°·±«OÔ<ØØ"ö	
r9   c                 ó‚  — g d¢g d¢g d¢g d¢g}t        |t        d«      g d¢¬«      }|j                  sJ ‚|j                  «       }dD ]A  }t	        |j                  |¬	«      «      }t        ||d
¬«      }t        j                  ||«       ŒC t        t        |«      «      |_        t	        |j                  d¬	«      «      }t        |dd
¬«      }t        j                  ||«       t        |j                  d   «      |_        t	        |j                  d¬	«      «      }t        |dd
¬«      }t        j                  ||«       y )N)r_   r   rC   çš™™™™™¹?g{®Gáz„?)é   r   rA   gš™™™™™É?g{®Gáz”?)r>   r‰   rB   g333333Ó?g¸…ëQ¸ž?)é(   ri   Úquxgš™™™™™Ù?g{®Gáz¤?Úabcd)Ú1stÚ2ndÚ3rdÚ4thÚ5thrt   ©rz   rM   r   ru   Fr¬   r0   r   r1   )r
   rO   r  rw   r   r'   r   r#   r(   r   r6   rM   Úshaper   )rX   Úvalsrp   Úrightr7   ÚinpÚlefts          r-   Útest_frame_mixedtype_orientz/TestPandasContainer.test_frame_mixedtype_orientÝ  s  € â%Ú%Ú%Ú%ð	
ˆô Øœ˜V›Ò.Qô
ˆð × Ò Ð Ð Ø—‘“	ˆà3ò 	/ˆFÜ˜2Ÿ:™:¨V˜:Ó4Ó5ˆCÜ˜S¨¸eÔDˆDÜ×!Ñ! $¨Õ.ð	/ô
 !¤ R£Ó)ˆŒÜ�r—z‘z¨�zÓ3Ó4ˆÜ˜ Y¸UÔCˆÜ
×Ñ˜d EÔ*ä" 2§8¡8¨A¡;Ó/ˆŒÜ�r—z‘z¨�zÓ2Ó3ˆÜ˜ X¸EÔBˆÜ
×Ñ˜d EÕ*r9   c                 óþ  — t        dd«      }t        t        j                  |«      d ¬«      }t	        g d¢g d¢g d¢g d¢g d¢gg d	¢|¬
«      }t        d«      j                  d«      |d<   t        d«      |j                  d|j                  j                  d«      f<   |d   |d<   t        j                  |j                  d|j                  j                  d«      f<    |ddd«      }t        j                  j                  |d«      }t        |«      }t!        j"                  ||«       |j%                  dgd¬«      }t        j                  j                  |d«      }t        |«      }	t!        j"                  ||	d¬«       y )Nz
2000-01-03z
2000-01-07©rm   )gÛÃ‰àù?gzÙ~Kcå?gäXî7 öü?g˜H/‹Æ¿)g±|§RÐ¿gµº¤ƒXª´¿gsõB…f ¿gÇÏëô(�Æ¿)g±à<¤1=ø?gÎâÅÂ9¾?gàÛôg?ú?gL¤—Å‚
õ¿)g¡¦¯J–Qœ¿g½[r?T˜Ü?gj<èDH>Õ?g-þ¾ØÑ¿)gI°ÄEæx®?gW!i`y’ÀgP0Æ4‘�ô?gè+«]Ñ5Ö?rÈ   rn   z19920106 18:21:32.12ÚnsÚdaterŠ   r‰   Úmodifiedr   ÚioÚjsonr[   ztsframe_v012.json)Úaxisztsframe_iso_v012.jsonF)Úcheck_column_type)r   r   rP   Úasarrayr
   r   Úas_unitr�   r   Úget_locrV   ÚNaTÚosÚpathÚjoinr   r#   r(   r3   )
rX   ÚdatapathÚdtirp   ÚdirpathÚv12_jsonÚdf_unserÚdf_isoÚv12_iso_jsonÚdf_unser_isos
             r-   Útest_v12_compatz#TestPandasContainer.test_v12_compatû  s@  € Ü˜ |Ó4ˆäœBŸJ™J s›O°$Ô7ˆÜâAÚCÚ?ÚBÚAðò )Øô

ˆô Ð5Ó6×>Ñ>¸tÓDˆˆ6‰
Ü1:¸:Ó1Fˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.Ø˜F™ˆˆ:‰Ü57·V±Vˆ�‰��2—:‘:×%Ñ% jÓ1Ð1Ñ2á˜4 ¨Ó0ˆÜ—7‘7—<‘< Ð)<Ó=ˆÜ˜XÓ&ˆÜ
×Ñ˜b (Ô+à—‘˜*˜¨A�Ó.ˆÜ—w‘w—|‘| GÐ-DÓEˆÜ  Ó.ˆÜ
×Ñ˜f lÀeÖLr9   c           	      óv  — t        ddd¬«      }t        t        |«      d ¬«      }t        g d¢g d¢g d¢g d	¢g d
¢g d¢dœ|¬«      }|j                  j                  |st        j                  nd«      |_        t        |j                  d¬«      «      }t        |d¬«      }t        j                  ||dddd¬«       y )NÚ20000101r_   Úhrl   r#  )
g}S? wí¿gÂôbÍmÇè?gz(~J�	ô?gðô1¼å¬ã?gk*¬ÐMã¿gv�TçjŽÏ?g7j	" YÒ?gp¢+KS(Àgñ’¬�µ£î?gZtÛS¬yð¿)
i¢L,i_�}i4zõiKeáiL&»iÞ%giûÜDiY)L i;ei­Dô )
Ú78c608f1Ú64a99743Ú13d2ff52Úca7f4af2Ú97236474Úbde7e214Ú1a6bde47Úb1190be5Ú7a669144Ú8d64d068)
gD!¸€†í¥¿gIxJ ˆðü¿gÛòµ%â
@g�¨PÝ\<è¿gòÐ�÷ÛÞ¿gPl‰…ï—ë?gFàzÚnñ?g5mH/î?gp®Hé%Ÿ¿gáIðö?)
Ú14f04af9Úd085da90Ú4bcfac83Ú81504cafÚ2ffef4a9Ú08e2f5c4Ú07e1af03Úaddbd4a7Ú1f6a09baÚ4bfc4d87)
i¥/iŽÞØiÑYiÛ6i‚IÀ i;ª>i¶Á	iÒ(¡ i0q{iÑª‰)Úfloat_1Úint_1Ústr_1Úfloat_2Ústr_2Úint_2rL   r­   rz   ru   T)r  r*  Ú	by_blocksÚcheck_exact)r   r   rO   r
   r   r’   rP   Ústr_r   r'   r   r#   r(   )rX   r²   rM   Údf_mixedr[   Údf_roundtrips         r-   Útest_blocks_compat_GH9037z-TestPandasContainer.test_blocks_compat_GH9037  sÅ   € Ü˜:¨r¸Ô<ˆäœd 5›k°Ô5ˆäòòòòòòñ{IðT ôWL
ˆð^ $×+Ñ+×2Ñ2Ù-ŒB�GŠGÐ3Jó
ˆÔô ˜×(Ñ(°Ð(Ó8Ó9ˆÜ  ¨gÔ6ˆÜ
×ÑØØØ!Ø"ØØö	
r9   c                 óZ  —  G d„ d«      }d} ||«      }t        d|j                  gi«      }|j                  «       d|› d�k(  sJ ‚t        d|gi«      }d}t        j                  t
        |¬«      5  |j                  «        d d d «       t        |gd	gd
œddg¬«      }t        j                  t
        |¬«      5  |j                  «        d d d «       |j                  t        ¬«      }d|› d�}	||	k(  sJ ‚|j                  t        ¬«      d|› d�k(  sJ ‚y # 1 sw Y   Œ”xY w# 1 sw Y   ŒXxY w)Nc                   ó    — e Zd Zdd„Zdefd„Zy)úFTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThingÚreturnNc                 óF   — || _         t        j                  |«      | _        y ©N)ÚhexedÚbytesÚfromhexÚbinary)rX   rd  s     r-   Ú__init__zOTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__init__  s   € Ø"�”
Ü#Ÿm™m¨EÓ2�•r9   c                 ó   — | j                   S rc  )rd  ©rX   s    r-   Ú__str__zNTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__str__ƒ  s   € Ø—z‘zÐ!r9   ©ra  N)Ú__name__Ú
__module__Ú__qualname__rh  r§   rk  rÍ   r9   r-   ÚBinaryThingr`  ~  s   „ ó3ð" ô "r9   rp  Ú574b4454ba8c5eb4f98a8f45rÉ   z{"A":{"0":"ú"}}z6Unsupported UTF-8 sequence length when encoding stringr   r   ©rÉ   rk   rk   r   ©Údefault_handlerz"},"B":{"0":1}})r
   rd  r'   r‚   rƒ   ÚOverflowErrorr§   )
rX   rp  rd  ÚbinthingÚdf_printableÚdf_nonprintabler+   r[  r,   r)   s
             r-   Útest_frame_nonprintable_bytesz1TestPandasContainer.test_frame_nonprintable_bytes{  sD  € ÷	"ñ 	"ð +ˆÙ˜uÓ%ˆô ! #¨¯©Ð'7Ð!8Ó9ˆØ×#Ñ#Ó%¨=¸¸¸uÐ)EÒEÐEÐEô $ S¨8¨*Ð$5Ó6ˆØFˆÜ�]‰]œ=°Ô4ñ 	&Ø×#Ñ#Ô%÷	&ô  H :°Q°CÑ8À3ÈÀ*ÔMˆÜ�]‰]œ=°Ô4ñ 	Ø×ÑÔ÷	ð !×(Ñ(¼Ð(Ó=ˆØ" 5 '¨Ð/ˆØ˜Ò!Ð!Ð!à×Ñ¬SÐÓ1Ø˜u˜gÐ%8Ð9ò:ð	
ñ:÷	&ð 	&ú÷
	ð 	ús   Á1DÂ9D!ÄDÄ!D*c                 óh   — t        ddz  dgddgi«      j                  «       }dddz  › d�}||k(  sJ ‚y )NrA   i † r   rC   i9  ú{"z":{"0":1},"foo":{"0":1337}}rô   ©rX   r,   r)   s      r-   Útest_label_overflowz'TestPandasContainer.test_label_overflow¡  sH   € ä˜E F™N¨Q¨C°¸¸Ð?Ó@×HÑHÓJˆØ˜ ™Ð(Ð(HÐIˆØ˜Ò!Ð!Ñ!r9   c           
      óÆ  — t        ddgddg¬«      }d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       t        j                  |t        t        |j	                  d	¬«      «      d	d
¬«      «       t        t        |j	                  d¬«      «      dd
¬«      }t        j                  |j                  |j                  «       y # 1 sw Y   Œ–xY w)Nr   r   r   rL   z.Series index must be unique for orient='index'r   rM   ru   rz   Úseries)r7   Útypr0   )r   r‚   rƒ   r&   r'   r#   Úassert_series_equalr   r   Úassert_equalr1   )rX   Úsr+   Úunserializeds       r-   Útest_series_non_unique_indexz0TestPandasContainer.test_series_non_unique_index§  s»   € Ü�C˜�: a¨ VÔ,ˆà>ˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�I‰I˜WˆIÔ%÷	&ô 	×ÑØÜÜ˜Ÿ™¨'˜Ó2Ó3¸GÈôô	
ô !Ü�Q—Y‘Y i�YÓ0Ó1¸)Èô
ˆô 	�‰˜Ÿ™ ,×"5Ñ"5Õ6÷	&ð 	&ús   ¯CÃC c                 óN   — |j                  «       |j                  d¬«      k(  sJ ‚y )NrM   ru   r—   )rX   Ústring_seriess     r-   Útest_series_default_orientz.TestPandasContainer.test_series_default_orient¹  s'   € Ø×$Ñ$Ó&¨-×*?Ñ*?ÀwÐ*?Ó*OÒOÐOÑOr9   c                 ó  — t        |j                  |¬«      «      }t        |d|¬«      }|}|r$|dv r |j                  j	                  d«      |_        |dv r|j                  d¬«      }|d	k7  rd |_        t        j                  ||«       y )
Nru   r€  ©r�  r7   r  r­   ©r1   r0   Tr2   rz   )	r   r'   r   rM   r’   r4   rK   r#   r‚  )rX   r7   rˆ  r²   r[   r,   r)   s          r-   Útest_series_roundtrip_simplez0TestPandasContainer.test_series_roundtrip_simple¼  sŠ   € Ü˜×-Ñ-°VÐ-Ó<Ó=ˆÜ˜4 X°fÔ=ˆà ˆÙ &Ð,IÑ"Ià%Ÿ^™^×2Ñ2Ð3JÓKˆHŒNØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0r9   c                 óÌ   — t        |j                  |¬«      «      }t        |d||¬«      }|}|dv r|j                  d¬«      }|dk7  rd |_        t        j                  ||«       y )Nru   r€  )r�  r7   rH   rŒ  Tr2   rz   ©r   r'   r   r4   rK   r#   r‚  )rX   r7   rH   Úobject_seriesr[   r,   r)   s          r-   Útest_series_roundtrip_objectz0TestPandasContainer.test_series_roundtrip_objectË  sj   € ä˜×-Ñ-°VÐ-Ó<Ó=ˆÜ˜4 X°fÀEÔJˆà ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0r9   c                 óB  — t        g g t        j                  ¬«      }t        |j	                  |¬«      «      }t        |d|¬«      }|j                  d¬«      }|dv r.|j                  j                  t        j                  «      |_        t        j                  ||«       y )N©rM   rH   ru   r€  r‹  Tr2   rz   )r   rP   rd   r   r'   r   r4   rM   r’   r#   r‚  )rX   r7   Úempty_seriesr[   r,   r)   s         r-   Útest_series_roundtrip_emptyz/TestPandasContainer.test_series_roundtrip_emptyØ  s   € Ü˜b¨´"·*±*Ô=ˆÜ˜×,Ñ,°FÐ,Ó;Ó<ˆÜ˜4 X°fÔ=ˆà×+Ñ+°Ð+Ó6ˆØ�gÑØ%Ÿ^™^×2Ñ2´2·:±:Ó>ˆHŒNä
×Ñ˜v xÕ0r9   c                 óÊ   — t        |j                  |¬«      «      }t        |d|¬«      }|}|dv r|j                  d¬«      }|dk7  rd |_        t        j                  ||«       y )Nru   r€  r‹  rŒ  Tr2   rz   r�  )rX   r7   rg   r[   r,   r)   s         r-   Ú test_series_roundtrip_timeseriesz4TestPandasContainer.test_series_roundtrip_timeseriesã  sh   € Ü˜×/Ñ/°vÐ/Ó>Ó?ˆÜ˜4 X°fÔ=ˆà"ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0r9   c                 óþ   — t        t        d«      g d¢¬«      }t        |j                  |¬«      «      }t	        |d|¬«      }|j                  «       }|dv r|j                  d¬	«      }t        j                  ||«       y )
NrÞ   ©r   r   rZ   rs   r½   ÚfrL   ru   r€  r‹  rŒ  Tr2   )	r   r5   r   r'   r   rw   r4   r#   r‚  )rX   r7   rH   r„  r[   r,   r)   s          r-   Útest_series_roundtrip_numericz1TestPandasContainer.test_series_roundtrip_numericï  sm   € ä”5˜“8Ò#AÔBˆÜ˜Ÿ	™	¨˜	Ó0Ó1ˆÜ˜4 X°fÔ=ˆà—6‘6“8ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHä
×Ñ˜v xÕ0r9   c                 ó¦   — t        g d¢«      }d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       y # 1 sw Y   y xY wrû   )r   r‚   rƒ   r&   r'   )rX   r„  r+   s      r-   Útest_series_to_json_exceptz.TestPandasContainer.test_series_to_json_exceptû  sB   € Ü’9ÓˆØ;ˆÜ�]‰]œ:¨SÔ1ñ 	(Ø�I‰I˜YˆIÔ'÷	(÷ 	(ñ 	(úrÿ   c                 ó˜   — t        g d¢«      }t        t        |j                  «       «      dd¬«      }t	        j
                  ||d¬«       y )N©ç=
×£p=@r   r   r€  T)r�  Úprecise_floatFr  )r   r   r   r'   r#   r‚  ©rX   r„  r,   s      r-   Ú#test_series_from_json_precise_floatz7TestPandasContainer.test_series_from_json_precise_float  s8   € ÜÒ%Ó&ˆÜœ8 A§I¡I£KÓ0°hÈdÔSˆÜ
×Ñ˜v q¸5ÖAr9   c                 óÎ   — t        g d¢«      }t        t        |j                  «       «      dt        j
                  ¬«      }t        dgdz  «      }t        j                  ||«       y )NrŸ  r€  ©r�  rH   ri   r‰   )r   r   r   r'   rP   rF   r#   r‚  )rX   r„  r,   r)   s       r-   Útest_series_with_dtypez*TestPandasContainer.test_series_with_dtype  sI   € äÒ%Ó&ˆÜœ8 A§I¡I£KÓ0°hÄbÇhÁhÔOˆÜ˜1˜# ™'“?ˆÜ
×Ñ˜v xÕ0r9   zdtype,expectedrj   rŽ   rG   l    ,ŸUqc                 óš   — t        dgd¬«      }t        |j                  «       «      }t        |d|¬«      }t	        j
                  ||«       y )Nrj   rŽ   rG   r€  r¥  )r   r   r'   r   r#   r‚  )rX   rH   r)   r„  r[   r,   s         r-   Útest_series_with_dtype_datetimez3TestPandasContainer.test_series_with_dtype_datetime  sA   € ô �L�>Ð)9Ô:ˆÜ˜Ÿ	™	›Ó$ˆÜ˜4 X°UÔ;ˆÜ
×Ñ˜v xÕ0r9   c                 óš   — t        g d¢g d¢g«      }t        t        |j                  «       «      d¬«      }t	        j
                  ||«       y )NrŸ  T)r¡  ©r
   r   r   r'   r#   r(   ©rX   rp   r,   s      r-   Ú"test_frame_from_json_precise_floatz6TestPandasContainer.test_frame_from_json_precise_float  s:   € ÜÒ*Ò,>Ð?Ó@ˆÜœ8 B§J¡J£LÓ1ÀÔFˆÜ
×Ñ˜f bÕ)r9   c                 óª   — t        t        d«      g d¢d¬«      }t        t        |j	                  «       «      d ¬«      }t        j                  ||«       y )NrÞ   r™  rF   r“  ©r�  )r   r5   r   r   r'   r#   r‚  r¢  s      r-   Útest_typzTestPandasContainer.test_typ  s<   € Ü”5˜“8Ò#AÈÔQˆÜœ8 A§I¡I£KÓ0°dÔ;ˆÜ
×Ñ˜v qÕ)r9   c                 ó2  — t        g d¢g d¢g«      }t        t        |j                  «       «      «      }t	        j
                  ||«       t        g d¢g d¢dœg d¢¬«      }t        t        |j                  «       «      «      }t	        j
                  ||«       y )Nrü   rÝ   ©r   r   )rÉ   rk   rÊ   rL   rª  r«  s      r-   Útest_reconstruction_indexz-TestPandasContainer.test_reconstruction_index$  sl   € Üš	¢9Ð-Ó.ˆÜœ8 B§J¡J£LÓ1Ó2ˆÜ
×Ñ˜f bÔ)äšYªYÑ7ºÔOˆÜœ8 B§J¡J£LÓ1Ó2ˆÜ
×Ñ˜f bÕ)r9   c                 ó¦   — t        j                  d«      5 }|||fD ]  }|j                  |«       t        |«       Œ  	 d d d «       y # 1 sw Y   y xY w)Nú	test.json)r#   Úensure_cleanr'   r   )rX   r˜   r¡   rq   r0  rp   s         r-   Ú	test_pathzTestPandasContainer.test_path-  sN   € Ü�_‰_˜[Ó)ð 	 ¨TØ" I¨~Ð>ò  �Ø—
‘
˜4Ô Ü˜$•ñ ÷	 ÷ 	 ñ 	 ús   –'AÁAc                 ó  — t        |j                  «       «      }t        |«      }t        j                  ||«       t        |j                  «       «      }t        |d¬«      }t        j
                  ||d¬«       |j                  �J ‚y )Nr€  r®  F)Úcheck_names)r   r'   r   r#   r(   r‚  rK   )rX   rg   rq   r(  r,   s        r-   Útest_axis_datesz#TestPandasContainer.test_axis_dates3  sq   € ä˜×.Ñ.Ó0Ó1ˆÜ˜4“ˆÜ
×Ñ˜f nÔ5ô ˜×/Ñ/Ó1Ó2ˆÜ˜4 XÔ.ˆÜ
×Ñ˜v ÀEÕJØ�{‰{Ð"Ð"Ñ"r9   c                 ó¢  — |}t        d«      j                  d«      |d<   t        |j                  «       «      }t	        |«      }t        j                  ||«       d|d<   t        |j                  d¬«      «      }t	        |d¬«      }|j                  «       }|d   j                  j                  d	«      |d<   |d   j                  d
«      |d<   t        j                  ||«       t        t        d«      j                  d«      |j                  ¬«      }t        |j                  «       «      }t	        |d¬«      }t        j                  ||«       y )NrŠ   r$  r%  r¿   rC   ©Ú	date_unitF©r�   r  rF   rL   r€  r®  )r   r,  r   r'   r   r#   r(   rw   r1   rº   r’   r   rM   r‚  )rX   rg   rq   rp   r(  r,   r)   rc   s           r-   Útest_convert_datesz&TestPandasContainer.test_convert_dates?  s  € àˆÜ˜zÓ*×2Ñ2°4Ó8ˆˆ6‰
ä˜Ÿ
™
›Ó%ˆÜ˜4“ˆÜ
×Ñ˜f bÔ)àˆˆ5‰	Ü˜Ÿ
™
¨T˜
Ó2Ó3ˆä˜4¨uÔ5ˆØ—7‘7“9ˆØ# FÑ+×2Ñ2×7Ñ7¸Ó=ˆ�ÑØ" 5™/×0Ñ0°Ó9ˆ�‰Ü
×Ñ˜f hÔ/ô ”I˜jÓ)×1Ñ1°$Ó7¸×?TÑ?TÔUˆÜ˜Ÿ
™
›Ó%ˆÜ˜4 XÔ.ˆÜ
×Ñ˜v rÕ*r9   Údate_formatÚepochÚisoÚ	as_objectÚdate_typc                 óè   —  |ddd¬«      t         j                  g}|r|j                  d«       t        ||¬«      }|j	                  |¬«      }|dk(  rd}nd	}|r|j                  d
d«      }||k(  sJ ‚y )Niä  r   )ÚyearÚmonthÚdayr   rL   ©r¿  rÀ  z+{"1577836800000":1577836800000,"null":null}zA{"2020-01-01T00:00:00.000":"2020-01-01T00:00:00.000","null":null}ú}ú	,"a":"a"})rV   r.  Úappendr   r'   Úreplace)rX   r¿  rÂ  rÃ  r[   rf   r,   r)   s           r-   Útest_date_index_and_valuesz.TestPandasContainer.test_date_index_and_valuesW  sƒ   € ñ ˜d¨!°Ô3´R·V±VÐ<ˆÙØ�K‰K˜Ôä�T Ô&ˆØ—‘¨�Ó5ˆà˜'Ò!ØD‰Hð Tð ñ Ø×'Ñ'¨¨[Ó9ˆHà˜Ò!Ð!Ñ!r9   Ú
infer_word)Ú
trade_timer%  ÚdatetimeÚsold_atr&  Ú	timestampÚ
timestampsc                 óà   — dd|diddig}t        dt        d«      gdt        j                  ggd|g¬«      }t	        t        t        |«      «      «      d|g   }t        j                  ||«       y )NÚidr   l    $äAÅr   z
2002-11-08r   )	r
   r   rV   r.  r   r   r   r#   r(   )rX   rÎ  r[   r)   r,   s        r-   Útest_convert_dates_inferz,TestPandasContainer.test_convert_dates_infern  sv   € ð �q˜* mÐ4°t¸Q°iÐ@ˆÜØ”˜<Ó(Ð)¨A¬r¯v©v¨;Ð7À$È
ÐASô
ˆô œ8¤K°Ó$5Ó6Ó7¸¸zÐ8JÑKˆÜ
×Ñ˜f hÕ/r9   zdate,date_unit))ú20130101 20:43:42.123N)ú20130101 20:43:42r„  )r×  Úms)z20130101 20:43:42.123456Úus)z20130101 20:43:42.123456789r$  c                 óæ  — |}t        |«      j                  d«      |d<   t        j                  |j                  d|j
                  j                  d«      f<   t        j                  |j                  d|j
                  j                  d«      f<   |r|j                  d|¬«      }n|j                  d¬«      }t        t        |«      «      }|j                  «       }t        j                  ||«       y )Nr$  r%  r   r@   rÁ  ©r¿  r¼  rÈ  )r   r,  rV   r.  r�   r   r-  r'   r   r   rw   r#   r(   )rX   r%  r¼  rq   rp   r(  r,   r)   s           r-   Útest_date_format_framez*TestPandasContainer.test_date_format_frame…  s»   € ð ˆä˜t“_×,Ñ,¨TÓ2ˆˆ6‰
Ü13·±ˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.Ü13·±ˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.ÙØ—:‘:¨%¸9�:ÓE‰Dà—:‘:¨%�:Ó0ˆDäœ8 D›>Ó*ˆØ—7‘7“9ˆÜ
×Ñ˜f hÕ/r9   c                 ó’   — |}d}t        j                  t        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nú*Invalid value 'foo' for option 'date_unit'r   rÁ  rC   rÜ  )r‚   rƒ   r&   r'   )rX   rq   rp   r+   s       r-   Útest_date_format_frame_raisesz1TestPandasContainer.test_date_format_frame_raisesž  s?   € ØˆØ:ˆÜ�]‰]œ:¨SÔ1ñ 	;Ø�J‰J 5°EˆJÔ:÷	;÷ 	;ñ 	;ús	    =½Ac                 óž  — t        t        |«      j                  d«      |j                  ¬«      }t        j
                  |j                  d<   t        j
                  |j                  d<   |r|j                  d|¬«      }n|j                  d¬«      }t        t        |«      d¬	«      }|j                  «       }t        j                  ||«       y )
Nr$  rL   r   r@   rÁ  rÜ  rÈ  r€  r®  )r   r   r,  rM   rV   r.  r�   r'   r   r   rw   r#   r‚  )rX   r%  r¼  rg   rc   r(  r,   r)   s           r-   Útest_date_format_seriesz+TestPandasContainer.test_date_format_series¤  s—   € ô ”I˜d“O×+Ñ+¨DÓ1¸×9NÑ9NÔOˆÜ—V‘Vˆ�‰�‰
Ü—V‘Vˆ�‰�‰
ÙØ—:‘:¨%¸9�:ÓE‰Dà—:‘:¨%�:Ó0ˆDäœ8 D›>¨xÔ8ˆØ—7‘7“9ˆÜ
×Ñ˜v xÕ0r9   c                 óÎ   — t        t        d«      |j                  ¬«      }d}t        j                  t
        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nr×  rL   rß  r   rÁ  rC   rÜ  )r   r   rM   r‚   rƒ   r&   r'   )rX   rg   rc   r+   s       r-   Útest_date_format_series_raisesz2TestPandasContainer.test_date_format_series_raises»  sR   € Ü”IÐ5Ó6¸o×>SÑ>SÔTˆØ:ˆÜ�]‰]œ:¨SÔ1ñ 	;Ø�J‰J 5°EˆJÔ:÷	;÷ 	;ñ 	;ús   ¾AÁA$Úunit)r„  rÙ  rÚ  r$  c                 óô  — |}t        d«      j                  d«      |d<   |j                  j                  d«      }t        d«      |j                  d|f<   t        d«      |j                  d|f<   t
        j                  |j                  d|f<   |j                  d	|¬
«      }t        t        |«      |¬«      }t        j                  ||«       t        t        |«      d ¬«      }t        j                  ||«       y )NrØ  r$  r%  z19710101 20:43:42r   z21460101 20:43:42r   ri   rÀ  rÜ  r»  )r   r,  r   r-  r�   rV   r.  r'   r   r   r#   r(   )rX   rå  rq   rp   Údlr(  r,   s          r-   Útest_date_unitz"TestPandasContainer.test_date_unitÁ  sÎ   € àˆÜÐ2Ó3×;Ñ;¸DÓAˆˆ6‰
Ø�Z‰Z×Ñ Ó'ˆÜ"Ð#6Ó7ˆ�‰��2�‰Ü"Ð#6Ó7ˆ�‰��2�‰ÜŸ™ˆ�‰��2�‰à�z‰z g¸ˆzÓ>ˆô œ8 D›>°TÔ:ˆÜ
×Ñ˜f bÔ)ô œ8 D›>°TÔ:ˆÜ
×Ñ˜f bÕ)r9   )r„  rÙ  rÚ  c           	      óª  — t        t        j                  d|«      gd|› d�¬«      }t        t	        t        j                  d|«      gd|› d�|¬«      t	        t        j                  d|«      gt
        |¬«      dœ«      }t        «       }|j                  |d|¬	«       |j                  d
«       t        j                  t        |ddg¬«      |dd¬«       y )Nz2023-01-01T11:22:33.123456zdatetime64[ú]rG   z2022-01-01T11:22:33.123456©rH   rM   )r%  Údate_objrÁ  rÜ  r   r%  rì  r½  F)r  Úcheck_dtype)r   rP   Ú
datetime64r
   r   ro   r   r'   Úseekr#   r(   r   )rX   rå  rM   rp   Úbufs        r-   Útest_iso_non_nano_datetimesz/TestPandasContainer.test_iso_non_nano_datetimesÔ  sÖ   € ô Ü�]‰]Ð7¸Ó>Ð?Ø ˜v QÐ'ô
ˆô äÜ—]‘]Ð#?ÀÓFÐGØ'¨ v¨QÐ/Øôô
 #Ü—]‘]Ð#?ÀÓFÐGÜ Øôñó
ˆô ‹jˆØ
�
‰
�3 E°Tˆ
Ô:Ø�‰�Œô
 	×ÑÜ�c¨&°*Ð)=Ô>ØØ"Øö		
r9   c                 ó0   — d}t        t        |«      «       y )Nad  {
        "status": "success",
        "data": {
        "posts": [
            {
            "id": 1,
            "title": "A blog post",
            "body": "Some useful content"
            },
            {
            "id": 2,
            "title": "Another blog post",
            "body": "More content"
            }
           ]
          }
        })r   r   )rX   r„  s     r-   Útest_weird_nested_jsonz*TestPandasContainer.test_weird_nested_jsonû  s   € ðˆô" 	”(˜1“+Õr9   c                 ó¤  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        d«      |d<   t        d«      |d<   d	|d
<   t        dd¬«      |_	        t        |j                  «       «      }t        |t        j                  t        j                  dœ¬«      }t        j                   ||«       y )Nr   )r@   r   ÚABr   rŠ   r%  r@   ÚintsTÚboolsra   )rö  r÷  rG   )r
   rP   rQ   rR   rS   rO   r   r5   r   rM   r   r'   r   rF   Úbool_r#   r(   )rX   Údfj2r(  r,   s       r-   Útest_doc_examplez$TestPandasContainer.test_doc_example  sœ   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆô ! Ó,ˆˆV‰Ü˜Q“xˆˆV‰ØˆˆW‰Ü 
°AÔ6ˆŒ
ä˜Ÿ™›Ó'ˆÜ˜4´·±Ä2Ç8Á8Ñ'LÔMˆÜ
×Ñ˜f fÕ-r9   c                 ó¬  —  |dddd«      }t        j                  |«      }|j                  «       }t        t	        |«      «      }|j                  |j                  |j                  ¬«      }d}t        j                  t        |¬«      5  |j                  t        j                  d¬	«      }d d d «       t        j                  ||«       y # 1 sw Y   Œ xY w)
Nr'  r(  r[   z	teams.csvrt   z.The 'downcast' keyword in fillna is deprecatedr   F)Údowncast)rV   Úread_csvr'   r   r   ÚreindexrM   r   r#   r$   r%   ÚfillnarP   rê   r(   )rX   r2  r0  rp   r„  r,   Úresr+   s           r-   Útest_round_trip_exceptionz-TestPandasContainer.test_round_trip_exception  s£   € á˜˜f f¨kÓ:ˆÜ�[‰[˜ÓˆØ�J‰J‹Lˆäœ8 A›;Ó'ˆØ�n‰n 2§8¡8°R·Z±ZˆnÓ@ˆØ>ˆÜ×'Ñ'¬¸SÔAñ 	5Ø—*‘*œRŸV™V¨e�*Ó4ˆC÷	5ä
×Ñ˜c 2Õ&÷	5ð 	5ús   Â	"C
Ã
Czfield,dtypeÚ
created_atÚUTC)ÚtzÚ	closed_atÚ
updated_atc                 ó‚   — d}|j                  |¬«       t        |j                  d¬«      }||   j                  |k(  sJ ‚y )Nzw{"created_at": ["2023-06-23T18:21:36Z"], "closed_at": ["2023-06-23T18:21:36"], "updated_at": ["2023-06-23T18:21:36Z"]}
)ÚcontentTr½  )Úserve_contentr   ÚurlrH   )rX   ÚfieldrH   Ú
httpserverr[   r,   s         r-   Útest_urlzTestPandasContainer.test_url*  sC   € ð JˆØ× Ñ ¨Ð Ô.Ü˜:Ÿ>™>¸Ô>ˆØ�e‰}×"Ñ" eÒ+Ð+Ñ+r9   c           	      óþ  — d„ }t        t        d«      t        d¬«      g«      }|j                  dk(  sJ ‚t        t	        |j                  «       «      d¬«      j                  |«      }t        j                  ||«       t        t        d«      t        d¬«      gt        dd	g«      ¬
«      }|j                  dk(  sJ ‚t        t	        |j                  «       «      d¬«      j                  |«      }t        j                  ||«       t        t        d«      t        d¬«      g«      }|d   j                  dk(  sJ ‚t        j                  |t        t	        |j                  «       «      «      j                  |«      «       y )Nc                 ó0   — t        j                  | d¬«      S )NrÙ  ©rå  )rV   Úto_timedelta)r|   s    r-   ú<lambda>z4TestPandasContainer.test_timedelta.<locals>.<lambda>;  s   € œbŸo™o¨a°dÔ;€ r9   é   r@   ©Úsecondsztimedelta64[ns]r€  r®  r   r   rL   )r   r   rH   r   r   r'   Úapplyr#   r‚  r   r
   r(   )rX   Ú	converterrf   r,   Úframes        r-   Útest_timedeltaz"TestPandasContainer.test_timedelta:  s(  € Ù;ˆ	ä”i “m¤Y°qÔ%9Ð:Ó;ˆØ�y‰yÐ-Ò-Ð-Ð-äœ8 C§K¡K£MÓ2¸ÔA×GÑGÈ	ÓRˆÜ
×Ñ˜v sÔ+ä”i “m¤Y°qÔ%9Ð:Ä%ÈÈAÈÃ-ÔPˆØ�y‰yÐ-Ò-Ð-Ð-Üœ8 C§K¡K£MÓ2¸ÔA×GÑGÈ	ÓRˆÜ
×Ñ˜v sÔ+äœ9 R›=¬)¸AÔ*>Ð?Ó@ˆØ�Q‰x�~‰~Ð!2Ò2Ð2Ð2Ü
×ÑØ”9œX e§m¡m£oÓ6Ó7×=Ñ=¸iÓHõ	
r9   c                 ól  — t        t        d¬«      t        d¬«      gddgt        dd¬«      d	œ«      }t        |j	                  d
¬«      «      }t        |«      }t        j                  |j                  d
¬«      |d<   t        j                  |j                  «      |d<   t        j                  ||«       y )Nr  ©Údaysr@   r  r   r   rŠ   )Ústartrb   ©r   r   rZ   r$  r»  r  r   rZ   )r
   r   r   r   r'   r   rV   r  r   Úto_datetimerZ   r#   r(   )rX   r  r[   r,   s       r-   Útest_timedelta2z#TestPandasContainer.test_timedelta2N  s’   € Üä RÔ(¬)¸AÔ*>Ð?Ø˜�VÜ j¸!Ô<ñó
ˆô ˜Ÿ™°˜Ó5Ó6ˆÜ˜4“ˆÜ—o‘o f§h¡h°TÔ:ˆˆs‰Ü—n‘n V§X¡XÓ.ˆˆs‰Ü
×Ñ˜e VÕ,r9   c                 ó†  — t        d«      }t        d«      }t        d||git        ¬«      }t        dt	        j
                  |«      j                  d«      j                  |j                  d«      j                  gi«      }t        |j                  d¬«      «      }t        |ddi¬«      }t        j                  ||d¬	«       y )
Nr  rŠ   r   rG   r$  r»  rF   Fr  )r   r   r
   ro   rV   Ú	Timedeltar,  Ú_valuer   r'   r   r#   r(   )rX   Útdrc   r  r)   r[   r,   s          r-   Útest_mixed_timedelta_datetimez1TestPandasContainer.test_mixed_timedelta_datetime\  s¢   € Ü�r‹]ˆÜ�zÓ"ˆÜ˜3  R ˜/´Ô8ˆäØ”2—<‘< Ó#×+Ñ+¨DÓ1×8Ñ8¸"¿*¹*ÀTÓ:J×:QÑ:QÐRÐSó
ˆô ˜Ÿ™°˜Ó5Ó6ˆÜ˜4¨¨W ~Ô6ˆÜ
×Ñ˜f hÀÖGr9   Útimedelta_typc                 óô   —  |d¬«       |d¬«      t         j                  g}|r|j                  d«       t        ||¬«      }|dk(  rd}nd}|r|j	                  d	d
«      }|j                  |¬«      }||k(  sJ ‚y )Nr   r  r   r   rL   rÁ  zA{"P1DT0H0M0S":"P1DT0H0M0S","P2DT0H0M0S":"P2DT0H0M0S","null":null}z7{"86400000":86400000,"172800000":172800000,"null":null}rÉ  rÊ  rÈ  )rV   r.  rË  r   rÌ  r'   )rX   rÂ  r¿  r&  r[   rf   r)   r,   s           r-   Útest_timedelta_to_jsonz*TestPandasContainer.test_timedelta_to_jsonh  s„   € ñ
  1Ô%¡}¸!Ô'<¼b¿f¹fÐEˆÙØ�K‰K˜Ôä�T Ô&ˆØ˜%ÒàSñ ð QˆHáØ×'Ñ'¨¨[Ó9ˆHà—‘¨�Ó5ˆØ˜Ò!Ð!Ñ!r9   c                 ó’   —  |d¬«      g}t        ||¬«      }|r|j                  t        «      }|j                  «       }d}||k(  sJ ‚y )Né*   )ÚmillisecondsrL   z	{"42":42})r   r’   ro   r'   )rX   rÂ  r&  r[   rf   r,   r)   s          r-   Ú+test_timedelta_to_json_fractional_precisionz?TestPandasContainer.test_timedelta_to_json_fractional_precision  sL   € ñ ¨2Ô.Ð/ˆÜ�T Ô&ˆÙØ—*‘*œVÓ$ˆCà—‘“ˆØˆØ˜Ò!Ð!Ñ!r9   c                 óæ   — t        «       }t        dd|gi«      }t        ddt        |«      gi«      }t        t	        |j                  t        ¬«      «      «      }t        j                  ||d¬«       y )Nr   é   rt  Fr  )ro   r
   r§   r   r   r'   r#   r(   )rX   rõ   r  r)   r,   s        r-   Útest_default_handlerz(TestPandasContainer.test_default_handler‹  s_   € Ü“ˆÜ˜3  E 
Ð+Ó,ˆÜ˜c A¤s¨5£z ?Ð3Ó4ˆÜœ8 E§M¡MÄ# MÓ$FÓGÓHˆÜ
×Ñ˜h¨ÀÖGr9   c           	      óŽ   — d„ }dt        ddt        dd«      gt        d«      d dgd	œd
dg¬«      g}d}t        ||d¬«      |k(  sJ ‚y )Nc                 ór   — t        | t        «      rdd| j                  fd| j                  fgS t	        | «      S )N)ÚmathjsÚComplexÚreÚim)Ú
isinstanceÚcomplexÚrealÚimagr§   )Úobjs    r-   ÚdefaultzBTestPandasContainer.test_default_handler_indirect.<locals>.default“  s4   € Ü˜#œwÔ'Ø-°°c·h±hÐ/?À$ÈÏÉÐAQÐRÐRÜ�s“8ˆOr9   é	   r   ÚSTRri   éûÿÿÿrê   zN/Ar±  r   r   r   zR[9,[[1,null],["STR",null],[[["mathjs","Complex"],["re",4.0],["im",-5.0]],"N\/A"]]]r1   ©ru  r7   )r
   r7  rµ   r   )rX   r;  Údf_listr)   s       r-   Útest_default_handler_indirectz1TestPandasContainer.test_default_handler_indirect’  sg   € ò	ð ÜØ˜%¤¨¨B£Ð0¼¸e»ÀdÈEÐ7RÑSØ˜c˜
ôð
ˆð1ð 	ô
 ˜°ÀÔJÈhÒVð	
ÙVr9   c           	      óª   — t        ddt        dd«      gt        d«      d t        dd«      gdœd	d
g¬«      }d}|j                  t        d¬«      |k(  sJ ‚y )Nr   gffffff@ri   r>  rê   g333333ó?r   r±  r   r   r   zE[["(1+0j)","(nan+0j)"],["(2.3+0j)","(nan+0j)"],["(4-5j)","(1.2+0j)"]]r1   r?  )r
   r7  rµ   r'   r§   )rX   rp   r)   s      r-   Ú,test_default_handler_numpy_unsupported_dtypez@TestPandasContainer.test_default_handler_numpy_unsupported_dtype§  sa   € äØ�cœ7 1 b›>Ð*´%¸³,ÀÄgÈcÐSTÃoÐ1VÑWØ˜#�Jô
ˆð
%ð 	ð
 �z‰z¬#°hˆzÓ?À8ÒKÐKÑKr9   c           
      óx  ‡— dŠˆfd„}t        j                  t        ‰¬«      5  t        dddt	        «       gi«      j                  |¬«       d d d «       t        j                  t        ‰¬«      5  t        dddt        dd	«      gi«      j                  |¬«       d d d «       y # 1 sw Y   ŒXxY w# 1 sw Y   y xY w)
NÚraisinc                 ó   •— t        ‰«      ‚rc  )Ú	TypeError)r:  r+   s    €r-   Úmy_handler_raiseszJTestPandasContainer.test_default_handler_raises.<locals>.my_handler_raises·  s   ø€ Ü˜C“.Ð r9   r   r   r   r   rt  ri   r>  )r‚   rƒ   rG  r
   ro   r'   r7  )rX   rH  r+   s     @r-   Útest_default_handler_raisesz/TestPandasContainer.test_default_handler_raises´  s²   ø€ Øˆô	!ô �]‰]œ9¨CÔ0ñ 	Ü�s˜Q ¤6£8Ð,Ð-Ó.×6Ñ6Ø 1ð 7ô ÷	ô �]‰]œ9¨CÔ0ñ 	Ü�s˜Q ¤7¨1¨b£>Ð2Ð3Ó4×<Ñ<Ø 1ð =ô ÷	ð 	÷		ð 	ú÷	ð 	ús   ¤)B$Á0+B0Â$B-Â0B9c                 ó  — t        dg d¢i«      }|d   |d<   |j                  «       }|d   j                  d«      |d<   ||j                  «       k(  sJ ‚|d   }|d   }|j                  «       |j                  «       k(  sJ ‚y )NrÉ   )r   r   rZ   r   r   r   r   rk   Úcategory)r
   r'   r’   )rX   rp   r)   r„  Úscs        r-   Útest_categoricalz$TestPandasContainer.test_categoricalÃ  s€   € ä˜Ò@ÐAÓBˆØ�S‘'ˆˆ3‰Ø—:‘:“<ˆà�S‘'—.‘. Ó,ˆˆ3‰Ø˜2Ÿ:™:›<Ò'Ð'Ð'àˆs‰GˆØ�‰WˆØ�y‰y‹{˜bŸj™j›lÒ*Ð*Ñ*r9   c                 óx  — t        ddd¬«      }|j                  d«      j                  d «      }t        |t        dd¬«      dœ«      }|j	                  «       }||d<   |j                  «       }||j                  «       k(  sJ ‚t        |«      }t        |«      }|j                  «       |j                  «       k(  sJ ‚y )	NrŠ   r‰   ú
US/Eastern©rb   r  Úutcra   rs  rÉ   )r   Ú
tz_convertÚtz_localizer
   rw   r'   r   )rX   Útz_rangeÚtz_naiverp   Údf_naiver)   ÚstzÚs_naives           r-   Útest_datetime_tzz$TestPandasContainer.test_datetime_tzÐ  s¦   € ä˜j°!¸ÔEˆØ×&Ñ& uÓ-×9Ñ9¸$Ó?ˆä˜X¬J°zÈ1Ô,MÑNÓOˆà—7‘7“9ˆØ ˆ�‰Ø×#Ñ#Ó%ˆØ˜2Ÿ:™:›<Ò'Ð'Ð'ä�XÓˆÜ˜Ó"ˆØ�{‰{‹} §¡Ó 1Ò1Ð1Ñ1r9   c                 ó,  — t        t        j                  j                  d«      j	                  d«      «      }t        j
                  |j                  d d |j                  d«      }|j                  «       }||j                  «       k(  sJ ‚t        t        j                  j                  d«      j	                  d«      «      }t        j
                  |j                  d d |j                  d«      }|j                  «       }||j                  «       k(  sJ ‚y )Nr   )r_   ri   é   ÚSparser_   )
r
   rP   rQ   rR   rS   rê   rî   r’   r'   r   )rX   rp   Úsdfr)   r„  Ússs         r-   Útest_sparsezTestPandasContainer.test_sparseà  sÊ   € ä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜ—V‘Vˆ�‰ˆr�ˆ
à�i‰i˜Ó!ˆØ—:‘:“<ˆØ˜3Ÿ;™;›=Ò(Ð(Ð(ä”2—9‘9×(Ñ(¨Ó+×;Ñ;¸BÓ?Ó@ˆÜ—F‘Fˆ�‰ˆbˆqˆ	Ø�X‰X�hÓˆà—9‘9“;ˆØ˜2Ÿ:™:›<Ò'Ð'Ñ'r9   rc   z2013-01-10 05:00:00Zz2013-01-10 00:00:00rO  z2013-01-10 00:00:00-0500c                 óp   — d}t        |d¬«      |k(  sJ ‚|j                  «       }t        |d¬«      |k(  sJ ‚y )Nz"2013-01-10T05:00:00.000Z"T©Ú	iso_dates)r   Úto_pydatetime©rX   rc   ÚexpÚdts       r-   Útest_tz_is_utcz"TestPandasContainer.test_tz_is_utcð  sA   € ð +ˆä˜2¨Ô.°#Ò5Ð5Ð5Ø×ÑÓˆÜ˜2¨Ô.°#Ò5Ð5Ñ5r9   c                 ó†   — t        d«      }d}t        |d¬«      |k(  sJ ‚|j                  «       }t        |d¬«      |k(  sJ ‚y )Nz2013-01-10 05:00:00z"2013-01-10T05:00:00.000"Tra  )r   r   rc  rd  s       r-   Útest_tz_is_naivez$TestPandasContainer.test_tz_is_naiveÿ  sJ   € ÜÐ,Ó-ˆØ)ˆä˜2¨Ô.°#Ò5Ð5Ð5Ø×ÑÓˆÜ˜2¨Ô.°#Ò5Ð5Ñ5r9   rT  z2013-01-01 05:00:00Zr   ra   z2013-01-01 00:00:00rP  z2013-01-01 00:00:00-0500c                 ó>  — d}d}t        |d¬«      |k(  sJ ‚t        |«      }t        |d¬«      |k(  sJ ‚t        |j                  t        «      d¬«      |k(  sJ ‚t	        d|i«      }t        |d¬«      }||k(  sJ ‚t        |j                  dt        i«      d¬«      sJ ‚y )Nz7["2013-01-01T05:00:00.000Z","2013-01-02T05:00:00.000Z"]zF{"DT":{"0":"2013-01-01T05:00:00.000Z","1":"2013-01-02T05:00:00.000Z"}}Tra  ÚDT)r   r   r’   ro   r
   )rX   rT  re  Údfexpr3  rp   r,   s          r-   Útest_tz_range_is_utcz(TestPandasContainer.test_tz_range_is_utc  s­   € ð Hˆð/ð 	ô ˜8¨tÔ4¸Ò;Ð;Ð;Ü˜HÓ%ˆô ˜3¨$Ô/°3Ò6Ð6Ð6Ü˜3Ÿ:™:¤fÓ-¸Ô>À#ÒEÐEÐEÜ˜˜c�{Ó#ˆÜ˜R¨4Ô0ˆØ˜ŠÐˆÜ˜2Ÿ9™9 d¬F ^Ó4ÀÕEÐEÑEr9   c                 ó  — t        dd¬«      }d}d}t        |d¬«      |k(  sJ ‚t        |j                  t        «      d¬«      |k(  sJ ‚t	        d|i«      }t        |d¬«      }||k(  sJ ‚t        |j                  dt        i«      d¬«      sJ ‚y )	Nz2013-01-01 05:00:00r   ra   z5["2013-01-01T05:00:00.000","2013-01-02T05:00:00.000"]zD{"DT":{"0":"2013-01-01T05:00:00.000","1":"2013-01-02T05:00:00.000"}}Tra  rk  )r   r   r’   ro   r
   )rX   r3  re  rl  rp   r,   s         r-   Útest_tz_range_is_naivez*TestPandasContainer.test_tz_range_is_naive"  s‘   € ÜÐ.¸Ô:ˆàEˆØVˆô ˜3¨$Ô/°3Ò6Ð6Ð6Ü˜3Ÿ:™:¤fÓ-¸Ô>À#ÒEÐEÐEÜ˜˜c�{Ó#ˆÜ˜R¨4Ô0ˆØ˜ŠÐˆÜ˜2Ÿ9™9 d¬F ^Ó4ÀÕEÐEÑEr9   c                 ó†   — t        t        d«      d¬«      }t        ddgddggddg¬«      }t        j                  ||«       y )	Nr!   Tr   r   r   r   r   r   ©r   r   r
   r#   r(   r}  s      r-   Útest_read_inline_jsonlz*TestPandasContainer.test_read_inline_jsonl1  sD   € ô œ8Ð$IÓJÐRVÔWˆÜ˜q !˜f q¨! fÐ-¸¸S°zÔBˆÜ
×Ñ˜f hÕ/r9   c                 ó’   — t        d|j                  › d�d|¬«      }t        ddgddggddg¬	«      }t        j                  ||«       y )
Nzs3n://z/items.jsonlT)r    Ústorage_optionsr   r   r   r   r   )r   rK   r
   r#   r(   )rX   Ús3_public_bucket_with_dataÚs3sor,   r)   s        r-   Útest_read_s3_jsonlz&TestPandasContainer.test_read_s3_jsonl8  sW   € ô
 ØÐ/×4Ñ4Ð5°\ÐBØØ ô
ˆô
 ˜q !˜f q¨! fÐ-¸¸S°zÔBˆÜ
×Ñ˜f hÕ/r9   c                 ó0  — t        j                  d«      5 }t        |dd¬«      5 }|j                  d«       d d d «       t	        |d¬«      }t        dd	gdd	ggd
dg¬«      }t        j                  ||«       d d d «       y # 1 sw Y   ŒJxY w# 1 sw Y   y xY w)Nztmp_items.jsonÚwzutf-8©Úencodingr!   Tr   r   r   r   r   r   )r#   rµ  ÚopenÚwriter   r
   r(   )rX   r0  Úinfiler,   r)   s        r-   Útest_read_local_jsonlz)TestPandasContainer.test_read_local_jsonlE  s˜   € ä�_‰_Ð-Ó.ð 	4°$Ü�d˜C¨'Ô2ð D°fØ—‘ÐBÔC÷Dä˜t¨4Ô0ˆFÜ  1 a &¨1¨a¨&Ð!1¸CÀ¸:ÔFˆHÜ×!Ñ! &¨(Ô3÷	4ð 	4÷Dð Dú÷	4ð 	4ús"   –B¥B ·A BÂ B		ÂBÂBc                 ó  — d}t        |«      }t        |d¬«      }t        ddgddggddg¬	«      }t        j                  ||«       t        d«      }t        |d¬«      }t        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â€�rA   rC   r   r   r   )r   r   r
   r#   r(   ©rX   r(  r,   r)   s       r-   Útest_read_jsonl_unicode_charsz1TestPandasContainer.test_read_jsonl_unicode_charsN  s–   € ð
 IˆÜ˜‹~ˆÜ˜4 tÔ,ˆÜ˜{¨EÐ2°U¸E°NÐCÈcÐSVÈZÔXˆÜ
×Ñ˜f hÔ/ô ÐQÓRˆÜ˜4 tÔ,ˆÜ˜{¨EÐ2°U¸E°NÐCÈcÐSVÈZÔXˆÜ
×Ñ˜f hÕ/r9   ÚbigNumc                 óô   — t        |t        dg¬«      }|j                  «       }dt        |«      z   dz   }||k(  sJ ‚t	        |t        dgdg¬«      }|j                  «       }dt        |«      z   dz   }||k(  sJ ‚y )	NÚ	articleIdrë  ú{"articleId":rÉ  r   ©rH   rM   r   ú{"0":{"articleId":ró   )r   ro   r'   r§   r
   )rX   rƒ  r€  r(  r)   rp   s         r-   Útest_to_json_large_numbersz.TestPandasContainer.test_to_json_large_numbers_  s�   € ô ˜¤f°[°MÔBˆØ�~‰~ÓˆØ"¤S¨£[Ñ0°3Ñ6ˆØ�xÒÐÐä�v¤V°K°=È1È#ÔNˆØ�z‰z‹|ˆØ'¬#¨f«+Ñ5¸Ñ<ˆØ�xÒÐÑr9   lûÿÿÿ        l            c                 ó\  — t        dt        |«      z   dz   «      }d}t        j                  t        |¬«      5  t        |«       d d d «       t        dt        |«      z   dz   «      }t        j                  t        |¬«      5  t        |«       d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)Nr†  rÉ  z#Value is too small|Value is too bigr   rˆ  ró   )r   r§   r‚   rƒ   r&   r   )rX   rƒ  r(  r+   s       r-   Útest_read_json_large_numbersz0TestPandasContainer.test_read_json_large_numbersl  s•   € ô ˜¬#¨f«+Ñ5¸Ñ;Ó<ˆØ4ˆÜ�]‰]œ:¨SÔ1ñ 	Ü�dŒO÷	ô Ð,¬s°6«{Ñ:¸TÑAÓBˆÜ�]‰]œ:¨SÔ1ñ 	Ü�dŒO÷	ð 	÷		ð 	ú÷	ð 	ús   ¸BÂB"ÂBÂ"B+c                 óü   — d}t        |«      }t        |d¬«      }t        ddg¬«      }t        j                  ||«       d}t        |«      }t        |«      }t        ddgdg¬	«      }t        j                  ||«       y )
Nz'{"articleId": "1404366058080022500245"}r€  r®  gg“_SDr…  rL   z.{"0": {"articleId": "1404366058080022500245"}}r   rt   )r   r   r   r#   r‚  r
   r(   r�  s       r-   Útest_read_json_large_numbers2z1TestPandasContainer.test_read_json_large_numbers2x  ss   € à8ˆÜ˜‹~ˆÜ˜4 XÔ.ˆÜ˜+¨k¨]Ô;ˆÜ
×Ñ˜v xÔ0à?ˆÜ˜‹~ˆÜ˜4“ˆÜ˜[°°ÈÀsÔKˆÜ
×Ñ˜f hÕ/r9   c                 óÒ  — t        ddgddggddg¬«      }|j                  dd¬«      }d	}||k(  sJ ‚t        d
dgddggddg¬«      }|j                  dd¬«      }d}||k(  sJ ‚t        j                  t	        t        |«      d¬«      |«       t        ddgddggddg¬«      }|j                  dd¬«      }d}||k(  sJ ‚t        j                  t	        t        |«      d¬«      |«       y )Nr   r   r   r   r   r0   T©r7   r    z{"a":1,"b":2}
{"a":1,"b":2}
zfoo}rA   zfoo"z/{"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}
r   zfoo\za\r"   )r
   r'   r#   r(   r   r   r  s       r-   Útest_to_jsonlz!TestPandasContainer.test_to_jsonl†  s  € ä˜˜A˜  A Ð'°#°s°Ô<ˆØ—‘ 9°D�Ó9ˆØ3ˆØ˜Ò!Ð!Ð!ä˜ ˜¨&°%¨Ð9ÀCÈÀ:ÔNˆØ—‘ 9°D�Ó9ˆØGˆØ˜Ò!Ð!Ð!Ü
×Ñœi¬°Ó(8ÀÔEÀrÔJô ˜ %Ð(¨6°5¨/Ð:ÀUÈCÀLÔQˆØ—‘ 9°D�Ó9ˆØRˆØ˜Ò!Ð!Ð!ä
×Ñœi¬°Ó(8ÀÔEÀrÕJr9   z%GH#13774 encoding kwarg not supportedÚval)ó   EÉ, 17r9   ó   aó   bó   c)r’  r“  r”  r•  )s   EE, 17r9   r“  r”  r•  )r’  ó   øür“  r”  r•  )r9   r“  r”  r•  )r–  r“  r”  r•  )ó   Aøür9   r“  r”  r•  r9   r”  r•  r—  rK  c           	      ó`  — t        |D �cg c]%  }t        |t        «      r|j                  d«      n|‘Œ' c}|¬«      }d}t	        j
                  d«      5 }|j                  ||¬«       t        t        |«      |¬«      }t	        j                  ||d¬«       d d d «       y c c}w # 1 sw Y   y xY w)Nzlatin-1rG   r´  rz  F)Úcheck_categorical)
r   r6  re  Údecoder#   rµ  r'   r   r   r‚  )rX   rH   r‘  r|   rf   r{  r0  Úretrs           r-   Útest_latin_encodingz'TestPandasContainer.test_latin_encodingœ  s¢   € ô$ ØILÖMÀA¤J¨q´%Ô$8ˆQ�X‰X�iÔ ¸aÑ?ÒMØô
ˆð ˆÜ�_‰_˜[Ó)ð 	G¨TØ�K‰K˜ xˆKÔ0ÜœX d›^°hÔ?ˆDÜ×"Ñ" 3¨ÀÕF÷	Gð 	Gùò	 N÷	Gð 	Gús   Š*BÁAB$Â$B-c                 óä   — t        dt        d«      gi«      }|j                  dd¬«      j                  «       }|j	                  «        |j                  dd¬«      j                  «       }||k(  sJ ‚y )Nr   r   T)rM   Údeep)r
   r§   Úmemory_usageÚsumr'   )rX   rp   Úsize_beforeÚ
size_afters       r-   Ú"test_data_frame_size_after_to_jsonz6TestPandasContainer.test_data_frame_size_after_to_json¸  sc   € ä˜œc !›f˜X�Ó'ˆà—o‘o¨D°t�oÓ<×@Ñ@ÓBˆØ
�
‰
ŒØ—_‘_¨4°d�_Ó;×?Ñ?ÓAˆ
à˜jÒ(Ð(Ñ(r9   r¿   rÀ   rà   rá   ú1.ú2.c                 ó¨   — t        ddgddgg||¬«      }|j                  d¬«      }t        t        |«      d¬«      }t	        j
                  ||«       y )Nr   r   r‰   ri   rt   Útableru   ©r
   r'   r   r   r#   r(   )rX   rM   r   r)   Údfjsonr,   s         r-   Ú.test_from_json_to_json_table_index_and_columnszBTestPandasContainer.test_from_json_to_json_table_index_and_columnsÂ  sS   € ô ˜q !˜f q¨! fÐ-°UÀGÔLˆØ×!Ñ!¨Ð!Ó1ˆäœ8 FÓ+°GÔ<ˆÜ
×Ñ˜f hÕ/r9   c                 óª   — t        ddgddgddgdœ«      }|j                  d¬	«      }t        t        |«      d¬	«      }t	        j
                  ||«       y )
Nr   r   rÁ   rÂ   rã   rä   r  r§  ru   r¨  )rX   r)   r©  r,   s       r-   Ú#test_from_json_to_json_table_dtypesz7TestPandasContainer.test_from_json_to_json_table_dtypesÎ  sS   € ä A q 6°°c°
À#ÀsÀÑLÓMˆØ×!Ñ!¨Ð!Ó1ˆÜœ8 FÓ+°GÔ<ˆÜ
×Ñ˜f hÕ/r9   zincorrect na conversion)rz   r0   rM   r   c                 ód  — t        j                  t        g d¢d¬«      t        g d¢d¬«      t        g d¢d¬«      t        g d¢d	¬«      t        g d
¢d¬«      t        g d¢d¬«      dœ«      }|j                  |¬«      }t	        t        |«      |dddd	dddœ¬«      }t        j                  ||«       y )Nrü   rF   rG   )NrÀ   rÁ   rd   )NÚ rZ   ro   ©TFTÚbool©r   r   NrK  )r`   Nz
2020-01-03rŽ   )ÚIntegerÚFloatÚObjectÚBoolÚCategoryÚDatetimeru   ©r7   rH   )r
   Ú	from_dictr   r'   r   r   r#   r(   )rX   r7   r)   r©  r,   s        r-   Ú%test_to_json_from_json_columns_dtypesz9TestPandasContainer.test_to_json_from_json_columns_dtypes×  s¯   € ô ×&Ñ&ä!¢)°7Ô;ÜÒ 0¸	ÔBÜ ¢¸ÔAÜÒ2¸&ÔAÜ"Ò#3¸:ÔFÜ"Ú6Ð>Nôñ	ó
ˆð ×!Ñ!¨Ð!Ó0ˆäÜ�VÓØà"Ø"Ø"ØØ&Ø,ñô
ˆô 	×Ñ˜f hÕ/r9   )r   rZ   c                 óÒ   — t        ddgddgddgdœ«      }|j                  d¬	«      }d
}t        j                  t        |¬«      5  t        |d|¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rÁ   rÂ   rã   rä   r  r§  ru   z)cannot pass both dtype and orient='table'r   r¸  ©r
   r'   r‚   rƒ   r&   r   )rX   rH   rp   r©  r+   s        r-   Ú!test_read_json_table_dtype_raisesz5TestPandasContainer.test_read_json_table_dtype_raises÷  se   € ô ˜a ˜V¨3°¨*¸CÀ¸:ÑFÓGˆØ—‘ 7�Ó+ˆØ9ˆÜ�]‰]œ:¨SÔ1ñ 	;Ü�f W°EÕ:÷	;÷ 	;ñ 	;ús   ÁAÁA&)rM   r   r0   r1   c                 óî   — t        «       }t        t        d«      |d¬«      }t        j                  |j
                  |j
                  «       t        j                  |j                  |j                  «       y )Nz{}Tr¬   )r
   r   r   r#   Úassert_index_equalrM   r   )rX   r7   r)   r,   s       r-   Ú%test_read_json_table_empty_axes_dtypez9TestPandasContainer.test_read_json_table_empty_axes_dtype   sO   € ô “;ˆÜœ8 D›>°&ÀtÔLˆÜ
×Ñ˜fŸl™l¨H¯N©NÔ;Ü
×Ñ˜fŸn™n¨h×.>Ñ.>Õ?r9   c                 óØ   — t        ddgddggddgddg¬	«      }|j                  d
¬«      }d}t        j                  t        |¬«      5  t        |d
d¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   r‰   ri   r¿   rÀ   r¤  r¥  rt   r§  ru   z0cannot pass both convert_axes and orient='table'r   Tr¬   r¼  )rX   rp   r©  r+   s       r-   Ú(test_read_json_table_convert_axes_raisesz<TestPandasContainer.test_read_json_table_convert_axes_raises	  sm   € ä˜˜A˜  A Ð'°°S¨zÀDÈ$À<ÔPˆØ—‘ 7�Ó+ˆØ@ˆÜ�]‰]œ:¨SÔ1ñ 	AÜ�f W¸4Õ@÷	A÷ 	Añ 	Aús   ÁA Á A)zdata, expectedri   r@   r   )r   r[   rC   rn   rü   rÉ   rJ   )rK   r[   )rK   rM   c                 ób   — |j                  dd¬«      }t        j                  |«      }||k(  sJ ‚y )Nrz   F©r7   rM   )r'   r(  Úloads©rX   r[   r)   r,   s       r-   Útest_index_false_to_json_splitz2TestPandasContainer.test_index_false_to_json_split  s3   € ð@ —‘ W°E�Ó:ˆÜ—‘˜FÓ#ˆà˜Ò!Ð!Ñ!r9   c                 óð   — |j                  dd¬«      }t        j                  |«      }t        j                  j                  j                  |d¬«      t        |«      j                  d¬«      dœ}||k(  sJ ‚y )Nr§  FrÄ  rL   r0   ru   )Úschemar[   )r'   r(  rÅ  rV   r'  Úbuild_table_schemar
   Úto_dict©rX   r[   r,   r)   s       r-   Útest_index_false_to_json_tablez2TestPandasContainer.test_index_false_to_json_table6  sm   € ð& —‘ W°E�Ó:ˆÜ—‘˜FÓ#ˆô —e‘e—j‘j×3Ñ3°DÀÐ3ÓFÜ˜d“O×+Ñ+°9Ð+Ó=ñ
ˆð
 ˜Ò!Ð!Ñ!r9   c                 ó¸   — t        ddgddggddg¬«      }d}t        j                  t        |¬	«      5  |j	                  |d
¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   ri   r@   r   r   r   zU'index=False' is only valid when 'orient' is 'split', 'table', 'records', or 'values'r   FrÄ  r�   r„   s       r-   Útest_index_false_error_to_jsonz2TestPandasContainer.test_index_false_error_to_jsonS  s`   € ô
 ˜˜A˜  A Ð'°#°s°Ô<ˆð.ð 	ô �]‰]œ:¨SÔ1ñ 	3Ø�J‰J˜f¨EˆJÔ2÷	3÷ 	3ñ 	3úó   ³AÁAr0   c                 ó¸   — t        ddgddggddg¬«      }d}t        j                  t        |¬	«      5  |j	                  |d
¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   ri   r@   r   r   r   zS'index=True' is only valid when 'orient' is 'split', 'table', 'index', or 'columns'r   TrÄ  r�   r„   s       r-   Útest_index_true_error_to_jsonz1TestPandasContainer.test_index_true_error_to_jsona  s`   € ô
 ˜˜A˜  A Ð'°#°s°Ô<ˆð-ð 	ô �]‰]œ:¨SÔ1ñ 	2Ø�J‰J˜f¨DˆJÔ1÷	2÷ 	2ñ 	2úrÐ  r§  c                 ó¦   — t        ddgddgdœ«      }|j                  ||¬«      }t        t        |«      |¬«      }t	        j
                  ||«       y )Nr   r   r‰   ri   r±  rÄ  ru   r¨  )rX   r7   rM   r)   r©  r,   s         r-   Ú"test_index_false_from_json_to_jsonz6TestPandasContainer.test_index_false_from_json_to_jsono  sQ   € ô
  A q 6°°A°Ñ7Ó8ˆØ×!Ñ!¨°uÐ!Ó=ˆÜœ8 FÓ+°FÔ;ˆÜ
×Ñ˜f hÕ/r9   c                 ó–   — t        t        d«      dd¬«      }t        dgd¬«      }t        dg|¬	«      }t	        j
                  ||«       y )
Nz{"2019-01-01T11:00:00.000Z":88}r€  rM   r‹  z2019-01-01 11:00:00zM8[ns, UTC]rG   éX   rL   )r   r   r   r   r#   r‚  )rX   r,   Úexp_dtir)   s       r-   Útest_read_timezone_informationz2TestPandasContainer.test_read_timezone_informationy  sI   € äÜÐ6Ó7¸XÈgô
ˆô  Ð!6Ð 7¸}ÔMˆÜ˜2˜$ gÔ.ˆÜ
×Ñ˜v xÕ0r9   r
  )zs3://example-fsspec/zgcs://another-fsspec/file.jsonzhttps://example-site.com/datazsome-protocol://data.txtc                 ó|   — t        t        d|› d�«      «      }t        d|gi«      }t        j                  ||«       y )Nz{"url":{"0":"rr  r
  rq  )rX   r
  r,   r)   s       r-   Útest_read_json_with_url_valuez1TestPandasContainer.test_read_json_with_url_value‚  s<   € ô œ8 o°c°U¸%Ð$@ÓAÓBˆÜ˜e c U˜^Ó,ˆÜ
×Ñ˜f hÕ/r9   Úcompression)r®  z.gzz.bz2z.tarc                 ó�   — d› d|› �}t        j                  t        d|› d�¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)NÁè  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz.jsonzFile z does not existr   )r‚   rƒ   ÚFileNotFoundErrorr   )rX   rÛ  Úlong_json_paths      r-   Ú'test_read_json_with_very_long_file_pathz;TestPandasContainer.test_read_json_with_very_long_file_path‘  sN   € ð '˜< u¨[¨MÐ:ˆÜ�]‰]Ü u¨^Ð,<¸OÐ%Lô
ñ 	&ô
 �nÔ%÷	&÷ 	&ñ 	&ús	   §<¼Azdate_format,key)rÀ  i \&)rÁ  Ú
P1DT0H0M0Sc                 óˆ   — t        dggt        j                  d«      g¬«      }d|› d�}|j                  |¬«      }||k(  sJ ‚y )Nr   Ú1Dr   r|  z
":{"0":1}}rÈ  )r
   rV   r"  r'   )rX   r¿  Úkeyrp   r)   r,   s         r-   Útest_timedelta_as_labelz+TestPandasContainer.test_timedelta_as_labelŸ  sL   € ô ˜˜�u¤r§|¡|°DÓ'9Ð&:Ô;ˆØ˜˜˜]Ð+ˆØ—‘¨�Ó4ˆà˜Ò!Ð!Ñ!r9   zorient,expected)rM   z{"('a', 'b')":{"('c', 'd')":1}})r   z{"('c', 'd')":{"('a', 'b')":1}}r®  z,Produces JSON but not in a consistent manner)Úmarksc                 óZ   — t        dggdgdg¬«      }|j                  |¬«      }||k(  sJ ‚y )Nr   r±  )rZ   rs   rt   ru   rô   ©rX   r7   r)   rp   r,   s        r-   Útest_tuple_labelsz%TestPandasContainer.test_tuple_labels©  s8   € ô0 ˜˜�u Z L¸:¸,ÔGˆØ—‘ 6�Ó*ˆØ˜Ò!Ð!Ñ!r9   Úindent)r   r   ri   c                 ó°   — t        ddgddggddg¬«      }|j                  |¬«      }d	|z  }d
|› d|› |› d|› |› d|› d|› d|› |› d|› |› d|› d�}||k(  sJ ‚y )NrC   rA   rB   r  r   r   r   ©rê  ú z{
z"a":{
z"0":"foo",
z
"1":"baz"
z},
z"b":{
z"0":"bar",
z
"1":"qux"
z}
}rô   )rX   rê  rp   r,   Úspacesr)   s         r-   Útest_to_json_indentz'TestPandasContainer.test_to_json_indentÅ  s¶   € ô ˜ ˜¨°¨Ð7À#ÀsÀÔLˆà—‘ 6�Ó*ˆØ�v‘ˆðØ€ð 	Ø€ˆˆð Ø€ˆˆð Ø€ð 	Ø€ð 	Ø€ˆˆð Ø€ˆˆð Ø€ð 	ð	ˆð ˜Ò!Ð!Ñ!r9   z]Adjust expected when infer_string is default, no bug here, just a complicated parametrization))rz   zã{
    "columns":[
        "a",
        "b"
    ],
    "index":[
        0,
        1
    ],
    "data":[
        [
            "foo",
            "bar"
        ],
        [
            "baz",
            "qux"
        ]
    ]
})r0   zf[
    {
        "a":"foo",
        "b":"bar"
    },
    {
        "a":"baz",
        "b":"qux"
    }
])rM   zn{
    "0":{
        "a":"foo",
        "b":"bar"
    },
    "1":{
        "a":"baz",
        "b":"qux"
    }
})r   zn{
    "a":{
        "0":"foo",
        "1":"baz"
    },
    "b":{
        "0":"bar",
        "1":"qux"
    }
})r1   zV[
    [
        "foo",
        "bar"
    ],
    [
        "baz",
        "qux"
    ]
])r§  aa  {
    "schema":{
        "fields":[
            {
                "name":"index",
                "type":"integer"
            },
            {
                "name":"a",
                "type":"string"
            },
            {
                "name":"b",
                "type":"string"
            }
        ],
        "primaryKey":[
            "index"
        ],
        "pandas_version":"1.4.0"
    },
    "data":[
        {
            "index":0,
            "a":"foo",
            "b":"bar"
        },
        {
            "index":1,
            "a":"baz",
            "b":"qux"
        }
    ]
}c                 ób   — t        ddgddggddg¬«      }|j                  |d¬	«      }||k(  sJ ‚y )
NrC   rA   rB   r  r   r   r   ri   )r7   rê  rô   rè  s        r-   Útest_json_indent_all_orientsz0TestPandasContainer.test_json_indent_all_orientsÙ  sB   € ôx ˜ ˜¨°¨Ð7À#ÀsÀÔLˆØ—‘ 6°!�Ó4ˆØ˜Ò!Ð!Ñ!r9   c                 ó˜   — t        j                  t        d¬«      5  t        «       j	                  d¬«       d d d «       y # 1 sw Y   y xY w)Nzmust be a nonnegative integerr   éÿÿÿÿrì  )r‚   rƒ   r&   r
   r'   rj  s    r-   Ú test_json_negative_indent_raisesz4TestPandasContainer.test_json_negative_indent_raisesY  s9   € Ü�]‰]œ:Ð-LÔMñ 	+Ü‹K×Ñ rÐÔ*÷	+÷ 	+ñ 	+ús   œA Á A	c           	      óº   — t        d«      }t        |«      }t        dd dt        j                  dt        j                   dg«      }t        j                  ||«       y )Nz?["a", NaN, "NaN", Infinity, "Infinity", -Infinity, "-Infinity"]r   ÚNaNÚInfinityz	-Infinity)r   r   r
   rP   rì   r#   r(   rÌ  s       r-   Útest_emca_262_nan_inf_supportz1TestPandasContainer.test_emca_262_nan_inf_support]  sR   € äØMó
ˆô ˜4“ˆÜØ�$˜œrŸv™v z´B·F±F°7¸KÐHó
ˆô 	×Ñ˜f hÕ/r9   c                 ó¬   — t        j                  ddiddig«      }t        dddgi«      }t        t	        |«      «      }t        j                  ||«       y )NÚcolÚ31900441201190696999ÚText)r(  Údumpsr
   r   r   r#   r(   )rX   Úencoded_jsonr)   r,   s       r-   Útest_frame_int_overflowz+TestPandasContainer.test_frame_int_overflowh  sS   € ä—z‘z EÐ+AÐ#BÀUÈFÀOÐ"TÓUˆÜ˜eÐ&<¸fÐ%EÐFÓGˆÜœ8 LÓ1Ó2ˆÜ
×Ñ˜f hÕ/r9   zdataframe,expectedr  ©r|   r}   zU{"(0, 'x')":1,"(0, 'y')":"a","(1, 'x')":2,"(1, 'y')":"b","(2, 'x')":3,"(2, 'y')":"c"}c                 óZ   — |j                  d¬«      }|j                  d¬«      }||k(  sJ ‚y )NT©Úfuture_stackrM   ru   )Ústackr'   )rX   Ú	dataframer)   r€  r,   s        r-   Útest_json_multiindexz(TestPandasContainer.test_json_multiindexo  s2   € ð —‘¨d�Ó3ˆØ—‘ w�Ó/ˆØ˜Ò!Ð!Ñ!r9   c                 ó  — |j                   d}}t        g d¢g d¢dœ«      }|j                  d|› d|› �|¬«       d}	 |d	„ |j                  j	                  «       D «       v ry t        j                  d
«       |d
z  }|dkD  sJ d«       ‚ŒK)Nr´  rü   )r   ri   rÞ   r   zs3://ú/)rt  r@   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrc  )rä  )Ú.0r:  s     r-   ú	<genexpr>z1TestPandasContainer.test_to_s3.<locals>.<genexpr>†  s   è ø€ ÒQ¨3˜sŸw�wÑQùs   ‚r  r   z,Timed out waiting for file to appear on moto)rK   r
   r'   ÚobjectsÚallÚtimeÚsleep)rX   Ús3_public_bucketrv  Úmock_bucket_nameÚtarget_filerp   Útimeouts          r-   Ú
test_to_s3zTestPandasContainer.test_to_s3~  s–   € ð )9×(=Ñ(=¸{˜+ÐÜšYªYÑ7Ó8ˆØ
�
‰
�UÐ+Ð,¨A¨k¨]Ð;ÈTˆ
ÔRØˆØØÑQÐ2B×2JÑ2J×2NÑ2NÓ2PÔQÑQØÜ�J‰J�sŒOØ�s‰NˆGØ˜Q’;ÐNÐ NÓN�;ð r9   c                 óÊ   — t        |t        «      r1t        j                  j	                  d¬«      }|j                  |«       t        |gg«      j                  «       }|dk(  sJ ‚y )Nznot implementedrª   z{"0":{"0":null}})r6  r   r‚   r¯   r°   r®   r
   r'   )rX   Únulls_fixturer±   r¯   r,   s        r-   Útest_json_pandas_nullsz*TestPandasContainer.test_json_pandas_nullsŒ  sY   € ä�m¤WÔ-Ü—;‘;×$Ñ$Ð,=Ð$Ó>ˆDØ×Ñ Ô%ä˜]˜OÐ,Ó-×5Ñ5Ó7ˆØÐ+Ò+Ð+Ñ+r9   c                 óv   — t        t        d«      d¬«      }t        g d¢«      }t        j                  ||«       y )Nz[true, true, false]r€  r®  )TTF)r   r   r   r#   r‚  r}  s      r-   Útest_readjson_bool_seriesz-TestPandasContainer.test_readjson_bool_series•  s/   € äœ8Ð$9Ó:ÀÔIˆÜÒ-Ó.ˆÜ
×Ñ˜v xÕ0r9   c                 óŠ   — t        dt        dd«      ddg¬«      j                  d¬«      }|j                  «       }d}||k(  sJ ‚y )	NTz
2017-01-20z
2017-01-23rC   rA   rt   r  a‰  {"(Timestamp('2017-01-20 00:00:00'), 'foo')":true,"(Timestamp('2017-01-20 00:00:00'), 'bar')":true,"(Timestamp('2017-01-21 00:00:00'), 'foo')":true,"(Timestamp('2017-01-21 00:00:00'), 'bar')":true,"(Timestamp('2017-01-22 00:00:00'), 'foo')":true,"(Timestamp('2017-01-22 00:00:00'), 'bar')":true,"(Timestamp('2017-01-23 00:00:00'), 'foo')":true,"(Timestamp('2017-01-23 00:00:00'), 'bar')":true})r
   r   r  r'   r  s       r-   Útest_to_json_multiindex_escapez2TestPandasContainer.test_to_json_multiindex_escape›  sY   € äØÜ˜\¨<Ó8Ø˜E�Nô
÷ ‰%˜Tˆ%Ó
"ð	 	ð
 —‘“ˆðBð 	ð ˜Ò!Ð!Ñ!r9   c                 ó    —  G d„ d«      }t         |dddd¬«      g«      }t        j                  |j                  «       «      ddddd	œik(  sJ ‚y )
Nc                   ó   — e Zd Zdd„Zd„ Zy)úGTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObjectNc                 ó<   — || _         || _        || _        || _        y rc  ©r   r   Ú_crs   )rX   r   r   r!  rs   s        r-   rh  zPTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.__init__±  s   € Ø�”Ø�”Ø�”Ø�•r9   c                  ó   — y)Nr@   rÍ   rj  s    r-   r½   zITestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.e·  s   € Ør9   rl  )rm  rn  ro  rh  r½   rÍ   r9   r-   Ú_TestObjectr  °  s   „ óór9   r#  r   r   r‰   ri   r   Ú0)r   r   rs   )r   r(  rÅ  r'   )rX   r#  r€  s      r-   Útest_to_json_series_of_objectsz2TestPandasContainer.test_to_json_series_of_objects¯  sP   € ÷	ñ 	ô ™ q¨A°!°qÔ9Ð:Ó;ˆÜ�z‰z˜&Ÿ.™.Ó*Ó+°¸1À1È1Ñ5MÐ/NÒNÐNÑNr9   zdata,expectedy      À       @y              ð?y      "@      À)r   r   r   zW{"0":{"imag":8.0,"real":-6.0},"1":{"imag":1.0,"real":0.0},"2":{"imag":-5.0,"real":9.0}}yHáz®Ç"À…ëQ¸å?yš™™™™™@¤p=
×£"@y…ëQ¸@Ãõ(\�ÂÅ¿z]{"0":{"imag":0.66,"real":-9.39},"1":{"imag":9.32,"real":3.95},"2":{"imag":-0.17,"real":4.03}}y       À      @y      ð¿        y      @      Ày              $Àz‚{"0":{"0":{"imag":3.0,"real":-2.0},"1":{"imag":-3.0,"real":4.0}},"1":{"0":{"imag":0.0,"real":-1.0},"1":{"imag":-10.0,"real":0.0}}}yìQ¸…ëÑ¿Ãõ(\�ÂÕ?yHáz®Gñ¿ö(\�ÂõØ¿y=
×£p=Ú?Ãõ(\�ÂÕ¿yö(\�Âõè¿š™™™™™õ¿z‹{"0":{"0":{"imag":0.34,"real":-0.28},"1":{"imag":-0.34,"real":0.41}},"1":{"0":{"imag":-0.39,"real":-1.08},"1":{"imag":-1.35,"real":-0.78}}}c                 ó2   — |j                  «       }||k(  sJ ‚y rc  r—   rÆ  s       r-   Útest_complex_data_tojsonz,TestPandasContainer.test_complex_data_tojson¾  s   € ðF —‘“ˆØ˜Ò!Ð!Ñ!r9   c                 óZ   — d}t        dddgi¬«      }|j                  d¬«      }||k(  sJ ‚y )NzY{"columns":["col1"],"index":[0,1],"data":[[13342205958987758245],[12388075603347835679]]}Úcol1l   ¥:!c„&HI l   v8�$Z_
 )r[   rz   ru   rô   )rX   r)   rp   r,   s       r-   Útest_json_uint64z$TestPandasContainer.test_json_uint64ä  sC   € ðFð 	ô ˜VÐ&:Ð<PÐ%QÐRÔSˆØ—‘ 7�Ó+ˆØ˜Ò!Ð!Ñ!r9   )rz   r0   r1   rM   r   c                 ó$  — t        j                  d«      }t        t        dt        j
                  dgd¬«      t        g d¢d¬«      t        dt        j
                  dgd	¬«      t        g d
¢d	¬«      g d¢g d¢g d¢g d¢dœ«      }|r9t        |j                  g d¢«      «      }t        |j                  g d¢«      «      }nö|dk(  rft        t	        j                  g d¢t        j                  ¬«      «      }t        t	        j                  ddt        gt        j                  ¬«      «      }n‹|dk(  rNt        j                  d«      }ddlm}	  |	|j                  g d¢«      «      } |	|j                  g d¢«      «      }n8t        |j                  g d¢«      «      }t        |j                  g d¢«      «      }|j                  |¬«      }
t        j                   d|«      5  t#        t%        |
«      ||¬«      }d d d «       t        t        dt        j
                  dgd¬«      t        g d¢d¬«      t        dt        j
                  dgd	¬«      t        g d
¢d	¬«      t        ddt        gd¬«      t        g d¢d¬«      ||dœ«      }|dk(  rDddlm}	 t        |j&                  D �ci c]  }| |	|j                  ||   d¬«      «      “Œ! c}«      }|dk(  rt)        t+        d«      «      |_        t-        j.                  |«       y # 1 sw Y   �ŒxY wc c}w )NÚpyarrowr   r‰   ÚInt64rG   rü   r‡   rˆ   ÚFloat64)r‡   rÀ   rˆ   )TFNr¯  r  r±  )r   r   rZ   rs   r½   rš  Úgr=  Úpythonr   r   r   ©ÚArrowExtensionArrayru   úmode.string_storage)Údtype_backendr7   TFÚboolean©Úfrom_pandasr1   r[  )r‚   Úimportorskipr
   r   rP   rê   r   Úarrayr   Úobject_r	   Úpandas.arraysr2  r   r'   rV   Úoption_contextr   r   r   rO   r5   r#   r(   )rX   Ústring_storager4  r7   r²   Úparp   Ústring_arrayÚstring_array_nar2  Úoutr,   r)   rú  s                 r-   Útest_read_json_dtype_backendz0TestPandasContainer.test_read_json_dtype_backendî  s~  € ô × Ñ  Ó+ˆÜä˜Q¤§¡¨˜N°'Ô:ÜšI¨WÔ5Ü˜S¤"§&¡&¨#Ð.°iÔ@ÜšO°9Ô=Ú(Ú(Ú$Ú%ñ	ó
ˆñ Ü9¸"¿(¹(Â?Ó:SÓTˆLÜ<¸R¿X¹XÒFVÓ=WÓX‰OØ˜xÒ'Ü&¤r§x¡x²ÄrÇzÁzÔ'RÓSˆLÜ)¬"¯(©(°C¸¼b°>ÌÏÉÔ*TÓU‰Oà˜iÒ'Ü×$Ñ$ YÓ/ˆBÝ9á.¨r¯x©xºÓ/HÓIˆLÙ1°"·(±(Ò;KÓ2LÓM‰Oô ,¨B¯H©H²_Ó,EÓFˆLÜ.¨r¯x©xÒ8HÓ/IÓJˆOà�j‰j ˆjÓ'ˆÜ×ÑÐ4°nÓEñ 	ÜÜ˜“¨]À6ôˆF÷	ô
 ä˜Q¤§¡¨˜N°'Ô:ÜšI¨WÔ5Ü˜S¤"§&¡&¨#Ð.°iÔ@ÜšO°9Ô=Ü˜T 5¬"Ð-°YÔ?ÜÒ/°yÔAØ!Ø$ñ	ó
ˆð ˜IÒ%Ý9ä ð  (×/Ñ/öàð Ñ,¨R¯X©X°h¸s±mÐQU¨XÓ-VÓWÑWòóˆHð �XÒÜ#¤E¨!£H›~ˆHÔä
×Ñ˜f hÕ/÷?	ñ 	üò,s   ÇL Ê $LÌ L
)rz   r0   rM   c                 óÖ  — t        j                  d«      }t        dt        j                  dgd¬«      }|j                  |¬«      }t        j                  d|«      5  t        t        |«      ||d¬	«      }d d d «       t        dt        j                  dgd¬«      }|dk(  r(d
dl
m}	 t         |	|j                  |d¬«      «      «      }t        j                  |«       y # 1 sw Y   ŒkxY w)Nr,  r   r‰   r-  rG   ru   r3  r€  )r4  r7   r�  r   r1  Tr6  )r‚   r8  r   rP   rê   r'   rV   r<  r   r   r;  r2  r9  r#   r‚  )
rX   r=  r4  r7   r>  rf   rA  r,   r)   r2  s
             r-   Útest_read_json_nullable_seriesz2TestPandasContainer.test_read_json_nullable_series7  sÈ   € ô × Ñ  Ó+ˆÜ�aœŸ™ �^¨7Ô3ˆà�k‰k ˆkÓ(ˆÜ×ÑÐ4°nÓEñ 	ÜÜ˜“¨]À6ÈxôˆF÷	ô
 ˜1œbŸf™f a˜.°Ô8ˆà˜IÒ%Ý9äÑ1°"·(±(¸8ÐQU°(Ó2VÓWÓXˆHä
×Ñ˜v xÕ0÷	ð 	ús   ÁCÃC(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.r   r
  Únumpy)r4  )r‚   rƒ   r&   r   )rX   r+   s     r-   Útest_invalid_dtype_backendz.TestPandasContainer.test_invalid_dtype_backendL  s;   € ð%ð 	ô �]‰]œ:¨SÔ1ñ 	5Ü�f¨GÕ4÷	5÷ 	5ñ 	5ús   ž5µ>)žrm  rn  ro  r‚   Úfixturer]   rg   rq   ry   r¯   Úparametrizer~   r…   r   r“   r•   r™   rµ   rŸ   rP   rF   r¢   rd   Úintr¨   r³   r¸   r»   rÐ   r°   ÚAssertionErrorrØ   r1  rÛ   rè   rë   rì   rï   Úskipifr   rù   rþ   r  r  r  r!  r:  r]  rz  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  ÚnetworkÚ
single_cpurV   ÚDatetimeTZDtyper  r  r   r%  r"  r   r(  r,  r/  rA  rC  rI  rM  rY  r_  rg  ri  r   rm  ro  rr  r$  Úskip_if_not_us_localerw  r  r‚  ÚsysÚmaxsizer‰  r‹  r�  r�  rG  rê   ro   rœ  r£  rª  r¬  r   rº  r½  rÀ  rÂ  r
   Úrename_axisrÇ  rÍ  rÏ  rÒ  rÔ  rØ  rÚ  rà  rå  Úparamré  rï  rñ  rô  rø  rÿ  r  r  r  r  r  r%  r'  r*  rB  rD  rG  rÍ   r9   r-   r;   r;   `   sØ  „ Ø‡^�^ñIó ðIð ‡^�^ñ	ó ð	ð ‡^�^ñ	ó ð	ò
>ð ‡[�[×Ñ˜XÒ'EÓFñ>ó Gð>ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ&ó =ð&ð ‡[�[×Ñ˜X¨°Ð':Ó;Ø‡[�[×ÑØà�3ˆZ˜#˜s˜Ð$Ø�3ˆZ˜#˜s˜Ð$Ø�ˆX˜˜3�xÐ Ù˜
Ó# SÐ)©I°jÓ,AÀ3Ð+GÐHð		
óñ0óó <ð0ð( ‡[�[×Ñ˜XÒ'FÓGñ&ó Hð&òNð ‡[�[×Ñ˜W u¨e nÓ5Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó 6ð>ð ‡[�[×Ñ˜W u¨b¯h©hÐ&7Ó8Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó 9ð>ð ‡[�[×Ñ˜W t¨R¯Z©Z¸¸dÐ&CÓDØ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó Eð>ð< ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð* ‡[�[×Ñ˜^¨d°E¨]Ó;ñ0ó <ð0ð ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð  ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð& ‡[�[×ÑØJØð ó ð ‡[�[×ÑØà�fÐ  u˜~Ð.Ø�fÐ  u˜~Ð.Ø�fÐ  u˜~Ð.ð	
óñ*óó	ð*ð ‡[�[×ÑØàDð;ð —‘àVðóð
 ð
ððð/	
ó!ñD5óE!ðD5ð ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ+ó <ó 5ð+ð( ‡[�[×Ñ˜W t¨U mÓ4ñ0ó 5ð0ð ‡[�[×Ñ˜U R§V¡V¨b¯f©f¨WÐ$5Ó6Ø‡[�[×Ñ˜W t¨U mÓ4ñ+ó 5ó 7ð+ð ‡[�[×Ñ˜D˜Ð)OÐÓPØ‡[�[×ÑØ&ò	
ó
ñBó
ó QðBò
)òBò"ò

ò+ò<Mò<`
òD$
òL"ò7ò$Pò1ð ‡[�[×Ñ˜W u¨d mÓ4ñ
1ó 5ð
1ò	1ò
1ð ‡[�[×Ñ˜W r§z¡z°3Ð&7Ó8ñ	1ó 9ð	1ò(òBò
1ð ‡[�[×ÑØà‘6˜<˜.Ð0@ÔAÐBØ‘F˜L˜>Ó*Ð+ð	
óñ1óð1ò*ò
*ò
*ò ò
#ò+ð0 ‡[�[×Ñ˜]¨W°eÐ,<Ó=Ø‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜Z¨(¯-©-¸×9JÑ9JÈIÐ)VÓWñ"ó Xó 9ó >ð"ð( ‡[�[×ÑØò	
óñ	0óð	0ð ‡[�[×ÑØò	
ó	ñ0ó	ð0ò;ð ‡[�[×ÑØò	
ó	ñ1ó	ð1ò;ð ‡[�[×Ñ˜VÒ%<Ó=ñ*ó >ð*ð$ ‡[�[×Ñ˜VÒ%6Ó7ñ$
ó 8ð$
òLò*.ò'ð ‡[�[×ÑØ‡[�[×ÑØ‡[�[×ÑØàÐ-˜2×-Ñ-°Ô7Ð8ØÐ*Ð+ØÐ-˜2×-Ñ-°Ô7Ð8ð	
óñ,óó ó ð,ò
ò(-ò
Hð ‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜]¨U°GÐ,<Ó=Ø‡[�[×Ñ˜_¨r¯|©|¸YÐ.GÓHñ"ó Ió >ó 9ð"ð( ‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜_¨r¯|©|¸YÐ.GÓHñ"ó Ió 9ð"òHò
ò*Lòò+ò2ò (ð  ‡[�[×ÑØáÐ,Ó-ÙÐ+°Ô=ÙÐ0Ó1ð	
óñ6óð6ò6ð ‡[�[×ÑØáÐ-°qÔ9ÙÐ,°a¸LÔIÙÐ1¸1Ô=ð	
óñFóðFò&Fò0ð ‡[�[×ÑØ×Ññ	0ó ó ð	0ò4ò0ð" ‡[�[×Ñ˜X¨¯©°a©¸3¿;¹;È¹?Ð9KÐ'LÓMñ
 ó Nð
 ð ‡[�[×Ñ˜X¨°eÐ'<Ó=ñ	ó >ð	ò0òKð, ‡[�[×ÑÐEÈiÐÓXØ‡[�[×ÑØâ1Ú,Ú.Ú9Ú#Ú+Ú1Ø�V‰V�S˜$ Ð%Ø˜2Ÿ6™6 3¨¨dÐ3ð
	
óð ‡[�[×Ñ˜W z°6Ð&:Ó;ñ
Gó <óó Yð 
Gò)ð ‡[�[×ÑØ�$˜˜A˜  c 
¨S°#¨J¸¸c¸
ÀTÈ4ÀLÐQóð ‡[�[×Ñ˜Y¨#¨s¨°c¸3°ZÀ$ÈÀÐ(NÓOñ0ó Póð0ò0ð ‡[�[×ÑÑ1Ó3Ð<UÐÓVØ‡[�[×Ñ˜XÒ'OÓPñ0ó Qó Wð0ð< ‡[�[×Ñ˜W t°3¸SÑ-AÐ&BÓCñ;ó Dð;ð ‡[�[×Ñ˜XÒ'PÓQñ@ó Rð@òAð ‡[�[×ÑØñ ˜A˜q˜6 A q 6Ð*°S¸#°JÔ?Ø  #˜J°!°Q°¸!¸Q¸Ð0@ÑAðñ
 ˜A˜q˜6 A q 6Ð*°S¸#°JÔ?×KÒKÈEÓRØ  #˜J°!°Q°¸!¸Q¸Ð0@ÑAðñ
 Ø˜�V˜a ˜VÐ$¨s°C¨jÀ#ÀsÀÈcÐSVÈZÐ@Xôð ! #˜J°!°Q°¸!¸Q¸Ð0@ÑAð	ñ ’I CÔ(°3Â	Ñ*JÐKá’y sÔ+×7Ò7¸Ó>Ø¢iÑ0ðñ
 ˜˜1�v C°°c°
¸SÀ#¸JÐ/GÔHØ q¨! fÑ-ðð)	
óñ8"ó9ð8"ð ‡[�[×ÑØá˜˜A˜  A Ð'°#°s°Ô<Ù˜˜A˜  A Ð'°#°s°Ô<×HÒHÈÓOáØ˜�V˜a ˜VÐ$¨s°C¨jÀ#ÀsÀÈcÐSVÈZÐ@Xôñ ’I CÔ(Ù’I CÔ(×4Ò4°UÓ;Ù�Q˜�F ¨c°3¨Z¸#¸s¸Ð,DÔEð	
óñ"óð"ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ3ó =ð3ð ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ2ó >ð2ð ‡[�[×Ñ˜X¨°Ð'9Ó:Ø‡[�[×Ñ˜W t¨U mÓ4ñ0ó 5ó ;ð0ò1ð ‡[�[×ÑØò	
óñ0óð0ð ‡[�[×ÑØÚ#óñ&ó	ð&ð ‡[�[×ÑØÐ/Ð1FÐGóñ"óð"ð ‡[�[×ÑØà<Ø>àˆF�LŠLØØØ—k‘k×'Ñ'ØIð (ó ôð ˆF�LŠLØØØ—k‘k×'Ñ'ØIð (ó ôð	
óñ,"ó-ð,"ð ‡[�[×Ñ˜X¢yÓ1ñ"ó 2ð"ð& ‡[�[×ÑÙ"Ó$ð-ð ó ð
 ‡[�[×ÑØòq	
ótñj"óktóðt"ò+ò	0ò0ð ‡[�[×ÑØñ ¢	²Ñ@ÓAðDðð	
ó	ñ"ó	ð"ð
 ‡[�[×ÑñOó ðOò,ò1ò"ò(Oð ‡[�[×ÑÙñ ™7¡v±&Ò9Ó:ñ0ðñ ™=©\¹lÒKÓLñ2ðñ ™G¡WÐ-±¹Ð/AÐBÓCñ2ðñ Ù#¡]Ð3±lÁMÐ5RÐSóñ4ð	ð)	
ó òB"óC ðB"ó
"ð ‡[�[×ÑØÓDóòD0óðD0ðL ‡[�[×Ñ˜XÓ'DÓEò1ó Fð1ô(5r9   r;   c                  óÆ   — t        t        d«      «      } | j                  «       }t        j                  t
        d¬«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)Nr   zThe engine type foor   rC   )Úengine©r   r5   r'   r‚   rƒ   r&   r   ©rf   rA  s     r-   Útest_invalid_enginerY  U  sI   € ä
”�q“Ó
€CØ
�+‰+‹-€CÜ	�‰”zÐ)>Ô	?ñ %Ü�#˜eÕ$÷%÷ %ñ %ús   Á AÁA c                  óÈ   — t        t        d«      «      } | j                  «       }t        j                  t
        d¬«      5  t        |dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   z&currently pyarrow engine only supportsr   r,  F)rV  r    rW  rX  s     r-   Útest_pyarrow_engine_lines_falser[  ]  sK   € ä
”�q“Ó
€CØ
�+‰+‹-€CÜ	�‰”zÐ)QÔ	Rñ 6Ü�#˜i¨uÕ5÷6÷ 6ñ 6ús   Á AÁA!c           	      ó†  — t        j                  d«       t        ddgddggddgdd	g¬
«      }|j                  «       }t	        j
                  dd«      5  t        t        |«      «      }d d d «       t        ddgddggdt        ddgd¬«      t        dd	gd¬«      ¬«      }t        j                  |«       y # 1 sw Y   ŒOxY w)Nr,  r   r   rZ   rs   zrow 1zrow 2zcol 1zcol 2rt   zfuture.infer_stringTr­   rG   r‡  )r‚   r8  r
   r'   rV   r<  r   r   r   r#   r(   )r7   rp   rA  r,   r)   s        r-   Ú$test_json_roundtrip_string_inferencer]  e  sÈ   € Ü
×Ñ˜	Ô"Ü	Ø
ˆsˆ�c˜3�ZÐ ¨°'Ð(:ÀWÈgÐDVô
€Bð �*‰*‹,€CÜ	×	Ñ	Ð0°$Ó	7ñ *Üœ8 C›=Ó)ˆ÷*äØ
ˆsˆ�c˜3�ZÐ Ø%Ü�W˜gÐ&Ð.EÔFÜ�w Ð(Ð0GÔHô	€Hô ×Ñ˜& (Õ+÷*ð *ús   ÁB7Â7C c                  ó¾   — t        dg d¢i«      } d}t        j                  t        |¬«      5  t	        «       }| j                  |d«       d d d «       y # 1 sw Y   y xY w)Nr   rü   zuStarting with pandas version 3.0 all arguments of to_json except for the argument 'path_or_buf' will be keyword-only.r   rz   )r
   r#   r$   r%   r   r'   )rp   r+   rð  s      r-   Útest_json_pos_args_deprecationr_  v  sW   € ä	�CšÐ#Ó	$€Bð	8ð ô 
×	#Ñ	#¤M¸Ô	=ñ !Ü‹iˆØ
�
‰
�3˜Ô ÷!÷ !ñ !ús   ­AÁAr,  c                  óœ   — t        t        dt        gd¬«      t        dt        gd¬«      dœ«      } | j                  dd¬	«      }d
}||k(  sJ ‚y )Nr   zint64[pyarrow]rG   r   r-  r±  r0   Tr�  z"{"a":1,"b":2}
{"a":null,"b":null}
)r
   r   r	   r'   )rp   r,   r)   s      r-   Útest_to_json_ea_nullra  ‚  s[   € ô 
ä˜œB˜Ð'7Ô8Ü˜œB˜ wÔ/ñ	
ó
€Bð �Z‰Z˜y°ˆZÓ5€Fð€Hð �XÒÐÑr9   c                  óŽ   — d} t        t        | «      d¬«      j                  }t        d«      }t	        j
                  ||d¬«       y )Nz#
{"a": 1, "b": 2}
{"a": 3, "b": 4}
Tr   r   )Úexact)r   r   rM   r   r#   r¿  )r[   r,   r)   s      r-   Útest_read_json_lines_rangeindexrd  ’  s<   € ð€Dô ”x “~¨TÔ2×8Ñ8€FÜ˜!‹}€HÜ×Ñ˜& (°$Ö7r9   )5rÐ  r   Údecimalr   r'  r   r   r(  r/  rQ  r  rF  rP   r‚   Úpandas._configr   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr$  ÚpandasrV   r	   r
   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr#   Úpandas.core.arraysr   r   Úpandas.core.arrays.string_arrowr   Úpandas.io.jsonr   r.   r8   r;   rY  r[  r]  r_  Ú
skip_if_nora  rd  rÍ   r9   r-   ú<module>rr     s¨   ðÛ Ý Ý ÷ó Û 	Û 
Û ã Û å 5å ß )Ð )ã ÷
÷ 
õ 
õ ÷õ Kå &ò*0òZ,÷r5ñ r5òj?%ò6ò,ò"	!ð €‡�ˆyÓñó ðó8r9   