// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Vip.proto

package pb.xiugou.x1.protobuf.vip;

public final class Vip {
  private Vip() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface VipInfoResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.VipInfoResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *已经开通的特权表ID
     * </pre>
     *
     * <code>repeated int32 privilege_id = 1;</code>
     * @return A list containing the privilegeId.
     */
    java.util.List<java.lang.Integer> getPrivilegeIdList();
    /**
     * <pre>
     *已经开通的特权表ID
     * </pre>
     *
     * <code>repeated int32 privilege_id = 1;</code>
     * @return The count of privilegeId.
     */
    int getPrivilegeIdCount();
    /**
     * <pre>
     *已经开通的特权表ID
     * </pre>
     *
     * <code>repeated int32 privilege_id = 1;</code>
     * @param index The index of the element to return.
     * @return The privilegeId at the given index.
     */
    int getPrivilegeId(int index);

    /**
     * <pre>
     *已经购买的vip等级礼包 （记录vip等级）
     * </pre>
     *
     * <code>repeated int32 vip_level_gift = 2;</code>
     * @return A list containing the vipLevelGift.
     */
    java.util.List<java.lang.Integer> getVipLevelGiftList();
    /**
     * <pre>
     *已经购买的vip等级礼包 （记录vip等级）
     * </pre>
     *
     * <code>repeated int32 vip_level_gift = 2;</code>
     * @return The count of vipLevelGift.
     */
    int getVipLevelGiftCount();
    /**
     * <pre>
     *已经购买的vip等级礼包 （记录vip等级）
     * </pre>
     *
     * <code>repeated int32 vip_level_gift = 2;</code>
     * @param index The index of the element to return.
     * @return The vipLevelGift at the given index.
     */
    int getVipLevelGift(int index);

    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> 
        getBoostsList();
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getBoosts(int index);
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    int getBoostsCount();
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
        getBoostsOrBuilderList();
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getBoostsOrBuilder(
        int index);
  }
  /**
   * <pre>
   *Vip特权信息
   * </pre>
   *
   * Protobuf type {@code pb.VipInfoResponse}
   */
  public  static final class VipInfoResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.VipInfoResponse)
      VipInfoResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use VipInfoResponse.newBuilder() to construct.
    private VipInfoResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VipInfoResponse() {
      privilegeId_ = emptyIntList();
      vipLevelGift_ = emptyIntList();
      boosts_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new VipInfoResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VipInfoResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                privilegeId_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              privilegeId_.addInt(input.readInt32());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                privilegeId_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                privilegeId_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                vipLevelGift_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              vipLevelGift_.addInt(input.readInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                vipLevelGift_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                vipLevelGift_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                boosts_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV>();
                mutable_bitField0_ |= 0x00000004;
              }
              boosts_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          privilegeId_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          vipLevelGift_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          boosts_ = java.util.Collections.unmodifiableList(boosts_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipInfoResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipInfoResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.class, pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.VipInfoResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3100001;</code>
       */
      ID(3100001),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3100001;</code>
       */
      public static final int ID_VALUE = 3100001;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3100001: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.VipInfoResponse.Proto)
    }

    public static final int PRIVILEGE_ID_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.IntList privilegeId_;
    /**
     * <pre>
     *已经开通的特权表ID
     * </pre>
     *
     * <code>repeated int32 privilege_id = 1;</code>
     * @return A list containing the privilegeId.
     */
    public java.util.List<java.lang.Integer>
        getPrivilegeIdList() {
      return privilegeId_;
    }
    /**
     * <pre>
     *已经开通的特权表ID
     * </pre>
     *
     * <code>repeated int32 privilege_id = 1;</code>
     * @return The count of privilegeId.
     */
    public int getPrivilegeIdCount() {
      return privilegeId_.size();
    }
    /**
     * <pre>
     *已经开通的特权表ID
     * </pre>
     *
     * <code>repeated int32 privilege_id = 1;</code>
     * @param index The index of the element to return.
     * @return The privilegeId at the given index.
     */
    public int getPrivilegeId(int index) {
      return privilegeId_.getInt(index);
    }
    private int privilegeIdMemoizedSerializedSize = -1;

    public static final int VIP_LEVEL_GIFT_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.IntList vipLevelGift_;
    /**
     * <pre>
     *已经购买的vip等级礼包 （记录vip等级）
     * </pre>
     *
     * <code>repeated int32 vip_level_gift = 2;</code>
     * @return A list containing the vipLevelGift.
     */
    public java.util.List<java.lang.Integer>
        getVipLevelGiftList() {
      return vipLevelGift_;
    }
    /**
     * <pre>
     *已经购买的vip等级礼包 （记录vip等级）
     * </pre>
     *
     * <code>repeated int32 vip_level_gift = 2;</code>
     * @return The count of vipLevelGift.
     */
    public int getVipLevelGiftCount() {
      return vipLevelGift_.size();
    }
    /**
     * <pre>
     *已经购买的vip等级礼包 （记录vip等级）
     * </pre>
     *
     * <code>repeated int32 vip_level_gift = 2;</code>
     * @param index The index of the element to return.
     * @return The vipLevelGift at the given index.
     */
    public int getVipLevelGift(int index) {
      return vipLevelGift_.getInt(index);
    }
    private int vipLevelGiftMemoizedSerializedSize = -1;

    public static final int BOOSTS_FIELD_NUMBER = 3;
    private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> boosts_;
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> getBoostsList() {
      return boosts_;
    }
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
        getBoostsOrBuilderList() {
      return boosts_;
    }
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    public int getBoostsCount() {
      return boosts_.size();
    }
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getBoosts(int index) {
      return boosts_.get(index);
    }
    /**
     * <pre>
     *VIP加成项，key的定义在下面，value是具体加成数值
     * </pre>
     *
     * <code>repeated .pb.PbKeyV boosts = 3;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getBoostsOrBuilder(
        int index) {
      return boosts_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getPrivilegeIdList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(privilegeIdMemoizedSerializedSize);
      }
      for (int i = 0; i < privilegeId_.size(); i++) {
        output.writeInt32NoTag(privilegeId_.getInt(i));
      }
      if (getVipLevelGiftList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(vipLevelGiftMemoizedSerializedSize);
      }
      for (int i = 0; i < vipLevelGift_.size(); i++) {
        output.writeInt32NoTag(vipLevelGift_.getInt(i));
      }
      for (int i = 0; i < boosts_.size(); i++) {
        output.writeMessage(3, boosts_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < privilegeId_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(privilegeId_.getInt(i));
        }
        size += dataSize;
        if (!getPrivilegeIdList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        privilegeIdMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < vipLevelGift_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(vipLevelGift_.getInt(i));
        }
        size += dataSize;
        if (!getVipLevelGiftList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        vipLevelGiftMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < boosts_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, boosts_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse other = (pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse) obj;

      if (!getPrivilegeIdList()
          .equals(other.getPrivilegeIdList())) return false;
      if (!getVipLevelGiftList()
          .equals(other.getVipLevelGiftList())) return false;
      if (!getBoostsList()
          .equals(other.getBoostsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getPrivilegeIdCount() > 0) {
        hash = (37 * hash) + PRIVILEGE_ID_FIELD_NUMBER;
        hash = (53 * hash) + getPrivilegeIdList().hashCode();
      }
      if (getVipLevelGiftCount() > 0) {
        hash = (37 * hash) + VIP_LEVEL_GIFT_FIELD_NUMBER;
        hash = (53 * hash) + getVipLevelGiftList().hashCode();
      }
      if (getBoostsCount() > 0) {
        hash = (37 * hash) + BOOSTS_FIELD_NUMBER;
        hash = (53 * hash) + getBoostsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *Vip特权信息
     * </pre>
     *
     * Protobuf type {@code pb.VipInfoResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.VipInfoResponse)
        pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipInfoResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipInfoResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.class, pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBoostsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        privilegeId_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        vipLevelGift_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        if (boostsBuilder_ == null) {
          boosts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          boostsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipInfoResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse build() {
        pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse buildPartial() {
        pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse result = new pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          privilegeId_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.privilegeId_ = privilegeId_;
        if (((bitField0_ & 0x00000002) != 0)) {
          vipLevelGift_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.vipLevelGift_ = vipLevelGift_;
        if (boostsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            boosts_ = java.util.Collections.unmodifiableList(boosts_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.boosts_ = boosts_;
        } else {
          result.boosts_ = boostsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse other) {
        if (other == pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse.getDefaultInstance()) return this;
        if (!other.privilegeId_.isEmpty()) {
          if (privilegeId_.isEmpty()) {
            privilegeId_ = other.privilegeId_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensurePrivilegeIdIsMutable();
            privilegeId_.addAll(other.privilegeId_);
          }
          onChanged();
        }
        if (!other.vipLevelGift_.isEmpty()) {
          if (vipLevelGift_.isEmpty()) {
            vipLevelGift_ = other.vipLevelGift_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureVipLevelGiftIsMutable();
            vipLevelGift_.addAll(other.vipLevelGift_);
          }
          onChanged();
        }
        if (boostsBuilder_ == null) {
          if (!other.boosts_.isEmpty()) {
            if (boosts_.isEmpty()) {
              boosts_ = other.boosts_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureBoostsIsMutable();
              boosts_.addAll(other.boosts_);
            }
            onChanged();
          }
        } else {
          if (!other.boosts_.isEmpty()) {
            if (boostsBuilder_.isEmpty()) {
              boostsBuilder_.dispose();
              boostsBuilder_ = null;
              boosts_ = other.boosts_;
              bitField0_ = (bitField0_ & ~0x00000004);
              boostsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getBoostsFieldBuilder() : null;
            } else {
              boostsBuilder_.addAllMessages(other.boosts_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.Internal.IntList privilegeId_ = emptyIntList();
      private void ensurePrivilegeIdIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          privilegeId_ = mutableCopy(privilegeId_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @return A list containing the privilegeId.
       */
      public java.util.List<java.lang.Integer>
          getPrivilegeIdList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(privilegeId_) : privilegeId_;
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @return The count of privilegeId.
       */
      public int getPrivilegeIdCount() {
        return privilegeId_.size();
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @param index The index of the element to return.
       * @return The privilegeId at the given index.
       */
      public int getPrivilegeId(int index) {
        return privilegeId_.getInt(index);
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @param index The index to set the value at.
       * @param value The privilegeId to set.
       * @return This builder for chaining.
       */
      public Builder setPrivilegeId(
          int index, int value) {
        ensurePrivilegeIdIsMutable();
        privilegeId_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @param value The privilegeId to add.
       * @return This builder for chaining.
       */
      public Builder addPrivilegeId(int value) {
        ensurePrivilegeIdIsMutable();
        privilegeId_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @param values The privilegeId to add.
       * @return This builder for chaining.
       */
      public Builder addAllPrivilegeId(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensurePrivilegeIdIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, privilegeId_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经开通的特权表ID
       * </pre>
       *
       * <code>repeated int32 privilege_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPrivilegeId() {
        privilegeId_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList vipLevelGift_ = emptyIntList();
      private void ensureVipLevelGiftIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          vipLevelGift_ = mutableCopy(vipLevelGift_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @return A list containing the vipLevelGift.
       */
      public java.util.List<java.lang.Integer>
          getVipLevelGiftList() {
        return ((bitField0_ & 0x00000002) != 0) ?
                 java.util.Collections.unmodifiableList(vipLevelGift_) : vipLevelGift_;
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @return The count of vipLevelGift.
       */
      public int getVipLevelGiftCount() {
        return vipLevelGift_.size();
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @param index The index of the element to return.
       * @return The vipLevelGift at the given index.
       */
      public int getVipLevelGift(int index) {
        return vipLevelGift_.getInt(index);
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @param index The index to set the value at.
       * @param value The vipLevelGift to set.
       * @return This builder for chaining.
       */
      public Builder setVipLevelGift(
          int index, int value) {
        ensureVipLevelGiftIsMutable();
        vipLevelGift_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @param value The vipLevelGift to add.
       * @return This builder for chaining.
       */
      public Builder addVipLevelGift(int value) {
        ensureVipLevelGiftIsMutable();
        vipLevelGift_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @param values The vipLevelGift to add.
       * @return This builder for chaining.
       */
      public Builder addAllVipLevelGift(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureVipLevelGiftIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, vipLevelGift_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经购买的vip等级礼包 （记录vip等级）
       * </pre>
       *
       * <code>repeated int32 vip_level_gift = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearVipLevelGift() {
        vipLevelGift_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> boosts_ =
        java.util.Collections.emptyList();
      private void ensureBoostsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          boosts_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV>(boosts_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> boostsBuilder_;

      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> getBoostsList() {
        if (boostsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(boosts_);
        } else {
          return boostsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public int getBoostsCount() {
        if (boostsBuilder_ == null) {
          return boosts_.size();
        } else {
          return boostsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getBoosts(int index) {
        if (boostsBuilder_ == null) {
          return boosts_.get(index);
        } else {
          return boostsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder setBoosts(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (boostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBoostsIsMutable();
          boosts_.set(index, value);
          onChanged();
        } else {
          boostsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder setBoosts(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (boostsBuilder_ == null) {
          ensureBoostsIsMutable();
          boosts_.set(index, builderForValue.build());
          onChanged();
        } else {
          boostsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder addBoosts(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (boostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBoostsIsMutable();
          boosts_.add(value);
          onChanged();
        } else {
          boostsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder addBoosts(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (boostsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBoostsIsMutable();
          boosts_.add(index, value);
          onChanged();
        } else {
          boostsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder addBoosts(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (boostsBuilder_ == null) {
          ensureBoostsIsMutable();
          boosts_.add(builderForValue.build());
          onChanged();
        } else {
          boostsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder addBoosts(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (boostsBuilder_ == null) {
          ensureBoostsIsMutable();
          boosts_.add(index, builderForValue.build());
          onChanged();
        } else {
          boostsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder addAllBoosts(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> values) {
        if (boostsBuilder_ == null) {
          ensureBoostsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, boosts_);
          onChanged();
        } else {
          boostsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder clearBoosts() {
        if (boostsBuilder_ == null) {
          boosts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          boostsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public Builder removeBoosts(int index) {
        if (boostsBuilder_ == null) {
          ensureBoostsIsMutable();
          boosts_.remove(index);
          onChanged();
        } else {
          boostsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder getBoostsBuilder(
          int index) {
        return getBoostsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getBoostsOrBuilder(
          int index) {
        if (boostsBuilder_ == null) {
          return boosts_.get(index);  } else {
          return boostsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
           getBoostsOrBuilderList() {
        if (boostsBuilder_ != null) {
          return boostsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(boosts_);
        }
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder addBoostsBuilder() {
        return getBoostsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance());
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder addBoostsBuilder(
          int index) {
        return getBoostsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance());
      }
      /**
       * <pre>
       *VIP加成项，key的定义在下面，value是具体加成数值
       * </pre>
       *
       * <code>repeated .pb.PbKeyV boosts = 3;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder> 
           getBoostsBuilderList() {
        return getBoostsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
          getBoostsFieldBuilder() {
        if (boostsBuilder_ == null) {
          boostsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder>(
                  boosts_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          boosts_ = null;
        }
        return boostsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.VipInfoResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.VipInfoResponse)
    private static final pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse();
    }

    public static pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<VipInfoResponse>
        PARSER = new com.google.protobuf.AbstractParser<VipInfoResponse>() {
      @java.lang.Override
      public VipInfoResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new VipInfoResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<VipInfoResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<VipInfoResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.vip.Vip.VipInfoResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface VipBuyGiftRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.VipBuyGiftRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *购买的Vip等级礼包
     * </pre>
     *
     * <code>int32 vip_level = 1;</code>
     * @return The vipLevel.
     */
    int getVipLevel();
  }
  /**
   * <pre>
   *购买Vip等级礼包
   * </pre>
   *
   * Protobuf type {@code pb.VipBuyGiftRequest}
   */
  public  static final class VipBuyGiftRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.VipBuyGiftRequest)
      VipBuyGiftRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use VipBuyGiftRequest.newBuilder() to construct.
    private VipBuyGiftRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VipBuyGiftRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new VipBuyGiftRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VipBuyGiftRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              vipLevel_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.class, pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.VipBuyGiftRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3100002;</code>
       */
      ID(3100002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3100002;</code>
       */
      public static final int ID_VALUE = 3100002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3100002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.VipBuyGiftRequest.Proto)
    }

    public static final int VIP_LEVEL_FIELD_NUMBER = 1;
    private int vipLevel_;
    /**
     * <pre>
     *购买的Vip等级礼包
     * </pre>
     *
     * <code>int32 vip_level = 1;</code>
     * @return The vipLevel.
     */
    public int getVipLevel() {
      return vipLevel_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (vipLevel_ != 0) {
        output.writeInt32(1, vipLevel_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (vipLevel_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, vipLevel_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest other = (pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest) obj;

      if (getVipLevel()
          != other.getVipLevel()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + VIP_LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getVipLevel();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *购买Vip等级礼包
     * </pre>
     *
     * Protobuf type {@code pb.VipBuyGiftRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.VipBuyGiftRequest)
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.class, pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        vipLevel_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest build() {
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest buildPartial() {
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest result = new pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest(this);
        result.vipLevel_ = vipLevel_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest other) {
        if (other == pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest.getDefaultInstance()) return this;
        if (other.getVipLevel() != 0) {
          setVipLevel(other.getVipLevel());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int vipLevel_ ;
      /**
       * <pre>
       *购买的Vip等级礼包
       * </pre>
       *
       * <code>int32 vip_level = 1;</code>
       * @return The vipLevel.
       */
      public int getVipLevel() {
        return vipLevel_;
      }
      /**
       * <pre>
       *购买的Vip等级礼包
       * </pre>
       *
       * <code>int32 vip_level = 1;</code>
       * @param value The vipLevel to set.
       * @return This builder for chaining.
       */
      public Builder setVipLevel(int value) {
        
        vipLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买的Vip等级礼包
       * </pre>
       *
       * <code>int32 vip_level = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearVipLevel() {
        
        vipLevel_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.VipBuyGiftRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.VipBuyGiftRequest)
    private static final pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest();
    }

    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<VipBuyGiftRequest>
        PARSER = new com.google.protobuf.AbstractParser<VipBuyGiftRequest>() {
      @java.lang.Override
      public VipBuyGiftRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new VipBuyGiftRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<VipBuyGiftRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<VipBuyGiftRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface VipBuyGiftResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.VipBuyGiftResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *购买的Vip等级礼包
     * </pre>
     *
     * <code>int32 vip_level = 1;</code>
     * @return The vipLevel.
     */
    int getVipLevel();
  }
  /**
   * Protobuf type {@code pb.VipBuyGiftResponse}
   */
  public  static final class VipBuyGiftResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.VipBuyGiftResponse)
      VipBuyGiftResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use VipBuyGiftResponse.newBuilder() to construct.
    private VipBuyGiftResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VipBuyGiftResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new VipBuyGiftResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VipBuyGiftResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              vipLevel_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.class, pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.VipBuyGiftResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3100002;</code>
       */
      ID(3100002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3100002;</code>
       */
      public static final int ID_VALUE = 3100002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3100002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.VipBuyGiftResponse.Proto)
    }

    public static final int VIP_LEVEL_FIELD_NUMBER = 1;
    private int vipLevel_;
    /**
     * <pre>
     *购买的Vip等级礼包
     * </pre>
     *
     * <code>int32 vip_level = 1;</code>
     * @return The vipLevel.
     */
    public int getVipLevel() {
      return vipLevel_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (vipLevel_ != 0) {
        output.writeInt32(1, vipLevel_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (vipLevel_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, vipLevel_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse other = (pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse) obj;

      if (getVipLevel()
          != other.getVipLevel()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + VIP_LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getVipLevel();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.VipBuyGiftResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.VipBuyGiftResponse)
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.class, pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        vipLevel_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.vip.Vip.internal_static_pb_VipBuyGiftResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse build() {
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse buildPartial() {
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse result = new pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse(this);
        result.vipLevel_ = vipLevel_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse other) {
        if (other == pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse.getDefaultInstance()) return this;
        if (other.getVipLevel() != 0) {
          setVipLevel(other.getVipLevel());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int vipLevel_ ;
      /**
       * <pre>
       *购买的Vip等级礼包
       * </pre>
       *
       * <code>int32 vip_level = 1;</code>
       * @return The vipLevel.
       */
      public int getVipLevel() {
        return vipLevel_;
      }
      /**
       * <pre>
       *购买的Vip等级礼包
       * </pre>
       *
       * <code>int32 vip_level = 1;</code>
       * @param value The vipLevel to set.
       * @return This builder for chaining.
       */
      public Builder setVipLevel(int value) {
        
        vipLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买的Vip等级礼包
       * </pre>
       *
       * <code>int32 vip_level = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearVipLevel() {
        
        vipLevel_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.VipBuyGiftResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.VipBuyGiftResponse)
    private static final pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse();
    }

    public static pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<VipBuyGiftResponse>
        PARSER = new com.google.protobuf.AbstractParser<VipBuyGiftResponse>() {
      @java.lang.Override
      public VipBuyGiftResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new VipBuyGiftResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<VipBuyGiftResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<VipBuyGiftResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.vip.Vip.VipBuyGiftResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_VipInfoResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_VipInfoResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_VipBuyGiftRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_VipBuyGiftRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_VipBuyGiftResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_VipBuyGiftResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\tVip.proto\022\002pb\032\020MiniStruct.proto\"|\n\017Vip" +
      "InfoResponse\022\024\n\014privilege_id\030\001 \003(\005\022\026\n\016vi" +
      "p_level_gift\030\002 \003(\005\022\032\n\006boosts\030\003 \003(\0132\n.pb." +
      "PbKeyV\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\341\232\275\001\"" +
      "G\n\021VipBuyGiftRequest\022\021\n\tvip_level\030\001 \001(\005\"" +
      "\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\342\232\275\001\"H\n\022VipB" +
      "uyGiftResponse\022\021\n\tvip_level\030\001 \001(\005\"\037\n\005Pro" +
      "to\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\342\232\275\001B3\n\031pb.xiugou." +
      "x1.protobuf.vip\252\002\025pb.xiugou.x1.protobufb" +
      "\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor(),
        });
    internal_static_pb_VipInfoResponse_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_pb_VipInfoResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_VipInfoResponse_descriptor,
        new java.lang.String[] { "PrivilegeId", "VipLevelGift", "Boosts", });
    internal_static_pb_VipBuyGiftRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_pb_VipBuyGiftRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_VipBuyGiftRequest_descriptor,
        new java.lang.String[] { "VipLevel", });
    internal_static_pb_VipBuyGiftResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_pb_VipBuyGiftResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_VipBuyGiftResponse_descriptor,
        new java.lang.String[] { "VipLevel", });
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
