§
    tŠtj£‰  ã                   ó@  — 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Zd dlZd dlZd dl	Z
d dlZd dlmc mZ d dlm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„ Z ej        g d¢¬¦  «        d„ ¦   «         Z  G d„ d	¦  «        Z! G d
„ d¦  «        Z" G d„ d¦  «        Z#dS )é    N)ÚIS64)	Ú	DataFrameÚDatetimeIndexÚIndexÚNaTÚPeriodIndexÚSeriesÚ	TimedeltaÚ	TimestampÚ
date_rangec                 ó>   — d„ |                       ¦   «         D ¦   «         S )zÉ
    Sanitize dictionary for JSON by converting all keys to strings.

    Parameters
    ----------
    d : dict
        The dictionary to convert.

    Returns
    -------
    cleaned_dict : dict
    c                 ó4   — i | ]\  }}t          |¦  «        |“ŒS © )Ústr)Ú.0ÚkÚvs      ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/io/json/test_ujson.pyú
<dictcomp>z_clean_dict.<locals>.<dictcomp>,   s$   € Ð,Ð,Ð,™$˜!˜Q�C�‰FŒF�AÐ,Ð,Ð,ó    )Úitems©Úds    r   Ú_clean_dictr      s    € ð -Ð, !§'¢'¡)¤)Ð,Ñ,Ô,Ð,r   )NÚsplitÚrecordsÚvaluesÚindex)Úparamsc                 ó   — | j         S ©N)Úparam)Úrequests    r   Úorientr$   /   s   € ð Œ=Ðr   c                   ó  — e Zd Zej                             e d¬¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        d	„ ¦   «         Z	ej                             d
g d¢¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ Zej                             dddg¦  «        d„ ¦   «         Zej                             dej        ej         g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zej                             ddd g¦  «        d!„ ¦   «         Zd"„ Zd#„ Zd$„ Zd%„ Zd&„ Zd'„ Zej                             d(g d)¢¦  «        d*„ ¦   «         Zd+„ Z d,„ Z!ej                             d-g d.¢¦  «        d/„ ¦   «         Z"d0„ Z#d1„ Z$ej                             d2 e%j&        ¦   «          e%j&        d3d4d5¦  «         e%j&        d6d7d8d9¦  «        g¦  «        d:„ ¦   «         Z'd;„ Z(d<„ Z)ej                             d=e* e+j,        d>d?¦  «        e+j-        e+j.        e+j.         g¦  «        d@„ ¦   «         Z/dA„ Z0dB„ Z1dC„ Z2dD„ Z3dE„ Z4ej                             dFg dG¢¦  «        dH„ ¦   «         Z5ej                             dIdJdKg¦  «        dL„ ¦   «         Z6ej                             dMg dN¢¦  «        dO„ ¦   «         Z7ej                             dPg dQ¢¦  «        dR„ ¦   «         Z8ej                             dSg dT¢¦  «        dU„ ¦   «         Z9ej                             dVdWdXg¦  «        dY„ ¦   «         Z:dZ„ Z;d[„ Z<d\„ Z=ej                             d]d^d_g¦  «        d`„ ¦   «         Z>ej                             dadbdcg¦  «        dd„ ¦   «         Z?ej                             deg df¢¦  «        dg„ ¦   «         Z@dh„ ZAej                             dig dj¢¦  «        dk„ ¦   «         ZBdl„ ZCdm„ ZDdn„ ZEdo„ ZFdp„ ZGdq„ ZHdrS )sÚTestUltraJSONTestsz$not compliant on 32-bit, xref #15865)Úreasonzvalue, double_precision))z	1337.1337é   )z0.95é   )z0.94r)   )z1.95r)   )z-1.95r)   )z0.995é   )z0.9995é   )z0.99999999999999944r(   c                 ó’   — t          j        |¦  «        }t          j        ||¬¦  «        }t          j        |¦  «        }||k    sJ ‚d S )N©Údouble_precision)ÚdecimalÚDecimalÚujsonÚujson_dumpsÚujson_loads)ÚselfÚvaluer.   ÚsutÚencodedÚdecodeds         r   Útest_encode_decimalz&TestUltraJSONTests.test_encode_decimal7   sP   € õ Œo˜eÑ$Ô$ˆÝÔ# CÐ:JÐKÑKÔKˆÝÔ# GÑ,Ô,ˆØ˜%ÒÐÐÐÐÐr   Úensure_asciiTFc                 ól   ‡‡— dŠd}d}ˆˆfd„} ||¦  «          ||d¬¦  «          ||d¬¦  «         d S )Nz"A string \ /   
  	 </script> &z,"A string \\ \/ \b \f \n \r \t <\/script> &"z;"A string \\ \/ \b \f \n \r \t \u003c\/script\u003e \u0026"c                 ó¨   •— t          j        ‰fd‰i|¤Ž}|| k    sJ ‚‰t          j        |¦  «        k    sJ ‚‰t          j        |¦  «        k    sJ ‚d S )Nr:   ©r1   r2   ÚjsonÚloadsr3   )Úexpected_outputÚencode_kwargsÚoutputr:   Ústring_inputs      €€r   Úhelperz@TestUltraJSONTests.test_encode_string_conversion.<locals>.helperS   s}   ø€ ÝÔ&Øðð Ø+7ðØ;Hðð ˆFð ˜_Ò,Ð,Ð,Ð,Ø¥4¤:¨fÑ#5Ô#5Ò5Ð5Ð5Ð5Ø¥5Ô#4°VÑ#<Ô#<Ò<Ð<Ð<Ð<Ð<Ð<r   F)Úencode_html_charsTr   )r4   r:   Únot_html_encodedÚhtml_encodedrD   rC   s    `   @r   Útest_encode_string_conversionz0TestUltraJSONTests.test_encode_string_conversionK   s}   øø€ àAˆØRÐàUð 	ð	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	ˆÐÑ Ô Ð ð 	ˆÐ°5Ð9Ñ9Ô9Ð9ð 	ˆˆ|¨tÐ4Ñ4Ô4Ð4Ð4Ð4r   Úlong_number)lüÿÿÿZ:�`¡7{ g#å_œçt¦ÂgÔŸpAª‚¿Ác                 ór   — d|i}t          j        |d¬¦  «        }t          j        |¦  «        }||k    sJ ‚d S )NÚar(   r-   ©r1   r2   r3   )r4   rI   r6   r7   r8   s        r   Útest_double_long_numbersz+TestUltraJSONTests.test_double_long_numberse   sD   € ð �KÐ ˆÝÔ# C¸"Ð=Ñ=Ô=ˆåÔ# GÑ,Ô,ˆØ�gŠ~ˆ~ˆ~ˆ~ˆ~ˆ~r   c                 óD  — t           j        }dD ]�}t          j        ||¦  «        ryt          j        ||¦  «        5  t          j        t          j        d¦  «        ¦  «        dk    sJ ‚t          j        dd¬¦  «        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y    d S Œ‘d S )N)zit_IT.UTF-8ÚItalian_Italygòì‘ÄûË‡Lz4.78T©Úprecise_floatg…ëQ¸@)ÚlocaleÚ
LC_NUMERICÚtmÚcan_set_localeÚ
set_localer1   r3   r2   )r4   Úlc_categoryÚ
new_locales      r   Útest_encode_non_c_localez+TestUltraJSONTests.test_encode_non_c_localeo   s  € ÝÔ'ˆð ;ð 	ð 	ˆJÝÔ  ¨[Ñ9Ô9ð Ý”] :¨{Ñ;Ô;ð Qð QÝ Ô,­UÔ->¸wÑ-GÔ-GÑHÔHÈGÒSÐSÐSÐSÝ Ô,¨VÀ4ÐHÑHÔHÈDÒPÐPÐPÐPÐPðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð ��ð	ð	ð 	s   »A	BÂB	ÂB	c                 ór   — ddi}t          j        |¦  «        }t          j        |d¬¦  «        }||k    sJ ‚d S )NrK   g=
×£p=@TrP   rL   )r4   r6   r7   r8   s       r   Ú test_decimal_decode_test_precisez3TestUltraJSONTests.test_decimal_decode_test_precisez   sA   € Ø�DˆkˆÝÔ# CÑ(Ô(ˆÝÔ# G¸4Ð@Ñ@Ô@ˆØ�gŠ~ˆ~ˆ~ˆ~ˆ~ˆ~r   c                 ó”  — d}|t          j        t          j        |¦  «        ¦  «        k    sJ ‚d}|t          j        t          j        |¦  «        ¦  «        k    sJ ‚d}|t          j        t          j        |¦  «        ¦  «        k    sJ ‚d}t          j        |t          j        t          j        |¦  «        ¦  «        ¦  «        sJ ‚d S )NgœWw'&l¡7g0Žä.ÿ++g¹j7­Ö–¶gó¡?>¬úÓ¡)r1   r3   r2   ÚnpÚallclose)r4   Únums     r   Ú#test_encode_double_tiny_exponentialz6TestUltraJSONTests.test_encode_double_tiny_exponential€   s¿   € ØˆØ•eÔ'­Ô(9¸#Ñ(>Ô(>Ñ?Ô?Ò?Ð?Ð?Ð?ØˆØ•eÔ'­Ô(9¸#Ñ(>Ô(>Ñ?Ô?Ò?Ð?Ð?Ð?ØˆØ•eÔ'­Ô(9¸#Ñ(>Ô(>Ñ?Ô?Ò?Ð?Ð?Ð?ØˆÝŒ{˜3¥Ô 1µ%Ô2CÀCÑ2HÔ2HÑ IÔ IÑJÔJÐJÐJÐJÐJÐJr   Úunicode_keyÚkey1u   Ø¨Ù†c                 óf   — |di}|t          j        t          j        |¦  «        ¦  «        k    sJ ‚d S )NÚvalue1©r1   r3   r2   )r4   ra   Úunicode_dicts      r   Ú"test_encode_dict_with_unicode_keysz5TestUltraJSONTests.test_encode_dict_with_unicode_keysŠ   s9   € à# XÐ.ˆØ�uÔ0µÔ1BÀ<Ñ1PÔ1PÑQÔQÒQÐQÐQÐQÐQÐQr   Údouble_inputc                 ó  — t          j        |¦  «        }t          |d¦  «        t          t          j        |¦  «        d¦  «        k    sJ ‚t          |d¦  «        t          t          j        |¦  «        d¦  «        k    sJ ‚d S ©Né   )r1   r2   Úroundr>   r?   r3   )r4   rh   rB   s      r   Útest_encode_double_conversionz0TestUltraJSONTests.test_encode_double_conversion�   sw   € åÔ" <Ñ0Ô0ˆÝ�\ 1Ñ%Ô%­­t¬z¸&Ñ/AÔ/AÀ1Ñ)EÔ)EÒEÐEÐEÐEÝ�\ 1Ñ%Ô%­­uÔ/@ÀÑ/HÔ/HÈ!Ñ)LÔ)LÒLÐLÐLÐLÐLÐLr   c                 óB   — d}t          j        |¦  «        }|dk    sJ ‚d S )Ng      ð?z1.0©r1   r2   )r4   Údecimal_inputrB   s      r   Útest_encode_with_decimalz+TestUltraJSONTests.test_encode_with_decimal•   s(   € ØˆÝÔ" =Ñ1Ô1ˆà˜Šˆˆˆˆˆr   c                 ó¦   — g gggdz  }t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Né   r=   )r4   Únested_inputrB   s      r   Ú"test_encode_array_of_nested_arraysz5TestUltraJSONTests.test_encode_array_of_nested_arrays›   s^   € Ø˜˜�x "‘}ˆÝÔ" <Ñ0Ô0ˆà�tœz¨&Ñ1Ô1Ò1Ð1Ð1Ð1Ø�uÔ0°Ñ8Ô8Ò8Ð8Ð8Ð8Ð8Ð8r   c                 ó¤   — g d¢dz  }t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )N)çcATšÞ@rw   rw   rw   é
   r=   )r4   Údoubles_inputrB   s      r   Útest_encode_array_of_doublesz/TestUltraJSONTests.test_encode_array_of_doubles¢   s_   € ØLÐLÐLÈrÑQˆÝÔ" =Ñ1Ô1ˆà¥¤
