code: def readEncodedU32(self):
          
          self.reset_bits_pending();
          result = self.readUI8();
          if result & 0x80 != 0:
              result = (result & 0x7f) | (self.readUI8() << 7)
              if result & 0x4000 != 0:
                  result = (result & 0x3fff) | (self.readUI8() << 14)
                  if result & 0x200000 != 0:
                      result = (result & 0x1fffff) | (self.readUI8() << 21)
                      if result & 0x10000000 != 0:
                          result = (result & 0xfffffff) | (self.readUI8() << 28)
          return result
docs: Read a encoded unsigned int