code: func (iter *Iterator) findStringEnd() (int, bool) {
  	escaped := false
  	for i := iter.head; i < iter.tail; i++ {
  		c := iter.buf[i]
  		if c == '"' {
  			if !escaped {
  				return i + 1, false
  			}
  			j := i - 1
  			for {
  				if j < iter.head || iter.buf[j] != '\\' {
  					// even number of backslashes
  					// either end of buffer, or " found
  					return i + 1, true
  				}
  				j--
  				if j < iter.head || iter.buf[j] != '\\' {
  					// odd number of backslashes
  					// it is \" or \\\"
  					break
  				}
  				j--
  			}
  		} else if c == '\\' {
  			escaped = true
  		}
  	}
  	j := iter.tail - 1
  	for {
  		if j < iter.head || iter.buf[j] != '\\' {
  			// even number of backslashes
  			// either end of buffer, or " found
  			return -1, false // do not end with \
  		}
  		j--
  		if j < iter.head || iter.buf[j] != '\\' {
  			// odd number of backslashes
  			// it is \" or \\\"
  			break
  		}
  		j--
  
  	}
  	return -1, true // end with \
  }
docs: // adapted from: https://github.com/buger/jsonparser/blob/master/parser.go
  // Tries to find the end of string
  // Support if string contains escaped quote symbols.