def _blob(self, bounds):
        self._markers.append({'at':self.used_bits(),'type':str(bounds)%'blob(%s)'})
        old_json = self._json
        self._json = {'bit_start': self.used_bits(), 'bounds': bounds}
        length = self._int(bounds)
        self._json['length'] = length
        retval = self._buffer.read_aligned_bytes(length)
        self._json['bytes'] = ''.join('{:02x}'.format(ord(x)) for x in retval)
        old_json['blob%i'%self.used_bits()] = self._json
        self._json = old_json
        try:
            retval = {'utf8': retval.decode('utf-8', 'strict')}
        except UnicodeDecodeError:
            retval = {
                'utf8': retval.decode('utf-8', 'replace'),
                'base64': base64.b64encode(retval)
            }
        return retval
dataset/ETHPy150Open karlgluck/heroes-of-the-storm-replay-parser/s2protocol/decoders.py/BitPackedDecoderDebug._blob/swapped operands of `%`