a
    ze6                  
   @   s   d Z g dZdZddlmZmZ ddlmZ ddlZedd	d	d	dddd
Z	dd	d	d	dddddd	ddZ
dd	d	d	dddddd	ddZedddZdd ZdddddddddZdddddddddZdS )z2.0.9)dumpdumpsloadloadsJSONDecoderJSONDecodeErrorJSONEncoderzBob Ippolito <bob@redivi.com>   )r   r   )r       NFT)skipkeysensure_asciicheck_circular	allow_nanindent
separatorsdefault)	r
   r   r   r   clsr   r   r   	sort_keysc       	         K   s   |sD|rD|rD|rD|d u rD|d u rD|d u rD|	d u rD|
sD|sDt | }n2|d u rPt}|f |||||||	|
d|| }|D ]}|| qzd S N)r
   r   r   r   r   r   r   r   )_default_encoder
iterencoder   write)objfpr
   r   r   r   r   r   r   r   r   kwiterablechunk r   #/usr/lib/python3.9/json/__init__.pyr   x   s>    -r   c       	         K   st   |sB|rB|rB|rB|d u rB|d u rB|d u rB|d u rB|	sB|
sBt | S |d u rNt}|f ||||||||	d|
| S r   )r   encoder   )r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r      s:    ,
r   )object_hookobject_pairs_hookc                 C   s   | j }|tjtjfrdS |tjtjfr.dS |tjr<dS t| dkr| d s`| d r\dS dS | d s| d	 sx| d
 r|dS dS n$t| d	kr| d sdS | d sdS dS )Nzutf-32zutf-16z	utf-8-sig   r	   r   z	utf-16-bez	utf-32-be      z	utf-16-lez	utf-32-lezutf-8)
startswithcodecsBOM_UTF32_BEBOM_UTF32_LEBOM_UTF16_BEBOM_UTF16_LEBOM_UTF8len)bZbstartswithr   r   r   detect_encoding   s$    
r-   r   r   parse_float	parse_intparse_constantr    c             	   K   s"   t |  f||||||d|S )Nr.   )r   read)r   r   r   r/   r0   r1   r    r   r   r   r   r     s    
r   c                K   s   t | tr"| drRtd| dn0t | ttfsBtd| jj | 	t
| d} |d u r|d u r|d u r|d u r|d u r|d u r|st	| S |d u rt}|d ur||d< |d ur||d< |d ur||d< |d ur||d	< |d ur||d
< |f i |	| S )Nu   ﻿z-Unexpected UTF-8 BOM (decode using utf-8-sig)r	   z5the JSON object must be str, bytes or bytearray, not surrogatepassr   r    r/   r0   r1   )
isinstancestrr$   r   bytes	bytearray	TypeError	__class____name__decoder-   _default_decoderr   )sr   r   r/   r0   r1   r    r   r   r   r   r   +  sF    "


r   )__version____all__
__author__decoderr   r   encoderr   r%   r   r   r   r<   r-   r   r   r   r   r   r   <module>b   s<   
?: