code: def pack_int_base128(cls, value):
          
          assert isinstance(value, int)
          if value < 1 << 14:
              return cls._int_base128[value]
  
          if value < 1 << 21:
              return struct_BBB.pack(
                  value >> 14 & 0xff | 0x80,
                  value >> 7 & 0xff | 0x80,
                  value & 0x7F
              )
  
          if value < 1 << 28:
              return struct_BBBB.pack(
                  value >> 21 & 0xff | 0x80,
                  value >> 14 & 0xff | 0x80,
                  value >> 7 & 0xff | 0x80,
                  value & 0x7F
              )
  
          if value < 1 << 35:
              return struct_BBBBB.pack(
                  value >> 28 & 0xff | 0x80,
                  value >> 21 & 0xff | 0x80,
                  value >> 14 & 0xff | 0x80,
                  value >> 7 & 0xff | 0x80,
                  value & 0x7F
              )
  
          raise OverflowError("Number is too large to be packed")
docs: Pack integer value using LEB128 encoding
          :param value: integer value to encode
          :type value: int
  
          :return: encoded value
          :rtype: bytes