U \k^y @sjdZddlZzddlmZWnek r4dZYnXdgZedejej Bej BZ ddZ epde ZdS)zJSON token scanner N) make_scannerrz)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c sv|j |j|j tj|j |j|j|j|j |j |j  f ddfdd}|S)Ncsz ||}Wntk r*t|dYnX|dkrD ||d S|dkrf ||df S|dkr||dfS|dkr|||ddkrd|dfS|dkr|||dd krd |dfS|d kr|||d d krd|d fS||}|dk r\|\}}}|s*|rH||p6d|p@d}n|}||fS|dkr|||ddkrd|dfS|dkr|||ddkrd|dfS|dkr|||ddkrd|dfSt|dS)N"{[nZnulltZtrueTfZfalseFNZNaNIZInfinity- z -Infinity) IndexError StopIterationgroupsend)stringidxZnextcharmZintegerZfracZexpres _scan_onceZ match_numbermemo object_hookobject_pairs_hook parse_arrayparse_constant parse_float parse_int parse_object parse_stringstrict"/usr/lib/python3.8/json/scanner.pyrsF            z#py_make_scanner.._scan_oncecsz||WSXdS)N)clear)rr)rrr'r( scan_onceAsz"py_make_scanner..scan_once) r$r r% NUMBER_REmatchr&r"r#r!rrr)contextr*r'rr(py_make_scanners"%r.) __doc__reZ_jsonrZc_make_scanner ImportError__all__compileVERBOSE MULTILINEDOTALLr+r.r'r'r'r(s :