ìÕYfp ã @s‰dZddlZyddlmZWnek r@dZYnXdgZejdejej Bej BƒZ dd„Z ep‚e ZdS)zJSON token scanner éN)Ú make_scannerrz)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c s¯|j‰ |j‰|j‰ tj‰|j‰ |j‰|j‰|j‰|j ‰|j ‰|j ‰‡‡‡‡‡‡‡‡‡‡ ‡ ‡ f dd†‰‡‡fdd†}ˆS)Ncsvy||}Wntk r.t|ƒ‚YnX|dkrOˆ ||dˆ ƒS|dkr~ˆ ||dfˆ ˆˆˆˆƒS|dkr¡ˆ||dfˆƒS|dkrÕ|||d…dkrÕd|dfS|dkr |||d…d kr d |dfS|d kr=|||d …d kr=d|d fSˆ||ƒ}|dk r¸|jƒ\}}}|sy|rœˆ||pˆd|p’dƒ}n ˆ|ƒ}||jƒfS|dkrò|||d…dkròˆdƒ|dfS|dkr,|||d…dkr,ˆdƒ|dfS|dkrf|||d…dkrfˆdƒ|dfSt|ƒ‚dS)Nú"éú{ú[ÚnéZnullÚtÚtrueTÚféÚfalseFÚÚNéZNaNÚIéZInfinityú-é z -Infinity)Ú IndexErrorÚ StopIterationÚgroupsÚend)ÚstringÚidxZnextcharÚmZintegerZfracZexpÚres) Ú _scan_onceÚ match_numberÚmemoÚ object_hookÚobject_pairs_hookÚ parse_arrayÚparse_constantÚ parse_floatÚ parse_intÚ parse_objectÚ parse_stringÚstrict©ú1/opt/alt/python35/lib64/python3.5/json/scanner.pyrs>    &&&  # &&&z#py_make_scanner.._scan_oncec s#zˆ||ƒSWdˆjƒXdS)N)Úclear)rr)rrr)r*Ú scan_onceAsz"py_make_scanner..scan_once) r&r"r'Ú NUMBER_REÚmatchr(r$r%r#r r!r)Úcontextr,r)) rrrr r!r"r#r$r%r&r'r(r*Úpy_make_scanners           3%r0) Ú__doc__ÚreZ_jsonrZc_make_scannerÚ ImportErrorÚ__all__ÚcompileÚVERBOSEÚ MULTILINEÚDOTALLr-r0r)r)r)r*Ús     :