U
    wy]y	                     @   sj   d Z ddlZzddlmZ W n ek
r4   dZY nX dgZedejej	B ej
B Zdd ZepdeZdS )zJSON token scanner
    N)make_scannerr   z)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c                    sv   | j 	| j| j
tj| j| j| j| j| j	| j
| j 	
fdd  fdd}|S )Nc                    s  z| | }W n t k
r*   t|d Y nX |dkrD
| |d S |dkrf	| |d f S |dkr| |d f S |dkr| ||d  dkrd |d fS |dkr| ||d  d	krd
|d fS |dk r| ||d  dk rd|d fS | |}|d k	r\| \}}}|s*|rH||p6d |p@d }n|}|| fS |dkr| ||d  dkrd|d fS |dkr| ||d  dkrd|d fS |dkr| ||d  dkrd|d fS t|d S )N"   {[n   ZnullttrueTf   falseF N   NaNI   Infinity-	   z	-Infinity)
IndexErrorStopIterationgroupsend)stringidxnextcharmintegerZfracexpres
_scan_onceZmatch_numbermemoobject_hookobject_pairs_hookparse_arrayparse_constantparse_float	parse_intparse_objectparse_stringstrict I/home/stadmin/Documents/SimTableSoftware/Python-3.8.0/Lib/json/scanner.pyr#      sF        

   z#py_make_scanner.<locals>._scan_oncec                    s   z | |W S    X d S )N)clear)r   r   )r#   r$   r.   r/   	scan_onceA   s    z"py_make_scanner.<locals>.scan_once)r+   r'   r,   	NUMBER_REmatchr-   r)   r*   r(   r%   r&   r$   )contextr1   r.   r"   r/   py_make_scanner   s    "%r5   )__doc__re_jsonr   Zc_make_scannerImportError__all__compileVERBOSE	MULTILINEDOTALLr2   r5   r.   r.   r.   r/   <module>   s   
: