tighten decodeValue loop and retest (faster)