o ?Og0 @s ddlZddlmZzddlmZWn eydZYnwddgZejej Bej BZ e dZ e dZe dZGd ddeZeee d Zed e Zd d dddddddZddZdeejfddZepgeZede ZdZdejefddZejefddZGd ddeZdS)!N)scanner) scanstring JSONDecoderJSONDecodeErrornaninfz-infc@seZdZ ddZddZdS)rcCsb|dd|d}||dd|}d||||f}t||||_||_||_||_||_dS)N rz%s: line %d column %d (char %d)) countrfind ValueError__init__msgdocposlinenocolno)selfrrrrrerrmsgr3/opt/alt/python310/lib64/python3.10/json/decoder.pyr s  zJSONDecodeError.__init__cCs|j|j|j|jffSN) __class__rrr)rrrr __reduce__*szJSONDecodeError.__reduce__N)__name__ __module__ __qualname__r rrrrrrs )z -InfinityZInfinityNaNz(.*?)(["\\\x00-\x1f])"\/ r  )rrr bfnrtcCs\||d|d}t|dkr&|ddvr&zt|dWSty%Ynwd}t|||)Nr ZxXzInvalid \uXXXX escape)lenintr r)srescrrrr _decode_uXXXX;s   r1TcCs g}|j}|d} |||}|durtd|||}|\} } | r*|| | dkr/n| dkrE|r@d| } t| |||| q z||} WntyYtd||dw| dkr|z|| } Wntyvd| } t| ||w|d7}nFt||}|d7}d |krd krnn-|||d d krt||d}d |krdkrnnd|d d>|d B}|d7}t|} || q d ||fS)Nr zUnterminated string starting atrrz"Invalid control character {0!r} atuzInvalid \escape: {0!r}r*iiz\uiii ) appendrendgroupsformat IndexErrorKeyErrorr1chrjoin)r/r8strictZ_b_mZchunks_appendZbeginchunkZcontent terminatorrr0charZuniZuni2rrr py_scanstringEs`             ,,rEz [ \t\n\r]*z c Cs|\}} g} | j} |duri}|j} || | d} | dkr]| |vr1||| } || | d} | dkrS|durC|| }|| dfSi} |durM|| } | | dfS| dkr]td|| | d7} t|| |\}} | ||}|| | ddkr||| } || | ddkrtd|| | d7} z|| |vr| d7} || |vr||| d} Wn tyYnwz ||| \}} Wnty}ztd||jdd}~ww| ||fz|| } | |vr||| d} || } Wn tyd } Ynw| d7} | dkr n.| d krtd || d||| } || | d} | d7} | dkr7td|| dqb|durE|| }|| fSt| } |durR|| } | | fS) Nr r}z1Expecting property name enclosed in double quotesT:zExpecting ':' delimiterExpecting valuer6,Expecting ',' delimiter) r7 setdefaultr8rrr; StopIterationvaluedict) s_and_endr? scan_once object_hookobject_pairs_hookmemo_w_wsr/r8ZpairsZ pairs_appendZmemo_getnextcharresultkeyrMerrrrr JSONObjects              + rZc Cs^|\}}g}|||d}||vr#|||d}|||d}|dkr-||dfS|j} z |||\} }WntyN} ztd|| jdd} ~ ww|| |||d}||vrp|||d}|||d}|d7}|dkr} ||fS|dkrtd||dz|||vr|d7}|||vr|||d}Wn tyYnwq1)Nr ]TrHrIrJ)r8r7rLrrMr;) rOrPrTrUr/r8valuesrVrArMrYrrr JSONArraysJ     r]c@s>eZdZ dddddddddZejfddZd d d ZdS) rNT)rQ parse_float parse_intparse_constantr?rRcCs\ ||_|pt|_|p t|_|ptj|_||_||_ t |_ t |_ t|_i|_t||_dSr)rQfloatr^r.r_ _CONSTANTS __getitem__r`r?rRrZZ parse_objectr]Z parse_arrayrZ parse_stringrSrZ make_scannerrP)rrQr^r_r`r?rRrrrr s   zJSONDecoder.__init__cCsH |j|||dd\}}|||}|t|kr"td|||S)Nr)idxz Extra data) raw_decoder8r-r)rr/rTobjr8rrrdecodeLs   zJSONDecoder.decoderc CsF z |||\}}W||fSty"}ztd||jdd}~ww)NrH)rPrLrrM)rr/rdrfr8rYrrrreWszJSONDecoder.raw_decode)r)rrrr WHITESPACEmatchrgrerrrrrs 0 )reZjsonrZ_jsonrZ c_scanstring ImportError__all__VERBOSE MULTILINEDOTALLFLAGSrarZPosInfZNegInfr rrbcompileZ STRINGCHUNKZ BACKSLASHr1rirErhZWHITESPACE_STRrZr]objectrrrrrsB      =  Q%