¨6Ñ 2Ô 2Ò2Ð2Ð2Ð2Ø¥Ô 1°&Ñ 9Ô 9Ò9Ð9Ð9Ð9Ð9Ð9r   c                 ó\  — d}t          j        |d¬¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚dD ]\}t          j        ||¬¦  «        }t          ||¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚Œ]d S )Ng² )>@r(   r-   )r+   é	   )r1   r2   r>   r?   r3   rl   )r4   rh   rB   r.   Úrounded_inputs        r   Útest_double_precisionz(TestUltraJSONTests.test_double_precision©   sÍ   € Ø)ˆÝÔ" <À"ÐEÑEÔEˆà�tœz¨&Ñ1Ô1Ò1Ð1Ð1Ð1Ø�uÔ0°Ñ8Ô8Ò8Ð8Ð8Ð8à &ð 	>ð 	>ÐÝÔ& |ÐFVÐWÑWÔWˆFÝ! ,Ð0@ÑAÔAˆMà ¥D¤J¨vÑ$6Ô$6Ò6Ð6Ð6Ð6Ø ¥EÔ$5°fÑ$=Ô$=Ò=Ð=Ð=Ð=Ð=ð	>ð 	>r   Úinvalid_val)rs   éÿÿÿÿÚ9Nc                 óÞ   — d}t          |t          ¦  «        rt          nt          }d}t	          j        ||¬¦  «        5  t          j        ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NgöF7Ýš>@z‹Invalid value '.*' for option 'double_precision', max is '15'|an integer is required \(got type |object cannot be interpreted as an integer©Úmatchr-   )Ú
isinstanceÚintÚ
ValueErrorÚ	TypeErrorÚpytestÚraisesr1   r2   )r4   r   rh   Úexpected_exceptionÚmsgs        r   Útest_invalid_double_precisionz0TestUltraJSONTests.test_invalid_double_precision·   sÒ   € ð /ˆÝ+5°kÅ3Ñ+GÔ+GÐV�Z˜ZÍYÐð:ð 	õ
 Œ]Ð-°SÐ9Ñ9Ô9ð 	Jð 	JÝÔ˜l¸[ÐIÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð 	Jð 	Js   ¾A"Á"A&Á)A&c                 óª   — d}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|dk    sJ ‚d S )NzA string \ /   
  	z"A string \\ \/ \b \f \n \r \t"r=   )r4   rC   rB   s      r   Útest_encode_string_conversion2z1TestUltraJSONTests.test_encode_string_conversion2Ë   sf   € Ø5ˆÝÔ" <Ñ0Ô0ˆà�tœz¨&Ñ1Ô1Ò1Ð1Ð1Ð1Ø�uÔ0°Ñ8Ô8Ò8Ð8Ð8Ð8ØÐBÒBÐBÐBÐBÐBÐBr   Úunicode_inputu@   RÃ¤ksmÃ¶rgÃ¥s Ø§Ø³Ø§Ù…Ø© Ø¨Ù† Ù…Ø­Ù…Ø¯ Ø¨Ù† Ø¹ÙˆØ¶ Ø¨Ù† Ù„Ø§Ø¯Ù†õ
   Ã¦Â—Â¥Ã‘Âˆc                 ó¾   — t          j        |¦  «        }t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S r!   ©r1   r2   r3   r>   Údumpsr?   )r4   r�   ÚencÚdecs       r   Útest_encode_unicode_conversionz1TestUltraJSONTests.test_encode_unicode_conversionÓ   s^   € õ
 Ô Ñ.Ô.ˆÝÔ Ñ$Ô$ˆà•d”j Ñ/Ô/Ò/Ð/Ð/Ð/Ø•d”j ‘o”oÒ%Ð%Ð%Ð%Ð%Ð%r   c                 óž   — d}t          j        |¦  «        }t          j        |¦  «        }||k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Nú)r1   r2   r3   r>   r”   )r4   Úescaped_inputr•   r–   s       r   Útest_encode_control_escapingz/TestUltraJSONTests.test_encode_control_escapingÞ   sY   € ØˆÝÔ Ñ.Ô.ˆÝÔ Ñ$Ô$ˆà Ò#Ð#Ð#Ð#Ø•d”j Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   c                 óÂ   — d}t          j        |¦  «        }t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Nu   Ã°Â�Â�Â†r“   )r4   Úsurrogate_inputr•   r–   s       r   Ú"test_encode_unicode_surrogate_pairz5TestUltraJSONTests.test_encode_unicode_surrogate_pairæ   sa   € Ø,ˆÝÔ Ñ0Ô0ˆÝÔ Ñ$Ô$ˆà•d”j Ñ1Ô1Ò1Ð1Ð1Ð1Ø•d”j ‘o”oÒ%Ð%Ð%Ð%Ð%Ð%r   c                 óÂ   — d}t          j        |¦  «        }t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Nu   Ã°Â‘Â€Â°TRAILINGNORMALr“   ©r4   Úfour_bytes_inputr•   r–   s       r   Útest_encode_unicode_4bytes_utf8z2TestUltraJSONTests.test_encode_unicode_4bytes_utf8î   sd   € Ø;ÐÝÔÐ 0Ñ1Ô1ˆÝÔ Ñ$Ô$ˆà•d”jÐ!1Ñ2Ô2Ò2Ð2Ð2Ð2Ø•d”j ‘o”oÒ%Ð%Ð%Ð%Ð%Ð%r   c                 óÂ   — d}t          j        |¦  «        }t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Nu   Ã³Â¿Â¿Â¿TRAILINGNORMALr“   r    s       r   Ú&test_encode_unicode_4bytes_utf8highestz9TestUltraJSONTests.test_encode_unicode_4bytes_utf8highestö   sd   € Ø;ÐÝÔÐ 0Ñ1Ô1ˆåÔ Ñ$Ô$ˆà•d”jÐ!1Ñ2Ô2Ò2Ð2Ð2Ð2Ø•d”j ‘o”oÒ%Ð%Ð%Ð%Ð%Ð%r   c                 ó    — d}d}t          j        t          |¬¦  «        5  t          j        |g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nu   'í«€'zT'utf-8' codec can't encode character '\\udac0' in position 1: surrogates not allowedrƒ   )r‰   rŠ   ÚUnicodeEncodeErrorr1   r2   )r4   ÚstringrŒ   s      r   Útest_encode_unicode_errorz,TestUltraJSONTests.test_encode_unicode_errorÿ   s    € Øˆð5ð 	õ Œ]Õ-°SÐ9Ñ9Ô9ð 	(ð 	(ÝÔ˜v˜hÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s    AÁAÁ
Ac                 óÔ   — g ggg}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S r!   ©r1   r2   r>   r?   r”   r3   )r4   Úarr_in_arr_inputrB   s      r   Útest_encode_array_in_arrayz-TestUltraJSONTests.test_encode_array_in_array  sx   € Ø ˜T˜F˜8ÐÝÔ"Ð#3Ñ4Ô4ˆà¥4¤:¨fÑ#5Ô#5Ò5Ð5Ð5Ð5Ø�œÐ$4Ñ5Ô5Ò5Ð5Ð5Ð5Ø¥5Ô#4°VÑ#<Ô#<Ò<Ð<Ð<Ð<Ð<Ð<r   Ú	num_input)éiz  i—…ÿÿìûÿÿÿ         c                 óÊ   — t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S r!   rª   )r4   r­   rB   s      r   Útest_encode_num_conversionz-TestUltraJSONTests.test_encode_num_conversion  sl   € õ Ô" 9Ñ-Ô-ˆØ�DœJ vÑ.Ô.Ò.Ð.Ð.Ð.Ø�œ IÑ.Ô.Ò.Ð.Ð.Ð.Ø�EÔ-¨fÑ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5r   c                 óž   — g d¢}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )N)r)   r*   r+   é   r=   )r4   Ú
list_inputrB   s      r   Útest_encode_list_conversionz.TestUltraJSONTests.test_encode_list_conversion  sX   € Ø!�\�\ˆ
ÝÔ" :Ñ.Ô.ˆà�TœZ¨Ñ/Ô/Ò/Ð/Ð/Ð/Ø�UÔ.¨vÑ6Ô6Ò6Ð6Ð6Ð6Ð6Ð6r   c                 ó¤   — dddddœ}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Nr)   r*   r+   r³   )Úk1Úk2Úk3Úk4r=   )r4   Ú
dict_inputrB   s      r   Útest_encode_dict_conversionz.TestUltraJSONTests.test_encode_dict_conversion%  s`   € Ø Q¨a°qÐ9Ð9ˆ
ÝÔ" :Ñ.Ô.ˆà�TœZ¨Ñ/Ô/Ò/Ð/Ð/Ð/Ø�UÔ.¨vÑ6Ô6Ò6Ð6Ð6Ð6Ð6Ð6r   Úbuiltin_value)NTFc                 óÊ   — t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S r!   rª   )r4   r½   rB   s      r   Ú%test_encode_builtin_values_conversionz8TestUltraJSONTests.test_encode_builtin_values_conversion,  sj   € åÔ" =Ñ1Ô1ˆØ¥¤
¨6Ñ 2Ô 2Ò2Ð2Ð2Ð2Ø�œ MÑ2Ô2Ò2Ð2Ð2Ð2Ø¥Ô 1°&Ñ 9Ô 9Ò9Ð9Ð9Ð9Ð9Ð9r   c                 óz  — t           j                              t          j        ¦   «         ¦  «        }t          j        |d¬¦  «        }t          j        |                     ¦   «         ¦  «        }t          |¦  «        t          j
        |¦  «        k    sJ ‚t          |¦  «        t          j        |¦  «        k    sJ ‚d S )NÚs©Ú	date_unit)ÚdatetimeÚfromtimestampÚtimer1   r2   ÚcalendarÚtimegmÚutctimetupler†   r>   r?   r3   )r4   Údatetime_inputrB   Úexpecteds       r   Útest_encode_datetime_conversionz2TestUltraJSONTests.test_encode_datetime_conversion3  s—   € Ý!Ô*×8Ò8½¼¹¼ÑEÔEˆÝÔ" >¸SÐAÑAÔAˆÝ”? >×#>Ò#>Ñ#@Ô#@ÑAÔAˆå�8‰}Œ}¥¤
¨6Ñ 2Ô 2Ò2Ð2Ð2Ð2Ý�8‰}Œ}¥Ô 1°&Ñ 9Ô 9Ò9Ð9Ð9Ð9Ð9Ð9r   c                 ó„  — t           j                             t          j        ¦   «         ¦  «        }t	          j        |d¬¦  «        }|j        |j        |j        dddf}t          j
        |¦  «        }t          |¦  «        t          j        |¦  «        k    sJ ‚t          |¦  «        t	          j        |¦  «        k    sJ ‚d S )NrÁ   rÂ   r   )rÄ   ÚdaterÅ   rÆ   r1   r2   ÚyearÚmonthÚdayrÇ   rÈ   r†   r>   r?   r3   )r4   Ú
date_inputrB   ÚtuprË   s        r   Útest_encode_date_conversionz.TestUltraJSONTests.test_encode_date_conversion;  s£   € Ý”]×0Ò0µ´±´Ñ=Ô=ˆ
ÝÔ" :¸Ð=Ñ=Ô=ˆàŒ 
Ô 0°*´.À!ÀQÈÐJˆÝ”? 3Ñ'Ô'ˆå�8‰}Œ}¥¤
¨6Ñ 2Ô 2Ò2Ð2Ð2Ð2Ý�8‰}Œ}¥Ô 1°&Ñ 9Ô 9Ò9Ð9Ð9Ð9Ð9Ð9r   Útestr)   r*   r+   rx   é   r(   éË< c                 ón   — t          j        |¦  «        }d|                     ¦   «         › d�}||k    sJ ‚d S )Nú"©r1   r2   Ú	isoformat©r4   rÕ   rB   rË   s       r   Ú!test_encode_time_conversion_basicz4TestUltraJSONTests.test_encode_time_conversion_basicE  sE   € õ
 Ô" 4Ñ(Ô(ˆØ*�t—~’~Ñ'Ô'Ð*Ð*Ð*ˆØ˜6Ò!Ð!Ð!Ð!Ð!Ð!r   c                 óÐ   — t          j        d¦  «        }t          j        dddd|j        ¦  «        }t          j        |¦  «        }d|                     ¦   «         › d�}||k    sJ ‚d S )NÚpytzrx   rÖ   r(   r×   rÙ   )r‰   ÚimportorskiprÄ   rÆ   Úutcr1   r2   rÛ   )r4   rß   rÕ   rB   rË   s        r   Ú test_encode_time_conversion_pytzz3TestUltraJSONTests.test_encode_time_conversion_pytzN  sl   € åÔ" 6Ñ*Ô*ˆÝŒ}˜R  R¨°´Ñ:Ô:ˆÝÔ" 4Ñ(Ô(ˆØ*�t—~’~Ñ'Ô'Ð*Ð*Ð*ˆØ˜6Ò!Ð!Ð!Ð!Ð!Ð!r   c                 óÖ   — t          j        ddddt          j                             ¦   «         ¦  «        }t          j        |¦  «        }d|                     ¦   «         › d�}||k    sJ ‚d S )Nrx   rÖ   r(   r×   rÙ   )rÄ   rÆ   ÚdateutilÚtzÚtzutcr1   r2   rÛ   rÜ   s       r   Ú$test_encode_time_conversion_dateutilz7TestUltraJSONTests.test_encode_time_conversion_dateutilV  sh   € åŒ}˜R  R¨µ´×1BÒ1BÑ1DÔ1DÑEÔEˆÝÔ" 4Ñ(Ô(ˆØ*�t—~’~Ñ'Ô'Ð*Ð*Ð*ˆØ˜6Ò!Ð!Ð!Ð!Ð!Ð!r   Údecoded_inputr   Únsc                 óJ   — t          j        |¦  «        dk    s
J d¦   «         ‚d S )NÚnullzExpected nullro   )r4   rè   s     r   Útest_encode_as_nullz&TestUltraJSONTests.test_encode_as_null]  s.   € õ Ô  Ñ/Ô/°6Ò9Ð9Ð9¸?Ñ9Ô9Ð9Ð9Ð9r   c           	      óÐ  — t          j         ddddddd¦  «        }t          |¦  «                             d¦  «        }t          j        t          j        |d¬	¦  «        ¦  «        }||j        d
z  k    sJ ‚t          j        t          j        |d¬	¦  «        ¦  «        }||j        dz  k    sJ ‚t          j        t          j        |d¬	¦  «        ¦  «        }||j        dz  k    sJ ‚t          j        t          j        |d¬	¦  «        ¦  «        }||j        k    sJ ‚d}t          j        t          |¬¦  «        5  t          j        |d¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NéÝ  é   é   é   rÖ   iÐI ré   rÁ   rÂ   i Êš;Úmsi@B Úuséè  z*Invalid value 'foo' for option 'date_unit'rƒ   Úfoo)
rÄ   r   Úas_unitr1   r3   r2   Ú_valuer‰   rŠ   r‡   )r4   ÚvalÚstampÚ	roundtriprŒ   s        r   Útest_datetime_unitsz&TestUltraJSONTests.test_datetime_unitsc  s¦  € ÝÔ  a¨¨R°°R¸Ñ@Ô@ˆÝ˜#‘”×&Ò& tÑ,Ô,ˆåÔ%¥eÔ&7¸ÀsÐ&KÑ&KÔ&KÑLÔLˆ	Ø˜EœL¨EÑ1Ò1Ð1Ð1Ð1åÔ%¥eÔ&7¸ÀtÐ&LÑ&LÔ&LÑMÔMˆ	Ø˜EœL¨EÑ1Ò1Ð1Ð1Ð1åÔ%¥eÔ&7¸ÀtÐ&LÑ&LÔ&LÑMÔMˆ	Ø˜EœL¨EÑ1Ò1Ð1Ð1Ð1åÔ%¥eÔ&7¸ÀtÐ&LÑ&LÔ&LÑMÔMˆ	Ø˜EœLÒ(Ð(Ð(Ð(à:ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	4ð 	4ÝÔ˜c¨UÐ3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   Ä7EÅEÅ"Ec                 óÊ   — d}t          j        |d¬¦  «        }t          j        |¦  «        }|t          j        |d¬¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )Nr‘   F)r:   r“   )r4   Ú	unencodedr•   r–   s       r   Útest_encode_to_utf8z&TestUltraJSONTests.test_encode_to_utf8w  sk   € Ø*ˆ	åÔ 	¸Ð>Ñ>Ô>ˆÝÔ Ñ$Ô$ˆà•d”j ¸Ð?Ñ?Ô?Ò?Ð?Ð?Ð?Ø•d”j ‘o”oÒ%Ð%Ð%Ð%Ð%Ð%r   c                 ó„   — d}t          j        |¦  «        }t          j        t          |¦  «        ¦  «        }||k    sJ ‚d S )Nz{"obj": 31337}©r1   r3   r   )r4   r�   Údec1Údec2s       r   Útest_decode_from_unicodez+TestUltraJSONTests.test_decode_from_unicode€  s@   € Ø(ˆåÔ  Ñ/Ô/ˆÝÔ ¥ ]Ñ!3Ô!3Ñ4Ô4ˆà�tŠ|ˆ|ˆ|ˆ|ˆ|ˆ|r   c                 ó  —  G d„ d¦  «        } G d„ d¦  «        } |¦   «         } |¦   «         |_         ||j         _         t          j        t          d¬¦  «        5  t	          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdZdS )ú8TestUltraJSONTests.test_encode_recursion_max.<locals>.O2r   N©Ú__name__Ú
__module__Ú__qualname__Úmemberr   r   r   ÚO2r  ‹  ó   € € € € € ØˆFˆFˆFr   r  c                   ó   — e Zd ZdZdS )ú8TestUltraJSONTests.test_encode_recursion_max.<locals>.O1r   Nr  r   r   r   ÚO1r  Ž  r  r   r  úMaximum recursion level reachedrƒ   )r  r‰   rŠ   ÚOverflowErrorr1   r2   )r4   r  r  rè   s       r   Útest_encode_recursion_maxz,TestUltraJSONTests.test_encode_recursion_maxˆ  s  € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˜™œˆØ!˜r™tœtˆÔØ&3ˆÔÔ#åŒ]�=Ð0QÐRÑRÔRð 	-ð 	-ÝÔ˜mÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s   ÁA=Á=BÂBc                 óž   — d}d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzfdsa sda v9sa fdsaz0Unexpected character found when decoding 'false'rƒ   ©r‰   rŠ   r‡   r1   r3   )r4   Ú	jibberishrŒ   s      r   Útest_decode_jibberishz(TestUltraJSONTests.test_decode_jibberish˜  s–   € Ø(ˆ	Ø@ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	)ð 	)ÝÔ˜iÑ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s    AÁAÁ	AÚbroken_json)ú[Ú{ú]Ú}c                 óš   — d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzExpected object or valuerƒ   r  )r4   r  rŒ   s      r   Útest_decode_broken_jsonz*TestUltraJSONTests.test_decode_broken_jsonž  s“   € ð )ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	+ð 	+ÝÔ˜kÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ó   žA Á AÁAÚtoo_big_charr  r  c                 óœ   — t          j        t          d¬¦  «        5  t          j        |dz  ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz#Reached object decoding depth limitrƒ   i   r  )r4   r   s     r   Útest_decode_depth_too_bigz,TestUltraJSONTests.test_decode_depth_too_big¬  s’   € åŒ]�:Ð-RÐSÑSÔSð 	<ð 	<ÝÔ˜l¨kÑ:Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   œAÁAÁAÚ
bad_string)z"TESTINGz
"TESTING\"ÚtruÚfaÚnc                 óš   — d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzSUnexpected character found when decoding|Unmatched ''"' when when decoding 'string'rƒ   r  )r4   r#  rŒ   s      r   Útest_decode_bad_stringz)TestUltraJSONTests.test_decode_bad_string±  s˜   € ð:ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	*ð 	*ÝÔ˜jÑ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*r  zbroken_json, err_msg))z{{1337:""}}z:Key name of object must be 'string' when decoding 'object')z
{{"key":"}z*Unmatched ''"' when when decoding 'string')z[[[truez8Unexpected character found when decoding array value (2)c                 óÜ   — t          d¦  «        D ][}t          j        t          t	          j        |¦  «        ¬¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   Œ\d S )Nrô   rƒ   )Úranger‰   rŠ   r‡   ÚreÚescaper1   r3   )r4   r  Úerr_msgÚ_s       r   Útest_decode_broken_json_leakz/TestUltraJSONTests.test_decode_broken_json_leakÃ  s©   € õ �t‘”ð 	/ð 	/ˆAÝ”�zµ´¸7Ñ1CÔ1CÐDÑDÔDð /ð /ÝÔ! +Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /øð	/ð 	/s   ¿A Á A$	Á'A$	Úinvalid_dict)z{{{{31337}}}}z{{{{"key":}}}}z{{{{"key"}}}}c                 óš   — d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz{Key name of object must be 'string' when decoding 'object'|No ':' found when decoding object value|Expected object or valuerƒ   r  )r4   r0  rŒ   s      r   Útest_decode_invalid_dictz+TestUltraJSONTests.test_decode_invalid_dictÓ  s˜   € ð'ð 	õ
 Œ]�:¨SÐ1Ñ1Ô1ð 	,ð 	,ÝÔ˜lÑ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,r  Únumeric_int_as_strÚ31337z-31337c                 óT   — t          |¦  «        t          j        |¦  «        k    sJ ‚d S r!   )r†   r1   r3   )r4   r3  s     r   Útest_decode_numeric_intz*TestUltraJSONTests.test_decode_numeric_intä  s.   € åÐ%Ñ&Ô&­%Ô*;Ð<NÑ*OÔ*OÒOÐOÐOÐOÐOÐOr   c                 óÊ  — d}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚dt          j        d¦  «        k    sJ ‚d S )Nz31337   1337ú z"  \u0000\r\n "z   
 rª   )r4   Úwrapped_inputrB   Úalone_inputs       r   Útest_encode_null_characterz-TestUltraJSONTests.test_encode_null_characterè  sò   € Ø)ˆÝÔ" =Ñ1Ô1ˆà¥¤
¨6Ñ 2Ô 2Ò2Ð2Ð2Ð2Ø�œ MÑ2Ô2Ò2Ð2Ð2Ð2Ø¥Ô 1°&Ñ 9Ô 9Ò9Ð9Ð9Ð9àˆÝÔ" ;Ñ/Ô/ˆà�dœj¨Ñ0Ô0Ò0Ð0Ð0Ð0Ø�œ KÑ0Ô0Ò0Ð0Ð0Ð0Ø�eÔ/°Ñ7Ô7Ò7Ð7Ð7Ð7Ø#¥uÔ'8¸Ñ'IÔ'IÒIÐIÐIÐIÐIÐIr   c                 ób   — d}t          j        |¦  «        t          j        |¦  «        k    sJ ‚d S )Nz"31337 \u0000 31337"©r1   r3   r>   r?   )r4   r9  s     r   Útest_decode_null_characterz-TestUltraJSONTests.test_decode_null_characterø  s3   € Ø/ˆÝÔ  Ñ/Ô/µ4´:¸mÑ3LÔ3LÒLÐLÐLÐLÐLÐLr   c                 óž   — g d¢}t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S )N)ì   ÿÿÿÿ r@  r@  r@  r@  r@  r=   ©r4   Ú
long_inputrB   s      r   Ú test_encode_list_long_conversionz3TestUltraJSONTests.test_encode_list_long_conversionü  sb   € ð
ð 
ð 
ˆ
õ Ô" :Ñ.Ô.ˆà�TœZ¨Ñ/Ô/Ò/Ð/Ð/Ð/Ø�UÔ.¨vÑ6Ô6Ò6Ð6Ð6Ð6Ð6Ð6r   rB  r@  l   ÿÿÿÿ c                 óÊ   — t          j        |¦  «        }|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚d S r!   rª   rA  s      r   Útest_encode_long_conversionz.TestUltraJSONTests.test_encode_long_conversion
  sj   € åÔ" :Ñ.Ô.ˆà�TœZ¨Ñ/Ô/Ò/Ð/Ð/Ð/Ø�œ JÑ/Ô/Ò/Ð/Ð/Ð/Ø�UÔ.¨vÑ6Ô6Ò6Ð6Ð6Ð6Ð6Ð6r   ÚbigNumì            ìûÿÿÿ        c                 óö   — t          j        |¦  «        }t          |¦  «        |k    sJ ‚t          j        t
          d¬¦  «        5  t          j        |¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S ©Nz#Value is too big|Value is too smallrƒ   )r1   r2   r   r‰   rŠ   r‡   r3   )r4   rF  Úencodings      r   Ú#test_dumps_ints_larger_than_maxsizez6TestUltraJSONTests.test_dumps_ints_larger_than_maxsize  sË   € åÔ$ VÑ,Ô,ˆÝ�6‰{Œ{˜hÒ&Ð&Ð&Ð&åŒ]ÝØ7ð
ñ 
ô 
ð 	9ð 	9õ Ô$ XÑ.Ô.°&Ò8Ð8Ð8Ð8Ð8ð		9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9s   ÁA.Á.A2Á5A2Úint_exp)Ú1337E40z1.337E40z1337E+9z	1.337e+40z1.337E-4c                 ó^   — t          j        |¦  «        t          j        |¦  «        k    sJ ‚d S r!   r=  )r4   rM  s     r   Útest_decode_numeric_int_expz.TestUltraJSONTests.test_decode_numeric_int_exp  s0   € õ Ô  Ñ)Ô)­T¬Z¸Ñ-@Ô-@Ò@Ð@Ð@Ð@Ð@Ð@r   c                 óš   — d}t          j        t          |¬¦  «        5  t          j        d ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz/a bytes-like object is required, not 'NoneType'rƒ   )r‰   rŠ   rˆ   r1   r3   ©r4   rŒ   s     r   Útest_loads_non_str_bytes_raisesz2TestUltraJSONTests.test_loads_non_str_bytes_raises#  s‘   € Ø?ˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	$ð 	$ÝÔ˜dÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r  rø   )l   £Mö+ l        l        l   ÿÿ c                 óR   — d|› d�}t          j        |¦  «        d         |k    sJ ‚d S )Nz{"id": r  Úid©r1   r3   )r4   rø   Údocs      r   Ú&test_decode_number_with_32bit_sign_bitz9TestUltraJSONTests.test_decode_number_with_32bit_sign_bit(  s;   € ð !˜Ð Ð Ð ˆÝÔ  Ñ%Ô% dÔ+¨sÒ2Ð2Ð2Ð2Ð2Ð2r   c                 ó�   — t          d¦  «        D ]5}d                     ¦   «         }|dz  dz  dz  }t          j        |¦  «         Œ6d S )Nrx   õ   Ã¥é   r*   )r*  Úencoder1   r2   )r4   r.  ÚbaseÚescape_inputs       r   Útest_encode_big_escapez)TestUltraJSONTests.test_encode_big_escape/  sW   € å�r‘”ð 	,ð 	,ˆAØ—?’?Ñ$Ô$ˆDØ $™;¨Ñ-°Ñ1ˆLÝÔ˜lÑ+Ô+Ð+Ð+ð	,ð 	,r   c                 ó    — t          d¦  «        D ]=}d                     ¦   «         }d}||dz  dz  dz  z   |z   }t          j        |¦  «         Œ>d S )Nrx   rZ  ó   "r[  r*   )r*  r\  r1   r3   )r4   r.  r]  Úquoter^  s        r   Útest_decode_big_escapez)TestUltraJSONTests.test_decode_big_escape6  sf   € å�r‘”ð 	,ð 	,ˆAØ—?’?Ñ$Ô$ˆDØˆEà  D¨4¡K°$Ñ$6¸Ñ$:Ñ;¸eÑCˆLÝÔ˜lÑ+Ô+Ð+Ð+ð	,ð 	,r   c                 ó¢   ‡— ddiŠ G ˆfd„d¦  «        } |¦   «         }t          j        |¦  «        }t          j        |¦  «        }|‰k    sJ ‚d S )NÚkeyr®   c                   ó   •— e Zd Zˆ fd„ZdS )ú1TestUltraJSONTests.test_to_dict.<locals>.DictTestc                 ó   •— ‰S r!   r   )r4   r   s    €r   ÚtoDictz8TestUltraJSONTests.test_to_dict.<locals>.DictTest.toDictC  s   ø€ Ø�r   N)r  r	  r
  ri  r   s   €r   ÚDictTestrg  B  s.   ø€ € € € € ðð ð ð ð ð ð r   rj  rL   )r4   rj  ÚorB   r–   r   s        @r   Útest_to_dictzTestUltraJSONTests.test_to_dict?  s|   ø€ Ø�EˆNˆð	ð 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆH‰JŒJˆÝÔ" 1Ñ%Ô%ˆåÔ Ñ'Ô'ˆØ�aŠxˆxˆxˆxˆxˆxr   c           	      óX  ‡—  G ˆfd„d¦  «        Šd}t          j        t          |¬¦  «        5  t          j         ‰d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   dt          j         ‰d¦  «        t
          ¬¦  «        k    sJ ‚d„ }d	t          j         ‰d¦  «        |¬¦  «        k    sJ ‚d
„ }t          j        t          d¬¦  «        5  t          j         ‰d¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d„ }t          j        t          j         ‰d¦  «        |¬¦  «        ¦  «        dk    sJ ‚d„ }t          j        t          j        t          j        ddd¦  «        ¦  «        ¦  «        t          j        t          j         ‰d¦  «        |¬¦  «        ¦  «        k    sJ ‚ ‰d¦  «         ‰d¦  «        g}t          j
        t          j        |t
          ¬¦  «        ¦  «        t          j        t          j        |t
          ¬¦  «        ¦  «        k    sJ ‚d S )Nc                   ó>   •— e Zd Zdd„Zeˆ fd„¦   «         Zdefd„ZdS )ú<TestUltraJSONTests.test_default_handler.<locals>._TestObjectÚreturnNc                 ó   — || _         d S r!   )rø   )r4   rø   s     r   Ú__init__zETestUltraJSONTests.test_default_handler.<locals>._TestObject.__init__N  s   € Ø�”��r   c                 ó   •—  ‰d¦  «        S )NÚrecursive_attrr   )r4   Ú_TestObjects    €r   rt  zKTestUltraJSONTests.test_default_handler.<locals>._TestObject.recursive_attrQ  s   ø€ à"�{Ð#3Ñ4Ô4Ð4r   c                 ó*   — t          | j        ¦  «        S r!   )r   rø   ©r4   s    r   Ú__str__zDTestUltraJSONTests.test_default_handler.<locals>._TestObject.__str__U  s   € Ý˜4œ8‘}”}Ð$r   ©rp  N)r  r	  r
  rr  Úpropertyrt  r   rx  )ru  s   €r   ru  ro  M  si   ø€ € € € € ðð ð ð ð ð5ð 5ð 5ð 5ñ ŒXð5ð% ð %ð %ð %ð %ð %ð %r   ru  r  rƒ   rõ   z"foo")Údefault_handlerc                 ó   — dS )NÚfoobarr   ©r.  s    r   Ú
my_handlerz;TestUltraJSONTests.test_default_handler.<locals>.my_handler]  s   € Ø�8r   z"foobar"c                 ó    — t          d¦  «        ‚)NúI raise for anything)rˆ   r~  s    r   Úmy_handler_raiseszBTestUltraJSONTests.test_default_handler.<locals>.my_handler_raisesd  s   € ÝÐ2Ñ3Ô3Ð3r   r�  c                 ó   — dS )Né*   r   r~  s    r   Úmy_int_handlerz?TestUltraJSONTests.test_default_handler.<locals>.my_int_handlerj  s   € Ø�2r   r„  c                 ó.   — t          j         ddd¦  «        S )Nrî   r*   r+   )rÄ   r~  s    r   Úmy_obj_handlerz?TestUltraJSONTests.test_default_handler.<locals>.my_obj_handlert  s   € ÝÔ$ T¨1¨aÑ0Ô0Ð0r   rî   r*   r+   Úbar)Údefault)r‰   rŠ   r  r1   r2   r   rˆ   r3   rÄ   r>   r?   r”   )r4   rŒ   r  r‚  r…  r‡  Úobj_listru  s          @r   Útest_default_handlerz'TestUltraJSONTests.test_default_handlerL  s:  ø€ ð		%ð 		%ð 		%ð 		%ð 		%ð 		%ð 		%ñ 		%ô 		%ð 		%ð 0ˆÝŒ]�=°Ð4Ñ4Ô4ð 	2ð 	2ÝÔ˜k˜k¨%Ñ0Ô0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2à�%Ô+¨K¨K¸Ñ,>Ô,>ÕPSÐTÑTÔTÒTÐTÐTÐTð	ð 	ð 	ð �UÔ.ØˆK˜ÑÔ°
ð
ñ 
ô 
ò 
ð 
ð 
ð 
ð	4ð 	4ð 	4õ Œ]�9Ð,BÐCÑCÔCð 	Uð 	UÝÔ˜k˜k¨%Ñ0Ô0ÐBSÐTÑTÔTÐTð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uð	ð 	ð 	õ ÔÝÔ! + +¨eÑ"4Ô"4ÀnÐUÑUÔUñô ð òð ð ð ð	1ð 	1ð 	1õ Ô ÝÔ�hÔ/°°a¸Ñ;Ô;Ñ<Ô<ñ
ô 
åÔÝÔ˜k˜k¨%Ñ0Ô0À.ÐQÑQÔQñ
ô 
ò
ð 
ð 
ð 
ð  �K Ñ&Ô&¨¨°EÑ(:Ô(:Ð;ˆÝŒz�$œ* XµsÐ;Ñ;Ô;Ñ<Ô<ÅÔ@QÝÔ˜h½Ð<Ñ<Ô<ñA
ô A
ò 
ð 
ð 
ð 
ð 
ð 
s#   ®AÁAÁAÃ C?Ã?DÄDc                 óž   —  G d„ d¦  «        } |dddd¬¦  «        }t          j        t          j        |¦  «        ¦  «        ddddœk    sJ ‚d S )	Nc                   ó   — e Zd Zdd„Zd„ ZdS )ú:TestUltraJSONTests.test_encode_object.<locals>._TestObjectrp  Nc                 ó>   — || _         || _        || _        || _        d S r!   ©rK   ÚbÚ_cr   )r4   rK   r‘  r’  r   s        r   rr  zCTestUltraJSONTests.test_encode_object.<locals>._TestObject.__init__„  s"   € Ø�”Ø�”Ø�”Ø�”��r   c                 ó   — dS rj   r   rw  s    r   Úez<TestUltraJSONTests.test_encode_object.<locals>._TestObject.eŠ  s   € Ø�qr   ry  )r  r	  r
  rr  r”  r   r   r   ru  rŽ  ƒ  s7   € € € € € ðð ð ð ðð ð ð ð r   ru  r)   r*   r+   r³   r�  )rK   r‘  r   re   )r4   ru  Útest_objects      r   Útest_encode_objectz%TestUltraJSONTests.test_encode_object‚  s�   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð "�k A¨¨q°AÐ6Ñ6Ô6ˆÝÔ ¥Ô!2°;Ñ!?Ô!?Ñ@Ô@ØØØðE
ð E
ò 
ð 
ð 
ð 
ð 
ð 
r   c                 ó*   — t           j        dk    sJ ‚d S )Nzpandas._libs.json)r1   r  rw  s    r   Útest_ujson__name__z%TestUltraJSONTests.test_ujson__name__•  s   € åŒ~Ð!4Ò4Ð4Ð4Ð4Ð4Ð4r   N)Ir  r	  r
  r‰   ÚmarkÚskipifr   Úparametrizer9   rH   rM   rY   r[   r`   rg   ÚmathÚpirm   rq   ru   rz   r~   r�   r�   r—   r›   rž   r¢   r¤   r¨   r¬   r±   rµ   r¼   r¿   rÌ   rÔ   rÄ   rÆ   rÝ   râ   rç   r   r]   Ú
datetime64ÚnanÚinfrì   rû   rþ   r  r  r  r  r"  r(  r/  r2  r6  r;  r>  rC  rE  rL  rP  rS  rX  r_  rc  rl  r‹  r–  r˜  r   r   r   r&   r&   6   s|  € € € € € Ø„[×Ò˜D˜Ð)OÐÑPÔPØ„[×ÒØ!ð		
ð 		
ð 		
ñô ð ð  ñô ñ QÔPð ð „[×Ò˜^¨d°E¨]Ñ;Ô;ð5ð 5ñ <Ô;ð5ð2 „[×ÒØÐXÐXÐXñô ðð ñô ðð	ð 	ð 	ðð ð ðKð Kð Kð „[×Ò˜]¨V°VÐ,<Ñ=Ô=ðRð Rñ >Ô=ðRð „[×Ò˜^¨d¬g¸¼°xÐ-@ÑAÔAðMð Mñ BÔAðMð
ð ð ð9ð 9ð 9ð:ð :ð :ð>ð >ð >ð „[×ÒØð	
ð 	
ð 	
ñô ð	Jð 	Jñô ð	JðCð Cð Cð „[×ÒØØ	KÐMcÐdñô ð&ð &ñ	ô ð&ð0ð 0ð 0ð&ð &ð &ð&ð &ð &ð&ð &ð &ð(ð (ð (ð=ð =ð =ð „[×ÒØð	
ð 	
ð 	
ñô ð6ð 6ñô ð6ð7ð 7ð 7ð7ð 7ð 7ð „[×Ò˜_Ð.AÐ.AÐ.AÑBÔBð:ð :ñ CÔBð:ð:ð :ð :ð:ð :ð :ð „[×ÒØØ	ˆŒ‰Œ˜-˜(œ-¨¨1¨aÑ0Ô0°-°(´-ÀÀBÈÈFÑ2SÔ2SÐTñô ð"ð "ñ	ô ð"ð
"ð "ð "ð"ð "ð "ð „[×ÒØ˜#˜}˜rœ}¨U°DÑ9Ô9¸2¼6À2Ä6ÈBÌFÈ7ÐSñô ðKð Kñô ðKð4ð 4ð 4ð(&ð &ð &ðð ð ð-ð -ð -ð )ð )ð )ð „[×ÒØð	
ð 	
ð 	
ñô ð+ð +ñô ð+ð
 „[×Ò˜^¨c°3¨ZÑ8Ô8ð<ð <ñ 9Ô8ð<ð „[×ÒØð	
ð 	
ð 	
ñ	ô 	ð*ð *ñ	ô 	ð*ð „[×ÒØð	
ð 	
ð 	
ñ
ô 
ð/ð /ñ
ô 
ð/ð
 „[×ÒØð	
ð 	
ð 	
ñô ð,ð ,ñô ð,ð „[×ÒÐ1°G¸XÐ3FÑGÔGðPð Pñ HÔGðPðJð Jð Jð Mð Mð Mð7ð 7ð 7ð „[×Ò˜\Ð,?ÐAUÐ+VÑWÔWð7ð 7ñ XÔWð7ð „[×Ò˜X¨¨|Ð'<Ñ=Ô=ð9ð 9ñ >Ô=ð9ð „[×ÒØÐNÐNÐNñô ðAð Añô ðAð$ð $ð $ð
 „[×Ò˜UÐ$KÐ$KÐ$KÑLÔLð3ð 3ñ MÔLð3ð,ð ,ð ,ð,ð ,ð ,ðð ð ð4
ð 4
ð 4
ðl
ð 
ð 
ð&5ð 5ð 5ð 5ð 5r   r&   c                   óî   — e Zd Zej                             dddg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestNumpyJSONTestsÚ
bool_inputTFc                 ó|   — t          |¦  «        }t          j        t          j        |¦  «        ¦  «        |k    sJ ‚d S r!   )Úboolr1   r3   r2   )r4   r£  r‘  s      r   Ú	test_boolzTestNumpyJSONTests.test_bool›  s<   € å�ÑÔˆÝÔ ¥Ô!2°1Ñ!5Ô!5Ñ6Ô6¸!Ò;Ð;Ð;Ð;Ð;Ð;r   c                 óè   — t          j        g d¢t          ¬¦  «        }t          j        t          j        t          j        |¦  «        ¦  «        t          ¬¦  «        }t          j        ||¦  «         d S )N)TFTTFTFF©Údtype)r]   Úarrayr¥  r1   r3   r2   rT   Úassert_numpy_array_equal)r4   Ú
bool_arrayrB   s      r   Útest_bool_arrayz"TestNumpyJSONTests.test_bool_array   si   € Ý”XØ@Ð@Ð@Íð
ñ 
ô 
ˆ
õ ”�%Ô+­EÔ,=¸jÑ,IÔ,IÑJÔJÕRVÐWÑWÔWˆÝ
Ô# J°Ñ7Ô7Ð7Ð7Ð7r   c                 ó¸   — t          j        |¦  «        j        } |d¦  «        } |t          j        t          j        |¦  «        ¦  «        ¦  «        |k    sJ ‚d S )Nr)   ©r]   r©  Útyper1   r3   r2   ©r4   Úany_int_numpy_dtypeÚklassr_   s       r   Útest_intzTestNumpyJSONTests.test_int§  sY   € Ý”Ð,Ñ-Ô-Ô2ˆØˆe�A‰hŒhˆàˆu•UÔ&¥uÔ'8¸Ñ'=Ô'=Ñ>Ô>Ñ?Ô?À3ÒFÐFÐFÐFÐFÐFr   c                 ó  — t          j        dt          ¬¦  «        }|                     |¦  «        }t          j        t          j        t          j        |¦  «        ¦  «        |¬¦  «        }t          j	        ||¦  «         d S )Néd   r¨  )
r]   Úaranger†   Úastyperª  r1   r3   r2   rT   r«  )r4   r²  ÚarrÚ	arr_inputÚ
arr_outputs        r   Útest_int_arrayz!TestNumpyJSONTests.test_int_array­  su   € ÝŒi˜¥3Ð'Ñ'Ô'ˆØ—J’JÐ2Ñ3Ô3ˆ	å”XÝÔ�eÔ/°	Ñ:Ô:Ñ;Ô;ÐCVð
ñ 
ô 
ˆ
õ 	Ô# I¨zÑ:Ô:Ð:Ð:Ð:r   c                 óR  — |dv rt           st          j        d¦  «         t          j        |¦  «        j        }|dk    rt          j        d¦  «        j        }nt          j        |¦  «        j        } |t          j	        t          j
        |¦  «        ¦  «        ¦  «        |k    sJ ‚d S )N)Úint64Úuint64z-Cannot test 64-bit integer on 32-bit platformr¿  r¾  )r   r‰   Úskipr]   r©  r°  ÚiinfoÚmaxr1   r3   r2   r±  s       r   Útest_int_maxzTestNumpyJSONTests.test_int_max¶  s¢   € ØÐ"5Ð5Ð5½dÐ5ÝŒKÐGÑHÔHÐHå”Ð,Ñ-Ô-Ô2ˆð  (Ò*Ð*Ý”(˜7Ñ#Ô#Ô'ˆCˆCå”(Ð.Ñ/Ô/Ô3ˆCàˆu•UÔ&¥uÔ'8¸Ñ'=Ô'=Ñ>Ô>Ñ?Ô?À3ÒFÐFÐFÐFÐFÐFr   c                 ó¸   — t          j        |¦  «        j        } |d¦  «        } |t          j        t          j        |¦  «        ¦  «        ¦  «        |k    sJ ‚d S )NgõJY†8p@r¯  ©r4   Úfloat_numpy_dtyper³  r_   s       r   Ú
test_floatzTestNumpyJSONTests.test_floatÅ  sY   € Ý”Ð*Ñ+Ô+Ô0ˆØˆe�H‰oŒoˆàˆu•UÔ&¥uÔ'8¸Ñ'=Ô'=Ñ>Ô>Ñ?Ô?À3ÒFÐFÐFÐFÐFÐFr   c                 ó  — t          j        dddt          ¬¦  «        }|                     |¦  «        }t          j        t          j        t          j        |d¬¦  «        ¦  «        |¬¦  «        }t          j	        ||¦  «         d S )Ng      )@g×£p=
7g@geâX·û?r¨  r(   r-   )
r]   r·  Úfloatr¸  rª  r1   r3   r2   rT   Úassert_almost_equal)r4   rÆ  r¹  Úfloat_inputÚfloat_outputs        r   Útest_float_arrayz#TestNumpyJSONTests.test_float_arrayË  s~   € ÝŒi˜˜f fµEÐ:Ñ:Ô:ˆØ—j’jÐ!2Ñ3Ô3ˆå”xÝÔ�eÔ/°ÈbÐQÑQÔQÑRÔRØ#ð
ñ 
ô 
ˆõ 	Ô˜{¨LÑ9Ô9Ð9Ð9Ð9r   c           
      ó
  — t          j        |¦  «        j        } |t          j        |¦  «        j        dz  ¦  «        }t          j         |t          j        t          j	        |d¬¦  «        ¦  «        ¦  «        |¦  «         d S )Nrx   r(   r-   )
r]   r©  r°  ÚfinforÂ  rT   rÊ  r1   r3   r2   rÅ  s       r   Útest_float_maxz!TestNumpyJSONTests.test_float_maxÕ  s�   € Ý”Ð*Ñ+Ô+Ô0ˆØˆe•B”HÐ.Ñ/Ô/Ô3°bÑ8Ñ9Ô9ˆå
ÔØˆE•%Ô#¥EÔ$5°cÈBÐ$OÑ$OÔ$OÑPÔPÑQÔQÐSVñ	
ô 	
ð 	
ð 	
ð 	
r   c           	      óî   — t          j        d¦  «        }|                     d¦  «        }t          j        t          j        t          j        t          j        |¦  «        ¦  «        ¦  «        |¦  «         d S )Né`   )r*   r*   r*   r*   r+   r*   ©	r]   r·  ÚreshaperT   r«  rª  r1   r3   r2   ©r4   r¹  s     r   Útest_array_basicz#TestNumpyJSONTests.test_array_basicÝ  se   € ÝŒi˜‰mŒmˆØ�kŠkÐ,Ñ-Ô-ˆå
Ô#ÝŒH•UÔ&¥uÔ'8¸Ñ'=Ô'=Ñ>Ô>Ñ?Ô?Àñ	
ô 	
ð 	
ð 	
ð 	
r   Úshape))rx   rx   ©rk   rk   r³   )r¶  r)   c           	      óî   — t          j        d¦  «        }|                     |¦  «        }t          j        t          j        t          j        t          j        |¦  «        ¦  «        ¦  «        |¦  «         d S )Nr¶  rÓ  )r4   r×  r¹  s      r   Útest_array_reshapedz&TestNumpyJSONTests.test_array_reshapedå  sd   € åŒi˜‰nŒnˆØ�kŠk˜%Ñ Ô ˆå
Ô#ÝŒH•UÔ&¥uÔ'8¸Ñ'=Ô'=Ñ>Ô>Ñ?Ô?Àñ	
ô 	
ð 	
ð 	
ð 	
r   c           
      ó  — dg i i g ddddgddig	}t          j        |t          ¬¦  «        }t          j        t          j        t          j        |¦  «        ¦  «        t          ¬¦  «        }t          j        ||¦  «         d S )NrK   r„  g33333sX@r‘  re  rø   r¨  )r]   rª  Úobjectr1   r3   r2   rT   r«  )r4   Úarr_listr¹  Úresults       r   Útest_array_listz"TestNumpyJSONTests.test_array_listî  s…   € àØØØØØØØ�#ˆJØ�EˆNð

ˆõ Œh�x¥vÐ.Ñ.Ô.ˆÝ”�%Ô+­EÔ,=¸cÑ,BÔ,BÑCÔCÍ6ÐRÑRÔRˆÝ
Ô# F¨CÑ0Ô0Ð0Ð0Ð0r   c                 ó  — t           j        }t          j        ddd|¬¦  «        }|                     d¦  «        }t          j        t          j        t          j        |¦  «        ¦  «        |¬¦  «        }t          j	        ||¦  «         d S )Ng°rh‘íY@gX9´Èvi@r)   r¨  rØ  )
r]   Úfloat32r·  rÔ  rª  r1   r3   r2   rT   rÊ  )r4   r©  r¹  Úarr_outs       r   Útest_array_floatz#TestNumpyJSONTests.test_array_floatþ  su   € Ý”
ˆåŒi˜ ¨!°5Ð9Ñ9Ô9ˆØ�kŠk˜)Ñ$Ô$ˆå”(�5Ô,­UÔ->¸sÑ-CÔ-CÑDÔDÈEÐRÑRÔRˆÝ
Ô˜s GÑ,Ô,Ð,Ð,Ð,r   c                 óâ   — t          j        d¦  «        }t          j        t          |¬¦  «        5  t          j        t          j        d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz>array(1) (numpy-scalar) is not JSON serializable at the momentrƒ   r)   )	r+  r,  r‰   rŠ   rˆ   r1   r2   r]   rª  rR  s     r   Útest_0d_arrayz TestNumpyJSONTests.test_0d_array  sª   € åŒiØLñ
ô 
ˆõ Œ]�9¨CÐ0Ñ0Ô0ð 	+ð 	+ÝÔ�bœh q™kœkÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ó   °'A$Á$A(Á+A(c                 óâ   — t          j        d¦  «        }t          j        t          |¬¦  «        5  t          j        t          j        d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz@1234.5.* \(numpy-scalar\) is not JSON serializable at the momentrƒ   g     J“@)	r+  Úcompiler‰   rŠ   rˆ   r1   r2   r]   Ú
longdoublerR  s     r   Útest_array_long_doublez)TestNumpyJSONTests.test_array_long_double  s¬   € ÝŒjØPñ
ô 
ˆõ Œ]�9¨CÐ0Ñ0Ô0ð 	5ð 	5ÝÔ�bœm¨FÑ3Ô3Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ræ  N)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¢  š  s7  € € € € € Ø„[×Ò˜\¨D°%¨=Ñ9Ô9ð<ð <ñ :Ô9ð<ð8ð 8ð 8ðGð Gð Gð;ð ;ð ;ðGð Gð GðGð Gð Gð:ð :ð :ð
ð 
ð 
ð
ð 
ð 
ð „[×Ò˜WÐ&EÐ&EÐ&EÑFÔFð
ð 
ñ GÔFð
ð1ð 1ð 1ð -ð -ð -ð+ð +ð +ð5ð 5ð 5ð 5ð 5r   r¢  c                   ó�  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             dg d¢¦  «        d	„ ¦   «         Ze	j
                             d
g dgg¦  «        d„ ¦   «         Ze	j
                             dddg¦  «        d„ ¦   «         Ze	j
                             dd› d› g¦  «        d„ ¦   «         Zd„ Zd„ Ze	j
                             dd› d› g¦  «        d„ ¦   «         Ze	j
                             dg d¢¦  «        e	j
                             dddg¦  «        d„ ¦   «         ¦   «         Zd„ Zd „ Zd!„ Ze	j
                             d" ed#¬$¦  «         ed¬$¦  «         ed%d&d&¬'¦  «         ed%d(d)¬'¦  «         edd&¬*¦  «         ed¬+¦  «         edd¬,¦  «         eddd¬-¦  «         ed.d.d.¬-¦  «        g	¦  «        d/„ ¦   «         Zd0„ Zd1S )2ÚTestPandasJSONTestsc                 ó|  — t           j        }t          g d¢g d¢gddgg d¢|¬¦  «        }|€i nd|i}|j        |k                         ¦   «         sJ ‚t          j        t          j        |fi |¤Ž¦  «        }|j        |k                         ¦   «         sJ ‚|dk    rt          |¦  «        }t          di |¤Ž}nt          |¦  «        }|d	k    rg d
¢|_	        ddg|_
        n*|dk    r
ddg|_
        n|dk    r|                     ¦   «         }|j        |k                         ¦   «         sJ ‚t          j        ||¦  «         d S )N©r)   r*   r+   ©r³   rk   é   rK   r‘  ©ÚxÚyÚz)r   Úcolumnsr©  r$   r   r   )r   r)   r*   r   r)   r   r   r   )r]   r¾  r   ÚdtypesÚallr1   r3   r2   r   rõ  r   Ú	transposerT   Úassert_frame_equal)r4   r$   r©  ÚdfrA   rB   r–   s          r   Útest_dataframez"TestPandasJSONTests.test_dataframe  s|  € Ý”ˆåØˆYˆY˜	˜	˜	Ð"Ø˜�*Ø#�O�OØð	
ñ 
ô 
ˆð %˜n˜˜°8¸VÐ2DˆØ”	˜UÒ"×'Ò'Ñ)Ô)Ð)Ð)Ð)åÔ"¥5Ô#4°RÐ#IÐ#I¸=Ð#IÐ#IÑJÔJˆØ”	˜UÒ"×'Ò'Ñ)Ô)Ð)Ð)Ð)ð �WÒÐÝ˜fÑ%Ô%ˆCÝÐ%Ð% Ð%Ð%ˆFˆFå˜vÑ&Ô&ˆFð �XÒÐØ"˜˜ˆBŒJØ˜1�vˆBŒHˆHØ�yÒ Ð Ø˜1�vˆBŒHˆHØ�wÒÐØ—’‘”ˆBà”	˜UÒ"×'Ò'Ñ)Ô)Ð)Ð)Ð)Ý
Ô˜f bÑ)Ô)Ð)Ð)Ð)r   c                 ób  — t          g d¢g d¢gddgg d¢¬¦  «        }||                     ¦   «         dœ}|€i nd|i}t          j        t          j        |fi |¤Ž¦  «        t          j        t          j        |fi |¤Ž¦  «        dœ}t          j        t          j        |fi |¤Ž¦  «        |k    sJ ‚d S )	Nrî  rï  rK   r‘  rñ  )r   rõ  )Údf1Údf2r$   )r   Úcopyr1   r3   r2   )r4   r$   rú  ÚnestedÚkwargsÚexps         r   Útest_dataframe_nestedz)TestPandasJSONTests.test_dataframe_nested:  sâ   € ÝØˆYˆY˜	˜	˜	Ð"¨3°¨*¸o¸o¸oð
ñ 
ô 
ˆð  B§G¢G¡I¤IÐ.Ð.ˆØ�~��¨H°fÐ+=ˆõ Ô$¥UÔ%6°rÐ%DÐ%D¸VÐ%DÐ%DÑEÔEÝÔ$¥UÔ%6°rÐ%DÐ%D¸VÐ%DÐ%DÑEÔEð
ð 
ˆõ Ô ¥Ô!2°6Ð!DÐ!D¸VÐ!DÐ!DÑEÔEÈÒLÐLÐLÐLÐLÐLr   c                 ó  — t           j        }t          g d¢dg d¢|¬¦  «                             ¦   «         }|j        |k    sJ ‚|€i nd|i}t          j        t          j        |fi |¤Ž¦  «        }|j        |k    sJ ‚|dk    rt          |¦  «        }t          di |¤Ž}nt          |¦  «        }|dv r%d |_	        |                     ¦   «         }g d¢|_
        n|d	v rd |_	        g d
¢|_
        |j        |k    sJ ‚t          j        ||¦  «         d S )N©rx   rs   é   é(   é2   é<   Úseries©rð  é   rï   r|   rx   r(   )Únamer   r©  r$   r   )Nr   )Ú6Ú7Ú8r�   Ú10Ú15)r   r   )r   r)   r*   r+   r³   rk   r   )r]   r¾  r	   Úsort_valuesr©  r1   r3   r2   r   r  r   rT   Úassert_series_equal)r4   r$   r©  rÁ   rA   rB   r–   s          r   Útest_serieszTestPandasJSONTests.test_seriesH  sR  € Ý”ˆÝØ$Ð$Ð$ØØ&Ð&Ð&Øð	
ñ 
ô 
÷
 Š+‰-Œ-ð 	
ð Œw˜%ÒÐÐÐà$˜n˜˜°8¸VÐ2DˆåÔ"¥5Ô#4°QÐ#HÐ#H¸-Ð#HÐ#HÑIÔIˆØŒw˜%ÒÐÐÐà�WÒÐÝ˜fÑ%Ô%ˆCÝ�]�]˜c�]�]ˆFˆFå˜F‘^”^ˆFà�_Ð$Ð$ØˆAŒFØ×'Ò'Ñ)Ô)ˆFØ6Ð6Ð6ˆAŒGˆGØÐ,Ð,Ð,ØˆAŒFØ(Ð(Ð(ˆAŒGàŒw˜%ÒÐÐÐÝ
Ô˜v qÑ)Ô)Ð)Ð)Ð)r   c                 óz  — t          g d¢dg d¢¬¦  «                             ¦   «         }||                     ¦   «         dœ}|€i nd|i}t          j        t          j        |fi |¤Ž¦  «        t          j        t          j        |fi |¤Ž¦  «        dœ}t          j        t          j        |fi |¤Ž¦  «        |k    sJ ‚d S )Nr  r
  r  )r  r   )Ús1Ús2r$   )r	   r  rÿ  r1   r3   r2   )r4   r$   rÁ   r   r  r  s         r   Útest_series_nestedz&TestPandasJSONTests.test_series_nestedh  sæ   € ÝØ$Ð$Ð$¨8Ð;OÐ;OÐ;Oð
ñ 
ô 
ç
Š+‰-Œ-ð 	
ð  §¢¡¤Ð*Ð*ˆØ�~��¨H°fÐ+=ˆõ Ô#¥EÔ$5°aÐ$BÐ$B¸6Ð$BÐ$BÑCÔCÝÔ#¥EÔ$5°aÐ$BÐ$B¸6Ð$BÐ$BÑCÔCð
ð 
ˆõ Ô ¥Ô!2°6Ð!DÐ!D¸VÐ!DÐ!DÑEÔEÈÒLÐLÐLÐLÐLÐLr   c                 ó¦  — t          g d¢d¬¦  «        }t          t          j        t          j        |¦  «        ¦  «        d¬¦  «        }t	          j        ||¦  «         t          t          j        t          j        |d¬¦  «        ¦  «        ¦  «        }t          di |¤Ž}t	          j        ||¦  «         |j        |j        k    sJ ‚t	          j        ||¦  «         |j        |j        k    sJ ‚t          t          j        t          j        |d¬¦  «        ¦  «        d¬¦  «        }t	          j        ||¦  «         t          t          j        t          j        |d¬¦  «        ¦  «        d¬¦  «        }t	          j        ||¦  «         t          t          j        t          j        |d¬¦  «        ¦  «        d¬¦  «        }t	          j        ||¦  «         d S )	N)é   é-   é   éb   é+   é   r   )r  r   )r$   r   r   r   )r   r1   r3   r2   rT   Úassert_index_equalr   r  )r4   ÚirB   r–   s       r   Ú
test_indexzTestPandasJSONTests.test_indexu  sÀ  € ÝÐ*Ð*Ð*°Ð9Ñ9Ô9ˆõ •uÔ(­Ô):¸1Ñ)=Ô)=Ñ>Ô>ÀWÐMÑMÔMˆÝ
Ô˜a Ñ(Ô(Ð(å�%Ô+­EÔ,=¸aÈÐ,PÑ,PÔ,PÑQÔQÑRÔRˆÝ��˜��ˆå
Ô˜a Ñ(Ô(Ð(ØŒv˜œÒ$Ð$Ð$Ð$å
Ô˜a Ñ(Ô(Ð(ØŒv˜œÒ$Ð$Ð$Ð$åÝÔ�eÔ/°¸(ÐCÑCÔCÑDÔDÈ7ð
ñ 
ô 
ˆõ 	Ô˜a Ñ(Ô(Ð(åÝÔ�eÔ/°¸)ÐDÑDÔDÑEÔEÈGð
ñ 
ô 
ˆõ 	Ô˜a Ñ(Ô(Ð(åÝÔ�eÔ/°¸'ÐBÑBÔBÑCÔCÈ'ð
ñ 
ô 
ˆõ 	Ô˜a Ñ(Ô(Ð(Ð(Ð(r   c           	      óÌ  — d}t          t          t          ddd¬¦  «        ¦  «        d ¬¦  «        }t          j        ||¬¦  «        }t          t          j        t          j        |¦  «        ¦  «        ¦  «        }t          j	        ||¦  «         t          t
          j                             d¦  «                             t          |¦  «        ¦  «        |¬¦  «        }t          t          j        t          j        ||¬¦  «        ¦  «        ¦  «        }|j        j                             t
          j        ¦  «        }t          |¦  «        |_        t          j        ||¦  «         d S )	Nré   z1/1/2000rs   )ÚperiodsÚunit©ÚfreqrÂ   r*   ©r   )r   Úlistr   r1   r2   r]   rª  r3   rT   r!  r	   ÚrandomÚdefault_rngÚstandard_normalÚlenr   r   r¸  r¾  r  )r4   rÃ   Úrngr7   r8   ÚtsÚ
idx_valuess          r   Útest_datetime_indexz'TestPandasJSONTests.test_datetime_index”  s%  € Øˆ	õ Ý•˜J°¸Ð>Ñ>Ô>Ñ?Ô?Àdð
ñ 
ô 
ˆõ Ô# C°9Ð=Ñ=Ô=ˆå¥¤­Ô):¸7Ñ)CÔ)CÑ DÔ DÑEÔEˆÝ
Ô˜c 7Ñ+Ô+Ð+å•B”I×)Ò)¨!Ñ,Ô,×<Ò<½SÀ¹X¼XÑFÔFÈcÐRÑRÔRˆÝ�Ô*­5Ô+<¸RÈ9Ð+UÑ+UÔ+UÑVÔVÑWÔWˆà”]Ô)×0Ò0µ´Ñ:Ô:ˆ
Ý% jÑ1Ô1ˆŒÝ
Ô˜r 7Ñ+Ô+Ð+Ð+Ð+r   Úinvalid_arr)z[31337,]z[,31337]z[]]z[,]c                 óš   — d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz[Expected object or value|Trailing data|Unexpected character found when decoding array valuerƒ   r  )r4   r3  rŒ   s      r   Útest_decode_invalid_arrayz-TestPandasJSONTests.test_decode_invalid_array§  s™   € ðCð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	+ð 	+ÝÔ˜kÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+r  r¹  r®   c                 óT   — |t          j        t          |¦  «        ¦  «        k    sJ ‚d S r!   r   rÕ  s     r   Útest_decode_arrayz%TestPandasJSONTests.test_decode_array¸  s*   € à•eÔ'­¨C©¬Ñ1Ô1Ò1Ð1Ð1Ð1Ð1Ð1r   Úextreme_numr@  r¯   c                 óT   — |t          j        t          |¦  «        ¦  «        k    sJ ‚d S r!   r   )r4   r8  s     r   Útest_decode_extreme_numbersz/TestPandasJSONTests.test_decode_extreme_numbers¼  s,   € à�eÔ/µ°KÑ0@Ô0@ÑAÔAÒAÐAÐAÐAÐAÐAr   Útoo_extreme_numrG  rH  c                 ó–   — t          j        t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rJ  r  )r4   r;  s     r   Útest_decode_too_extreme_numbersz3TestPandasJSONTests.test_decode_too_extreme_numbersÀ  s–   € åŒ]ÝØ7ð
ñ 
ô 
ð 	/ð 	/õ Ô˜oÑ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ó   œ>¾AÁAc                 ó:   — i t          j        d¦  «        k    sJ ‚d S )Nz{}
	 rV  rw  s    r   Ú%test_decode_with_trailing_whitespacesz9TestPandasJSONTests.test_decode_with_trailing_whitespacesÈ  s$   € Ø•UÔ& yÑ1Ô1Ò1Ð1Ð1Ð1Ð1Ð1r   c                 ó–   — t          j        t          d¬¦  «        5  t          j        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzTrailing datarƒ   z{}
	 ar  rw  s    r   Ú)test_decode_with_trailing_non_whitespacesz=TestPandasJSONTests.test_decode_with_trailing_non_whitespacesË  sŒ   € ÝŒ]�:¨_Ð=Ñ=Ô=ð 	*ð 	*ÝÔ˜jÑ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*r>  r5   c                 ó–   — t          j        t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rJ  r  )r4   r5   s     r   Útest_decode_array_with_big_intz2TestPandasJSONTests.test_decode_array_with_big_intÏ  s–   € åŒ]ÝØ7ð
ñ 
ô 
ð 	%ð 	%õ Ô˜eÑ$Ô$Ð$ð		%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%r>  Úfloat_number)	gÞ3ˆÓ­ùñ?gªRCÊÀó?g¨B4¡æ‡õ?gŽš
LO÷?g‰	jøù?g[_$´åÜú?gŒ¹k	ù ü?g}?5^ºIþ?gÍÌÌÌÌÌô?Úsignr€   r)   c                 ó|   — ||z  }t          j        |t          j        t	          |¦  «        ¦  «        d¬¦  «         d S )NgVçž¯Ò<)Úrtol)rT   rÊ  r1   r3   r   )r4   rF  rE  s      r   Útest_decode_floating_pointz.TestPandasJSONTests.test_decode_floating_point×  sL   € ð  	˜ÑˆÝ
ÔØ�%Ô+­C°Ñ,=Ô,=Ñ>Ô>ÀUð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óf   — t          t          d¦  «        ¦  «        }t          j        |¦  «         d S )Ni † )Úsetr*  r1   r2   )r4   rÁ   s     r   Útest_encode_big_setz'TestPandasJSONTests.test_encode_big_setì  s,   € Ý•�f‘”ÑÔˆåÔ˜!ÑÔÐÐÐr   c                 óR   — dt          j        t          ¦   «         ¦  «        k    sJ ‚d S )Nz[])r1   r2   rK  rw  s    r   Útest_encode_empty_setz)TestPandasJSONTests.test_encode_empty_setñ  s(   € Ø•uÔ(­©¬Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   c                 ót   — h d£}t          j        |¦  «        }t          j        |¦  «        }|D ]}||v sJ ‚Œ	d S )N>	   r)   r*   r+   r³   rk   rð  r  rï   r|   rL   )r4   rÁ   r•   r–   r   s        r   Útest_encode_setz#TestPandasJSONTests.test_encode_setô  sU   € Ø'Ð'Ð'ˆÝÔ Ñ"Ô"ˆÝÔ Ñ$Ô$ˆàð 	ð 	ˆAØ˜�6�6�6�6�6ð	ð 	r   Útdin  )Údaysé   rk   )ÚhoursÚminutesÚsecondsrs   r  )rR  Únanoseconds)rW  )ÚmicrosecondsrW  )ÚmillisecondsrX  rW  iç  c                 ór   — t          j        |d¬¦  «        }d|                     ¦   «         › d�}||k    sJ ‚d S )NT)Ú	iso_datesrÙ   rÚ   )r4   rQ  rÞ  rË   s       r   Útest_encode_timedelta_isoz-TestPandasJSONTests.test_encode_timedelta_isoü  sH   € õ  Ô" 2°Ð6Ñ6Ô6ˆØ(�r—|’|‘~”~Ð(Ð(Ð(ˆà˜Ò!Ð!Ð!Ð!Ð!Ð!r   c                 ó€   — t          ddgd¬¦  «        }t          |¬¦  «        }|                     ¦   «         dk    sJ ‚d S )Nz
2022-04-06z
2022-04-07ÚDr'  r)  z{})r   r   Úto_json)r4   Úprú  s      r   Útest_encode_periodindexz+TestPandasJSONTests.test_encode_periodindex  sH   € å˜ |Ð4¸3Ð?Ñ?Ô?ˆÝ˜QÐÑÔˆØ�zŠz‰|Œ|˜tÒ#Ð#Ð#Ð#Ð#Ð#r   N)r  r	  r
  rû  r  r  r  r#  r2  r‰   r™  r›  r5  r7  r:  r=  r@  rB  rD  rI  rL  rN  rP  r
   r\  ra  r   r   r   rì  rì    s3  € € € € € ð *ð  *ð  *ðDMð Mð Mð*ð *ð *ð@Mð Mð Mð)ð )ð )ð>,ð ,ð ,ð& „[×ÒØð	
ð 	
ð 	
ñô ð+ð +ñô ð+ð „[×Ò˜U R¨%¨ MÑ2Ô2ð2ð 2ñ 3Ô2ð2ð „[×Ò˜]Ð-@ÐBVÐ,WÑXÔXðBð Bñ YÔXðBð „[×ÒÐ.°E°ÀÐ=NÐ0OÑPÔPð/ð /ñ QÔPð/ð2ð 2ð 2ð*ð *ð *ð „[×Ò˜W¨% z°lÐ3DÐ&EÑFÔFð%ð %ñ GÔFð%ð „[×ÒØð
	
ð 
	
ð 
	
ñô ð „[×Ò˜V b¨! WÑ-Ô-ð
ð 
ñ .Ô-ñô ð
ðð ð ð
0ð 0ð 0ðð ð ð „[×ÒØàˆI˜3ÐÑÔØˆI˜2ÐÑÔØˆI˜B¨°1Ð5Ñ5Ô5ØˆI˜B¨°BÐ7Ñ7Ô7ØˆI˜2¨1Ð-Ñ-Ô-ØˆI !Ð$Ñ$Ô$ØˆI 1°!Ð4Ñ4Ô4ØˆI 1°1À!ÐDÑDÔDØˆI 3°SÀcÐJÑJÔJð
	
ñô ð"ð "ñô ð"ð$ð $ð $ð $ð $r   rì  )$rÇ   rÄ   r/   r>   rR   rœ  r+  rÆ   rä   Únumpyr]   r‰   Úpandas._libs.jsonÚ_libsr1   Úpandas.compatr   Úpandasr   r   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingrT   r   Úfixturer$   r&   r¢  rì  r   r   r   ú<module>rj     s  ðØ €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 	€	€	€	Ø €€€à €€€Ø Ð Ð Ð Ø €€€à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð Ð Ð Ð Ð Ð ð-ð -ð -ð  €„Ø8Ð8Ð8ðñ ô ðð ñô ðða	5ð a	5ð a	5ð a	5ð a	5ñ a	5ô a	5ð a	5ðHz5ð z5ð z5ð z5ð z5ñ z5ô z5ð z5ðz~$ð ~$ð ~$ð ~$ð ~$ñ ~$ô ~$ð ~$ð ~$ð ~$r   