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

package io.grasscutter.net.proto.activity;

/**
 * Protobuf type {@code FungusFighterDetailInfo}
 */
public final class FungusFighterDetailInfo extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:FungusFighterDetailInfo)
    FungusFighterDetailInfoOrBuilder {
private static final long serialVersionUID = 0L;
  // Use FungusFighterDetailInfo.newBuilder() to construct.
  private FungusFighterDetailInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private FungusFighterDetailInfo() {
    trainingDungeonProgressDetailList_ = java.util.Collections.emptyList();
    trainingDungeonDetailList_ = java.util.Collections.emptyList();
    kPKMLCIGEMN_ = emptyIntList();
    eBEPPCGFEGA_ = emptyIntList();
    eLONHIAJPEG_ = emptyIntList();
    plotStageDetailList_ = java.util.Collections.emptyList();
    fungusDetailList_ = java.util.Collections.emptyList();
  }

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

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private FungusFighterDetailInfo(
      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 24: {
            if (!((mutable_bitField0_ & 0x00000010) != 0)) {
              eLONHIAJPEG_ = newIntList();
              mutable_bitField0_ |= 0x00000010;
            }
            eLONHIAJPEG_.addInt(input.readUInt32());
            break;
          }
          case 26: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
              eLONHIAJPEG_ = newIntList();
              mutable_bitField0_ |= 0x00000010;
            }
            while (input.getBytesUntilLimit() > 0) {
              eLONHIAJPEG_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 50: {
            if (!((mutable_bitField0_ & 0x00000002) != 0)) {
              trainingDungeonDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail>();
              mutable_bitField0_ |= 0x00000002;
            }
            trainingDungeonDetailList_.add(
                input.readMessage(io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.parser(), extensionRegistry));
            break;
          }
          case 66: {
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              trainingDungeonProgressDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail>();
              mutable_bitField0_ |= 0x00000001;
            }
            trainingDungeonProgressDetailList_.add(
                input.readMessage(io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.parser(), extensionRegistry));
            break;
          }
          case 74: {
            if (!((mutable_bitField0_ & 0x00000040) != 0)) {
              fungusDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusDetail>();
              mutable_bitField0_ |= 0x00000040;
            }
            fungusDetailList_.add(
                input.readMessage(io.grasscutter.net.proto.activity.FungusDetail.parser(), extensionRegistry));
            break;
          }
          case 80: {
            if (!((mutable_bitField0_ & 0x00000008) != 0)) {
              eBEPPCGFEGA_ = newIntList();
              mutable_bitField0_ |= 0x00000008;
            }
            eBEPPCGFEGA_.addInt(input.readUInt32());
            break;
          }
          case 82: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) {
              eBEPPCGFEGA_ = newIntList();
              mutable_bitField0_ |= 0x00000008;
            }
            while (input.getBytesUntilLimit() > 0) {
              eBEPPCGFEGA_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 96: {
            if (!((mutable_bitField0_ & 0x00000004) != 0)) {
              kPKMLCIGEMN_ = newIntList();
              mutable_bitField0_ |= 0x00000004;
            }
            kPKMLCIGEMN_.addInt(input.readUInt32());
            break;
          }
          case 98: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
              kPKMLCIGEMN_ = newIntList();
              mutable_bitField0_ |= 0x00000004;
            }
            while (input.getBytesUntilLimit() > 0) {
              kPKMLCIGEMN_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 106: {
            if (!((mutable_bitField0_ & 0x00000020) != 0)) {
              plotStageDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusPlotStageDetail>();
              mutable_bitField0_ |= 0x00000020;
            }
            plotStageDetailList_.add(
                input.readMessage(io.grasscutter.net.proto.activity.FungusPlotStageDetail.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_ & 0x00000010) != 0)) {
        eLONHIAJPEG_.makeImmutable(); // C
      }
      if (((mutable_bitField0_ & 0x00000002) != 0)) {
        trainingDungeonDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
      }
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        trainingDungeonProgressDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
      }
      if (((mutable_bitField0_ & 0x00000040) != 0)) {
        fungusDetailList_ = java.util.Collections.unmodifiableList(fungusDetailList_);
      }
      if (((mutable_bitField0_ & 0x00000008) != 0)) {
        eBEPPCGFEGA_.makeImmutable(); // C
      }
      if (((mutable_bitField0_ & 0x00000004) != 0)) {
        kPKMLCIGEMN_.makeImmutable(); // C
      }
      if (((mutable_bitField0_ & 0x00000020) != 0)) {
        plotStageDetailList_ = java.util.Collections.unmodifiableList(plotStageDetailList_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.grasscutter.net.proto.activity.Activity.internal_static_FungusFighterDetailInfo_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.grasscutter.net.proto.activity.Activity.internal_static_FungusFighterDetailInfo_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.grasscutter.net.proto.activity.FungusFighterDetailInfo.class, io.grasscutter.net.proto.activity.FungusFighterDetailInfo.Builder.class);
  }

  public static final int TRAINING_DUNGEON_PROGRESS_DETAIL_LIST_FIELD_NUMBER = 8;
  private java.util.List<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail> trainingDungeonProgressDetailList_;
  /**
   * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail> getTrainingDungeonProgressDetailListList() {
    return trainingDungeonProgressDetailList_;
  }
  /**
   * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder> 
      getTrainingDungeonProgressDetailListOrBuilderList() {
    return trainingDungeonProgressDetailList_;
  }
  /**
   * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
   */
  @java.lang.Override
  public int getTrainingDungeonProgressDetailListCount() {
    return trainingDungeonProgressDetailList_.size();
  }
  /**
   * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusTrainingProgressDetail getTrainingDungeonProgressDetailList(int index) {
    return trainingDungeonProgressDetailList_.get(index);
  }
  /**
   * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder getTrainingDungeonProgressDetailListOrBuilder(
      int index) {
    return trainingDungeonProgressDetailList_.get(index);
  }

  public static final int TRAINING_DUNGEON_DETAIL_LIST_FIELD_NUMBER = 6;
  private java.util.List<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail> trainingDungeonDetailList_;
  /**
   * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail> getTrainingDungeonDetailListList() {
    return trainingDungeonDetailList_;
  }
  /**
   * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder> 
      getTrainingDungeonDetailListOrBuilderList() {
    return trainingDungeonDetailList_;
  }
  /**
   * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
   */
  @java.lang.Override
  public int getTrainingDungeonDetailListCount() {
    return trainingDungeonDetailList_.size();
  }
  /**
   * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail getTrainingDungeonDetailList(int index) {
    return trainingDungeonDetailList_.get(index);
  }
  /**
   * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder getTrainingDungeonDetailListOrBuilder(
      int index) {
    return trainingDungeonDetailList_.get(index);
  }

  public static final int KPKMLCIGEMN_FIELD_NUMBER = 12;
  private com.google.protobuf.Internal.IntList kPKMLCIGEMN_;
  /**
   * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
   * @return A list containing the kPKMLCIGEMN.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getKPKMLCIGEMNList() {
    return kPKMLCIGEMN_;
  }
  /**
   * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
   * @return The count of kPKMLCIGEMN.
   */
  public int getKPKMLCIGEMNCount() {
    return kPKMLCIGEMN_.size();
  }
  /**
   * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
   * @param index The index of the element to return.
   * @return The kPKMLCIGEMN at the given index.
   */
  public int getKPKMLCIGEMN(int index) {
    return kPKMLCIGEMN_.getInt(index);
  }
  private int kPKMLCIGEMNMemoizedSerializedSize = -1;

  public static final int EBEPPCGFEGA_FIELD_NUMBER = 10;
  private com.google.protobuf.Internal.IntList eBEPPCGFEGA_;
  /**
   * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
   * @return A list containing the eBEPPCGFEGA.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getEBEPPCGFEGAList() {
    return eBEPPCGFEGA_;
  }
  /**
   * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
   * @return The count of eBEPPCGFEGA.
   */
  public int getEBEPPCGFEGACount() {
    return eBEPPCGFEGA_.size();
  }
  /**
   * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
   * @param index The index of the element to return.
   * @return The eBEPPCGFEGA at the given index.
   */
  public int getEBEPPCGFEGA(int index) {
    return eBEPPCGFEGA_.getInt(index);
  }
  private int eBEPPCGFEGAMemoizedSerializedSize = -1;

  public static final int ELONHIAJPEG_FIELD_NUMBER = 3;
  private com.google.protobuf.Internal.IntList eLONHIAJPEG_;
  /**
   * <code>repeated uint32 ELONHIAJPEG = 3;</code>
   * @return A list containing the eLONHIAJPEG.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getELONHIAJPEGList() {
    return eLONHIAJPEG_;
  }
  /**
   * <code>repeated uint32 ELONHIAJPEG = 3;</code>
   * @return The count of eLONHIAJPEG.
   */
  public int getELONHIAJPEGCount() {
    return eLONHIAJPEG_.size();
  }
  /**
   * <code>repeated uint32 ELONHIAJPEG = 3;</code>
   * @param index The index of the element to return.
   * @return The eLONHIAJPEG at the given index.
   */
  public int getELONHIAJPEG(int index) {
    return eLONHIAJPEG_.getInt(index);
  }
  private int eLONHIAJPEGMemoizedSerializedSize = -1;

  public static final int PLOT_STAGE_DETAIL_LIST_FIELD_NUMBER = 13;
  private java.util.List<io.grasscutter.net.proto.activity.FungusPlotStageDetail> plotStageDetailList_;
  /**
   * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.activity.FungusPlotStageDetail> getPlotStageDetailListList() {
    return plotStageDetailList_;
  }
  /**
   * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder> 
      getPlotStageDetailListOrBuilderList() {
    return plotStageDetailList_;
  }
  /**
   * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
   */
  @java.lang.Override
  public int getPlotStageDetailListCount() {
    return plotStageDetailList_.size();
  }
  /**
   * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusPlotStageDetail getPlotStageDetailList(int index) {
    return plotStageDetailList_.get(index);
  }
  /**
   * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder getPlotStageDetailListOrBuilder(
      int index) {
    return plotStageDetailList_.get(index);
  }

  public static final int FUNGUS_DETAIL_LIST_FIELD_NUMBER = 9;
  private java.util.List<io.grasscutter.net.proto.activity.FungusDetail> fungusDetailList_;
  /**
   * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.activity.FungusDetail> getFungusDetailListList() {
    return fungusDetailList_;
  }
  /**
   * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.activity.FungusDetailOrBuilder> 
      getFungusDetailListOrBuilderList() {
    return fungusDetailList_;
  }
  /**
   * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
   */
  @java.lang.Override
  public int getFungusDetailListCount() {
    return fungusDetailList_.size();
  }
  /**
   * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusDetail getFungusDetailList(int index) {
    return fungusDetailList_.get(index);
  }
  /**
   * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusDetailOrBuilder getFungusDetailListOrBuilder(
      int index) {
    return fungusDetailList_.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 (getELONHIAJPEGList().size() > 0) {
      output.writeUInt32NoTag(26);
      output.writeUInt32NoTag(eLONHIAJPEGMemoizedSerializedSize);
    }
    for (int i = 0; i < eLONHIAJPEG_.size(); i++) {
      output.writeUInt32NoTag(eLONHIAJPEG_.getInt(i));
    }
    for (int i = 0; i < trainingDungeonDetailList_.size(); i++) {
      output.writeMessage(6, trainingDungeonDetailList_.get(i));
    }
    for (int i = 0; i < trainingDungeonProgressDetailList_.size(); i++) {
      output.writeMessage(8, trainingDungeonProgressDetailList_.get(i));
    }
    for (int i = 0; i < fungusDetailList_.size(); i++) {
      output.writeMessage(9, fungusDetailList_.get(i));
    }
    if (getEBEPPCGFEGAList().size() > 0) {
      output.writeUInt32NoTag(82);
      output.writeUInt32NoTag(eBEPPCGFEGAMemoizedSerializedSize);
    }
    for (int i = 0; i < eBEPPCGFEGA_.size(); i++) {
      output.writeUInt32NoTag(eBEPPCGFEGA_.getInt(i));
    }
    if (getKPKMLCIGEMNList().size() > 0) {
      output.writeUInt32NoTag(98);
      output.writeUInt32NoTag(kPKMLCIGEMNMemoizedSerializedSize);
    }
    for (int i = 0; i < kPKMLCIGEMN_.size(); i++) {
      output.writeUInt32NoTag(kPKMLCIGEMN_.getInt(i));
    }
    for (int i = 0; i < plotStageDetailList_.size(); i++) {
      output.writeMessage(13, plotStageDetailList_.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 < eLONHIAJPEG_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(eLONHIAJPEG_.getInt(i));
      }
      size += dataSize;
      if (!getELONHIAJPEGList().isEmpty()) {
        size += 1;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      eLONHIAJPEGMemoizedSerializedSize = dataSize;
    }
    for (int i = 0; i < trainingDungeonDetailList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(6, trainingDungeonDetailList_.get(i));
    }
    for (int i = 0; i < trainingDungeonProgressDetailList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(8, trainingDungeonProgressDetailList_.get(i));
    }
    for (int i = 0; i < fungusDetailList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(9, fungusDetailList_.get(i));
    }
    {
      int dataSize = 0;
      for (int i = 0; i < eBEPPCGFEGA_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(eBEPPCGFEGA_.getInt(i));
      }
      size += dataSize;
      if (!getEBEPPCGFEGAList().isEmpty()) {
        size += 1;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      eBEPPCGFEGAMemoizedSerializedSize = dataSize;
    }
    {
      int dataSize = 0;
      for (int i = 0; i < kPKMLCIGEMN_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(kPKMLCIGEMN_.getInt(i));
      }
      size += dataSize;
      if (!getKPKMLCIGEMNList().isEmpty()) {
        size += 1;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      kPKMLCIGEMNMemoizedSerializedSize = dataSize;
    }
    for (int i = 0; i < plotStageDetailList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, plotStageDetailList_.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 io.grasscutter.net.proto.activity.FungusFighterDetailInfo)) {
      return super.equals(obj);
    }
    io.grasscutter.net.proto.activity.FungusFighterDetailInfo other = (io.grasscutter.net.proto.activity.FungusFighterDetailInfo) obj;

    if (!getTrainingDungeonProgressDetailListList()
        .equals(other.getTrainingDungeonProgressDetailListList())) return false;
    if (!getTrainingDungeonDetailListList()
        .equals(other.getTrainingDungeonDetailListList())) return false;
    if (!getKPKMLCIGEMNList()
        .equals(other.getKPKMLCIGEMNList())) return false;
    if (!getEBEPPCGFEGAList()
        .equals(other.getEBEPPCGFEGAList())) return false;
    if (!getELONHIAJPEGList()
        .equals(other.getELONHIAJPEGList())) return false;
    if (!getPlotStageDetailListList()
        .equals(other.getPlotStageDetailListList())) return false;
    if (!getFungusDetailListList()
        .equals(other.getFungusDetailListList())) 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 (getTrainingDungeonProgressDetailListCount() > 0) {
      hash = (37 * hash) + TRAINING_DUNGEON_PROGRESS_DETAIL_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getTrainingDungeonProgressDetailListList().hashCode();
    }
    if (getTrainingDungeonDetailListCount() > 0) {
      hash = (37 * hash) + TRAINING_DUNGEON_DETAIL_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getTrainingDungeonDetailListList().hashCode();
    }
    if (getKPKMLCIGEMNCount() > 0) {
      hash = (37 * hash) + KPKMLCIGEMN_FIELD_NUMBER;
      hash = (53 * hash) + getKPKMLCIGEMNList().hashCode();
    }
    if (getEBEPPCGFEGACount() > 0) {
      hash = (37 * hash) + EBEPPCGFEGA_FIELD_NUMBER;
      hash = (53 * hash) + getEBEPPCGFEGAList().hashCode();
    }
    if (getELONHIAJPEGCount() > 0) {
      hash = (37 * hash) + ELONHIAJPEG_FIELD_NUMBER;
      hash = (53 * hash) + getELONHIAJPEGList().hashCode();
    }
    if (getPlotStageDetailListCount() > 0) {
      hash = (37 * hash) + PLOT_STAGE_DETAIL_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getPlotStageDetailListList().hashCode();
    }
    if (getFungusDetailListCount() > 0) {
      hash = (37 * hash) + FUNGUS_DETAIL_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getFungusDetailListList().hashCode();
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo 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 io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo 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 io.grasscutter.net.proto.activity.FungusFighterDetailInfo parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo 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(io.grasscutter.net.proto.activity.FungusFighterDetailInfo 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 FungusFighterDetailInfo}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:FungusFighterDetailInfo)
      io.grasscutter.net.proto.activity.FungusFighterDetailInfoOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.grasscutter.net.proto.activity.Activity.internal_static_FungusFighterDetailInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.grasscutter.net.proto.activity.Activity.internal_static_FungusFighterDetailInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.grasscutter.net.proto.activity.FungusFighterDetailInfo.class, io.grasscutter.net.proto.activity.FungusFighterDetailInfo.Builder.class);
    }

    // Construct using io.grasscutter.net.proto.activity.FungusFighterDetailInfo.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getTrainingDungeonProgressDetailListFieldBuilder();
        getTrainingDungeonDetailListFieldBuilder();
        getPlotStageDetailListFieldBuilder();
        getFungusDetailListFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        trainingDungeonProgressDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
      } else {
        trainingDungeonProgressDetailListBuilder_.clear();
      }
      if (trainingDungeonDetailListBuilder_ == null) {
        trainingDungeonDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
      } else {
        trainingDungeonDetailListBuilder_.clear();
      }
      kPKMLCIGEMN_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000004);
      eBEPPCGFEGA_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000008);
      eLONHIAJPEG_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000010);
      if (plotStageDetailListBuilder_ == null) {
        plotStageDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
      } else {
        plotStageDetailListBuilder_.clear();
      }
      if (fungusDetailListBuilder_ == null) {
        fungusDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
      } else {
        fungusDetailListBuilder_.clear();
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return io.grasscutter.net.proto.activity.Activity.internal_static_FungusFighterDetailInfo_descriptor;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.activity.FungusFighterDetailInfo getDefaultInstanceForType() {
      return io.grasscutter.net.proto.activity.FungusFighterDetailInfo.getDefaultInstance();
    }

    @java.lang.Override
    public io.grasscutter.net.proto.activity.FungusFighterDetailInfo build() {
      io.grasscutter.net.proto.activity.FungusFighterDetailInfo result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.activity.FungusFighterDetailInfo buildPartial() {
      io.grasscutter.net.proto.activity.FungusFighterDetailInfo result = new io.grasscutter.net.proto.activity.FungusFighterDetailInfo(this);
      int from_bitField0_ = bitField0_;
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        if (((bitField0_ & 0x00000001) != 0)) {
          trainingDungeonProgressDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.trainingDungeonProgressDetailList_ = trainingDungeonProgressDetailList_;
      } else {
        result.trainingDungeonProgressDetailList_ = trainingDungeonProgressDetailListBuilder_.build();
      }
      if (trainingDungeonDetailListBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0)) {
          trainingDungeonDetailList_ = java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.trainingDungeonDetailList_ = trainingDungeonDetailList_;
      } else {
        result.trainingDungeonDetailList_ = trainingDungeonDetailListBuilder_.build();
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        kPKMLCIGEMN_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000004);
      }
      result.kPKMLCIGEMN_ = kPKMLCIGEMN_;
      if (((bitField0_ & 0x00000008) != 0)) {
        eBEPPCGFEGA_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000008);
      }
      result.eBEPPCGFEGA_ = eBEPPCGFEGA_;
      if (((bitField0_ & 0x00000010) != 0)) {
        eLONHIAJPEG_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000010);
      }
      result.eLONHIAJPEG_ = eLONHIAJPEG_;
      if (plotStageDetailListBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)) {
          plotStageDetailList_ = java.util.Collections.unmodifiableList(plotStageDetailList_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.plotStageDetailList_ = plotStageDetailList_;
      } else {
        result.plotStageDetailList_ = plotStageDetailListBuilder_.build();
      }
      if (fungusDetailListBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0)) {
          fungusDetailList_ = java.util.Collections.unmodifiableList(fungusDetailList_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.fungusDetailList_ = fungusDetailList_;
      } else {
        result.fungusDetailList_ = fungusDetailListBuilder_.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 io.grasscutter.net.proto.activity.FungusFighterDetailInfo) {
        return mergeFrom((io.grasscutter.net.proto.activity.FungusFighterDetailInfo)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(io.grasscutter.net.proto.activity.FungusFighterDetailInfo other) {
      if (other == io.grasscutter.net.proto.activity.FungusFighterDetailInfo.getDefaultInstance()) return this;
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        if (!other.trainingDungeonProgressDetailList_.isEmpty()) {
          if (trainingDungeonProgressDetailList_.isEmpty()) {
            trainingDungeonProgressDetailList_ = other.trainingDungeonProgressDetailList_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureTrainingDungeonProgressDetailListIsMutable();
            trainingDungeonProgressDetailList_.addAll(other.trainingDungeonProgressDetailList_);
          }
          onChanged();
        }
      } else {
        if (!other.trainingDungeonProgressDetailList_.isEmpty()) {
          if (trainingDungeonProgressDetailListBuilder_.isEmpty()) {
            trainingDungeonProgressDetailListBuilder_.dispose();
            trainingDungeonProgressDetailListBuilder_ = null;
            trainingDungeonProgressDetailList_ = other.trainingDungeonProgressDetailList_;
            bitField0_ = (bitField0_ & ~0x00000001);
            trainingDungeonProgressDetailListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getTrainingDungeonProgressDetailListFieldBuilder() : null;
          } else {
            trainingDungeonProgressDetailListBuilder_.addAllMessages(other.trainingDungeonProgressDetailList_);
          }
        }
      }
      if (trainingDungeonDetailListBuilder_ == null) {
        if (!other.trainingDungeonDetailList_.isEmpty()) {
          if (trainingDungeonDetailList_.isEmpty()) {
            trainingDungeonDetailList_ = other.trainingDungeonDetailList_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureTrainingDungeonDetailListIsMutable();
            trainingDungeonDetailList_.addAll(other.trainingDungeonDetailList_);
          }
          onChanged();
        }
      } else {
        if (!other.trainingDungeonDetailList_.isEmpty()) {
          if (trainingDungeonDetailListBuilder_.isEmpty()) {
            trainingDungeonDetailListBuilder_.dispose();
            trainingDungeonDetailListBuilder_ = null;
            trainingDungeonDetailList_ = other.trainingDungeonDetailList_;
            bitField0_ = (bitField0_ & ~0x00000002);
            trainingDungeonDetailListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getTrainingDungeonDetailListFieldBuilder() : null;
          } else {
            trainingDungeonDetailListBuilder_.addAllMessages(other.trainingDungeonDetailList_);
          }
        }
      }
      if (!other.kPKMLCIGEMN_.isEmpty()) {
        if (kPKMLCIGEMN_.isEmpty()) {
          kPKMLCIGEMN_ = other.kPKMLCIGEMN_;
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          ensureKPKMLCIGEMNIsMutable();
          kPKMLCIGEMN_.addAll(other.kPKMLCIGEMN_);
        }
        onChanged();
      }
      if (!other.eBEPPCGFEGA_.isEmpty()) {
        if (eBEPPCGFEGA_.isEmpty()) {
          eBEPPCGFEGA_ = other.eBEPPCGFEGA_;
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          ensureEBEPPCGFEGAIsMutable();
          eBEPPCGFEGA_.addAll(other.eBEPPCGFEGA_);
        }
        onChanged();
      }
      if (!other.eLONHIAJPEG_.isEmpty()) {
        if (eLONHIAJPEG_.isEmpty()) {
          eLONHIAJPEG_ = other.eLONHIAJPEG_;
          bitField0_ = (bitField0_ & ~0x00000010);
        } else {
          ensureELONHIAJPEGIsMutable();
          eLONHIAJPEG_.addAll(other.eLONHIAJPEG_);
        }
        onChanged();
      }
      if (plotStageDetailListBuilder_ == null) {
        if (!other.plotStageDetailList_.isEmpty()) {
          if (plotStageDetailList_.isEmpty()) {
            plotStageDetailList_ = other.plotStageDetailList_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensurePlotStageDetailListIsMutable();
            plotStageDetailList_.addAll(other.plotStageDetailList_);
          }
          onChanged();
        }
      } else {
        if (!other.plotStageDetailList_.isEmpty()) {
          if (plotStageDetailListBuilder_.isEmpty()) {
            plotStageDetailListBuilder_.dispose();
            plotStageDetailListBuilder_ = null;
            plotStageDetailList_ = other.plotStageDetailList_;
            bitField0_ = (bitField0_ & ~0x00000020);
            plotStageDetailListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getPlotStageDetailListFieldBuilder() : null;
          } else {
            plotStageDetailListBuilder_.addAllMessages(other.plotStageDetailList_);
          }
        }
      }
      if (fungusDetailListBuilder_ == null) {
        if (!other.fungusDetailList_.isEmpty()) {
          if (fungusDetailList_.isEmpty()) {
            fungusDetailList_ = other.fungusDetailList_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureFungusDetailListIsMutable();
            fungusDetailList_.addAll(other.fungusDetailList_);
          }
          onChanged();
        }
      } else {
        if (!other.fungusDetailList_.isEmpty()) {
          if (fungusDetailListBuilder_.isEmpty()) {
            fungusDetailListBuilder_.dispose();
            fungusDetailListBuilder_ = null;
            fungusDetailList_ = other.fungusDetailList_;
            bitField0_ = (bitField0_ & ~0x00000040);
            fungusDetailListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getFungusDetailListFieldBuilder() : null;
          } else {
            fungusDetailListBuilder_.addAllMessages(other.fungusDetailList_);
          }
        }
      }
      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 {
      io.grasscutter.net.proto.activity.FungusFighterDetailInfo parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (io.grasscutter.net.proto.activity.FungusFighterDetailInfo) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;

    private java.util.List<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail> trainingDungeonProgressDetailList_ =
      java.util.Collections.emptyList();
    private void ensureTrainingDungeonProgressDetailListIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        trainingDungeonProgressDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail>(trainingDungeonProgressDetailList_);
        bitField0_ |= 0x00000001;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusTrainingProgressDetail, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder, io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder> trainingDungeonProgressDetailListBuilder_;

    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail> getTrainingDungeonProgressDetailListList() {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
      } else {
        return trainingDungeonProgressDetailListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public int getTrainingDungeonProgressDetailListCount() {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        return trainingDungeonProgressDetailList_.size();
      } else {
        return trainingDungeonProgressDetailListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingProgressDetail getTrainingDungeonProgressDetailList(int index) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        return trainingDungeonProgressDetailList_.get(index);
      } else {
        return trainingDungeonProgressDetailListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder setTrainingDungeonProgressDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail value) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.set(index, value);
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder setTrainingDungeonProgressDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder builderForValue) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.set(index, builderForValue.build());
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder addTrainingDungeonProgressDetailList(io.grasscutter.net.proto.activity.FungusTrainingProgressDetail value) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.add(value);
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder addTrainingDungeonProgressDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail value) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.add(index, value);
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder addTrainingDungeonProgressDetailList(
        io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder builderForValue) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.add(builderForValue.build());
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder addTrainingDungeonProgressDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder builderForValue) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.add(index, builderForValue.build());
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder addAllTrainingDungeonProgressDetailList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.activity.FungusTrainingProgressDetail> values) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        ensureTrainingDungeonProgressDetailListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, trainingDungeonProgressDetailList_);
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder clearTrainingDungeonProgressDetailList() {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        trainingDungeonProgressDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public Builder removeTrainingDungeonProgressDetailList(int index) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        ensureTrainingDungeonProgressDetailListIsMutable();
        trainingDungeonProgressDetailList_.remove(index);
        onChanged();
      } else {
        trainingDungeonProgressDetailListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder getTrainingDungeonProgressDetailListBuilder(
        int index) {
      return getTrainingDungeonProgressDetailListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder getTrainingDungeonProgressDetailListOrBuilder(
        int index) {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        return trainingDungeonProgressDetailList_.get(index);  } else {
        return trainingDungeonProgressDetailListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder> 
         getTrainingDungeonProgressDetailListOrBuilderList() {
      if (trainingDungeonProgressDetailListBuilder_ != null) {
        return trainingDungeonProgressDetailListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(trainingDungeonProgressDetailList_);
      }
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder addTrainingDungeonProgressDetailListBuilder() {
      return getTrainingDungeonProgressDetailListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder addTrainingDungeonProgressDetailListBuilder(
        int index) {
      return getTrainingDungeonProgressDetailListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusTrainingProgressDetail training_dungeon_progress_detail_list = 8;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder> 
         getTrainingDungeonProgressDetailListBuilderList() {
      return getTrainingDungeonProgressDetailListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusTrainingProgressDetail, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder, io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder> 
        getTrainingDungeonProgressDetailListFieldBuilder() {
      if (trainingDungeonProgressDetailListBuilder_ == null) {
        trainingDungeonProgressDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.activity.FungusTrainingProgressDetail, io.grasscutter.net.proto.activity.FungusTrainingProgressDetail.Builder, io.grasscutter.net.proto.activity.FungusTrainingProgressDetailOrBuilder>(
                trainingDungeonProgressDetailList_,
                ((bitField0_ & 0x00000001) != 0),
                getParentForChildren(),
                isClean());
        trainingDungeonProgressDetailList_ = null;
      }
      return trainingDungeonProgressDetailListBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail> trainingDungeonDetailList_ =
      java.util.Collections.emptyList();
    private void ensureTrainingDungeonDetailListIsMutable() {
      if (!((bitField0_ & 0x00000002) != 0)) {
        trainingDungeonDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail>(trainingDungeonDetailList_);
        bitField0_ |= 0x00000002;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder> trainingDungeonDetailListBuilder_;

    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail> getTrainingDungeonDetailListList() {
      if (trainingDungeonDetailListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
      } else {
        return trainingDungeonDetailListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public int getTrainingDungeonDetailListCount() {
      if (trainingDungeonDetailListBuilder_ == null) {
        return trainingDungeonDetailList_.size();
      } else {
        return trainingDungeonDetailListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail getTrainingDungeonDetailList(int index) {
      if (trainingDungeonDetailListBuilder_ == null) {
        return trainingDungeonDetailList_.get(index);
      } else {
        return trainingDungeonDetailListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder setTrainingDungeonDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail value) {
      if (trainingDungeonDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.set(index, value);
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder setTrainingDungeonDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder builderForValue) {
      if (trainingDungeonDetailListBuilder_ == null) {
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.set(index, builderForValue.build());
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder addTrainingDungeonDetailList(io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail value) {
      if (trainingDungeonDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.add(value);
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder addTrainingDungeonDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail value) {
      if (trainingDungeonDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.add(index, value);
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder addTrainingDungeonDetailList(
        io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder builderForValue) {
      if (trainingDungeonDetailListBuilder_ == null) {
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.add(builderForValue.build());
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder addTrainingDungeonDetailList(
        int index, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder builderForValue) {
      if (trainingDungeonDetailListBuilder_ == null) {
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.add(index, builderForValue.build());
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder addAllTrainingDungeonDetailList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail> values) {
      if (trainingDungeonDetailListBuilder_ == null) {
        ensureTrainingDungeonDetailListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, trainingDungeonDetailList_);
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder clearTrainingDungeonDetailList() {
      if (trainingDungeonDetailListBuilder_ == null) {
        trainingDungeonDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public Builder removeTrainingDungeonDetailList(int index) {
      if (trainingDungeonDetailListBuilder_ == null) {
        ensureTrainingDungeonDetailListIsMutable();
        trainingDungeonDetailList_.remove(index);
        onChanged();
      } else {
        trainingDungeonDetailListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder getTrainingDungeonDetailListBuilder(
        int index) {
      return getTrainingDungeonDetailListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder getTrainingDungeonDetailListOrBuilder(
        int index) {
      if (trainingDungeonDetailListBuilder_ == null) {
        return trainingDungeonDetailList_.get(index);  } else {
        return trainingDungeonDetailListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder> 
         getTrainingDungeonDetailListOrBuilderList() {
      if (trainingDungeonDetailListBuilder_ != null) {
        return trainingDungeonDetailListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(trainingDungeonDetailList_);
      }
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder addTrainingDungeonDetailListBuilder() {
      return getTrainingDungeonDetailListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder addTrainingDungeonDetailListBuilder(
        int index) {
      return getTrainingDungeonDetailListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusTrainingDungeonDetail training_dungeon_detail_list = 6;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder> 
         getTrainingDungeonDetailListBuilderList() {
      return getTrainingDungeonDetailListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder> 
        getTrainingDungeonDetailListFieldBuilder() {
      if (trainingDungeonDetailListBuilder_ == null) {
        trainingDungeonDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetail.Builder, io.grasscutter.net.proto.activity.FungusTrainingDungeonDetailOrBuilder>(
                trainingDungeonDetailList_,
                ((bitField0_ & 0x00000002) != 0),
                getParentForChildren(),
                isClean());
        trainingDungeonDetailList_ = null;
      }
      return trainingDungeonDetailListBuilder_;
    }

    private com.google.protobuf.Internal.IntList kPKMLCIGEMN_ = emptyIntList();
    private void ensureKPKMLCIGEMNIsMutable() {
      if (!((bitField0_ & 0x00000004) != 0)) {
        kPKMLCIGEMN_ = mutableCopy(kPKMLCIGEMN_);
        bitField0_ |= 0x00000004;
       }
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @return A list containing the kPKMLCIGEMN.
     */
    public java.util.List<java.lang.Integer>
        getKPKMLCIGEMNList() {
      return ((bitField0_ & 0x00000004) != 0) ?
               java.util.Collections.unmodifiableList(kPKMLCIGEMN_) : kPKMLCIGEMN_;
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @return The count of kPKMLCIGEMN.
     */
    public int getKPKMLCIGEMNCount() {
      return kPKMLCIGEMN_.size();
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @param index The index of the element to return.
     * @return The kPKMLCIGEMN at the given index.
     */
    public int getKPKMLCIGEMN(int index) {
      return kPKMLCIGEMN_.getInt(index);
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @param index The index to set the value at.
     * @param value The kPKMLCIGEMN to set.
     * @return This builder for chaining.
     */
    public Builder setKPKMLCIGEMN(
        int index, int value) {
      ensureKPKMLCIGEMNIsMutable();
      kPKMLCIGEMN_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @param value The kPKMLCIGEMN to add.
     * @return This builder for chaining.
     */
    public Builder addKPKMLCIGEMN(int value) {
      ensureKPKMLCIGEMNIsMutable();
      kPKMLCIGEMN_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @param values The kPKMLCIGEMN to add.
     * @return This builder for chaining.
     */
    public Builder addAllKPKMLCIGEMN(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureKPKMLCIGEMNIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, kPKMLCIGEMN_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 KPKMLCIGEMN = 12;</code>
     * @return This builder for chaining.
     */
    public Builder clearKPKMLCIGEMN() {
      kPKMLCIGEMN_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }

    private com.google.protobuf.Internal.IntList eBEPPCGFEGA_ = emptyIntList();
    private void ensureEBEPPCGFEGAIsMutable() {
      if (!((bitField0_ & 0x00000008) != 0)) {
        eBEPPCGFEGA_ = mutableCopy(eBEPPCGFEGA_);
        bitField0_ |= 0x00000008;
       }
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @return A list containing the eBEPPCGFEGA.
     */
    public java.util.List<java.lang.Integer>
        getEBEPPCGFEGAList() {
      return ((bitField0_ & 0x00000008) != 0) ?
               java.util.Collections.unmodifiableList(eBEPPCGFEGA_) : eBEPPCGFEGA_;
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @return The count of eBEPPCGFEGA.
     */
    public int getEBEPPCGFEGACount() {
      return eBEPPCGFEGA_.size();
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @param index The index of the element to return.
     * @return The eBEPPCGFEGA at the given index.
     */
    public int getEBEPPCGFEGA(int index) {
      return eBEPPCGFEGA_.getInt(index);
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @param index The index to set the value at.
     * @param value The eBEPPCGFEGA to set.
     * @return This builder for chaining.
     */
    public Builder setEBEPPCGFEGA(
        int index, int value) {
      ensureEBEPPCGFEGAIsMutable();
      eBEPPCGFEGA_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @param value The eBEPPCGFEGA to add.
     * @return This builder for chaining.
     */
    public Builder addEBEPPCGFEGA(int value) {
      ensureEBEPPCGFEGAIsMutable();
      eBEPPCGFEGA_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @param values The eBEPPCGFEGA to add.
     * @return This builder for chaining.
     */
    public Builder addAllEBEPPCGFEGA(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureEBEPPCGFEGAIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, eBEPPCGFEGA_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 EBEPPCGFEGA = 10;</code>
     * @return This builder for chaining.
     */
    public Builder clearEBEPPCGFEGA() {
      eBEPPCGFEGA_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000008);
      onChanged();
      return this;
    }

    private com.google.protobuf.Internal.IntList eLONHIAJPEG_ = emptyIntList();
    private void ensureELONHIAJPEGIsMutable() {
      if (!((bitField0_ & 0x00000010) != 0)) {
        eLONHIAJPEG_ = mutableCopy(eLONHIAJPEG_);
        bitField0_ |= 0x00000010;
       }
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @return A list containing the eLONHIAJPEG.
     */
    public java.util.List<java.lang.Integer>
        getELONHIAJPEGList() {
      return ((bitField0_ & 0x00000010) != 0) ?
               java.util.Collections.unmodifiableList(eLONHIAJPEG_) : eLONHIAJPEG_;
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @return The count of eLONHIAJPEG.
     */
    public int getELONHIAJPEGCount() {
      return eLONHIAJPEG_.size();
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @param index The index of the element to return.
     * @return The eLONHIAJPEG at the given index.
     */
    public int getELONHIAJPEG(int index) {
      return eLONHIAJPEG_.getInt(index);
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @param index The index to set the value at.
     * @param value The eLONHIAJPEG to set.
     * @return This builder for chaining.
     */
    public Builder setELONHIAJPEG(
        int index, int value) {
      ensureELONHIAJPEGIsMutable();
      eLONHIAJPEG_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @param value The eLONHIAJPEG to add.
     * @return This builder for chaining.
     */
    public Builder addELONHIAJPEG(int value) {
      ensureELONHIAJPEGIsMutable();
      eLONHIAJPEG_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @param values The eLONHIAJPEG to add.
     * @return This builder for chaining.
     */
    public Builder addAllELONHIAJPEG(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureELONHIAJPEGIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, eLONHIAJPEG_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 ELONHIAJPEG = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearELONHIAJPEG() {
      eLONHIAJPEG_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000010);
      onChanged();
      return this;
    }

    private java.util.List<io.grasscutter.net.proto.activity.FungusPlotStageDetail> plotStageDetailList_ =
      java.util.Collections.emptyList();
    private void ensurePlotStageDetailListIsMutable() {
      if (!((bitField0_ & 0x00000020) != 0)) {
        plotStageDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusPlotStageDetail>(plotStageDetailList_);
        bitField0_ |= 0x00000020;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusPlotStageDetail, io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder, io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder> plotStageDetailListBuilder_;

    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusPlotStageDetail> getPlotStageDetailListList() {
      if (plotStageDetailListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(plotStageDetailList_);
      } else {
        return plotStageDetailListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public int getPlotStageDetailListCount() {
      if (plotStageDetailListBuilder_ == null) {
        return plotStageDetailList_.size();
      } else {
        return plotStageDetailListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public io.grasscutter.net.proto.activity.FungusPlotStageDetail getPlotStageDetailList(int index) {
      if (plotStageDetailListBuilder_ == null) {
        return plotStageDetailList_.get(index);
      } else {
        return plotStageDetailListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder setPlotStageDetailList(
        int index, io.grasscutter.net.proto.activity.FungusPlotStageDetail value) {
      if (plotStageDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.set(index, value);
        onChanged();
      } else {
        plotStageDetailListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder setPlotStageDetailList(
        int index, io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder builderForValue) {
      if (plotStageDetailListBuilder_ == null) {
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.set(index, builderForValue.build());
        onChanged();
      } else {
        plotStageDetailListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder addPlotStageDetailList(io.grasscutter.net.proto.activity.FungusPlotStageDetail value) {
      if (plotStageDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.add(value);
        onChanged();
      } else {
        plotStageDetailListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder addPlotStageDetailList(
        int index, io.grasscutter.net.proto.activity.FungusPlotStageDetail value) {
      if (plotStageDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.add(index, value);
        onChanged();
      } else {
        plotStageDetailListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder addPlotStageDetailList(
        io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder builderForValue) {
      if (plotStageDetailListBuilder_ == null) {
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.add(builderForValue.build());
        onChanged();
      } else {
        plotStageDetailListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder addPlotStageDetailList(
        int index, io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder builderForValue) {
      if (plotStageDetailListBuilder_ == null) {
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.add(index, builderForValue.build());
        onChanged();
      } else {
        plotStageDetailListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder addAllPlotStageDetailList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.activity.FungusPlotStageDetail> values) {
      if (plotStageDetailListBuilder_ == null) {
        ensurePlotStageDetailListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, plotStageDetailList_);
        onChanged();
      } else {
        plotStageDetailListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder clearPlotStageDetailList() {
      if (plotStageDetailListBuilder_ == null) {
        plotStageDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
      } else {
        plotStageDetailListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public Builder removePlotStageDetailList(int index) {
      if (plotStageDetailListBuilder_ == null) {
        ensurePlotStageDetailListIsMutable();
        plotStageDetailList_.remove(index);
        onChanged();
      } else {
        plotStageDetailListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder getPlotStageDetailListBuilder(
        int index) {
      return getPlotStageDetailListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder getPlotStageDetailListOrBuilder(
        int index) {
      if (plotStageDetailListBuilder_ == null) {
        return plotStageDetailList_.get(index);  } else {
        return plotStageDetailListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder> 
         getPlotStageDetailListOrBuilderList() {
      if (plotStageDetailListBuilder_ != null) {
        return plotStageDetailListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(plotStageDetailList_);
      }
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder addPlotStageDetailListBuilder() {
      return getPlotStageDetailListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.activity.FungusPlotStageDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder addPlotStageDetailListBuilder(
        int index) {
      return getPlotStageDetailListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.activity.FungusPlotStageDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusPlotStageDetail plot_stage_detail_list = 13;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder> 
         getPlotStageDetailListBuilderList() {
      return getPlotStageDetailListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusPlotStageDetail, io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder, io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder> 
        getPlotStageDetailListFieldBuilder() {
      if (plotStageDetailListBuilder_ == null) {
        plotStageDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.activity.FungusPlotStageDetail, io.grasscutter.net.proto.activity.FungusPlotStageDetail.Builder, io.grasscutter.net.proto.activity.FungusPlotStageDetailOrBuilder>(
                plotStageDetailList_,
                ((bitField0_ & 0x00000020) != 0),
                getParentForChildren(),
                isClean());
        plotStageDetailList_ = null;
      }
      return plotStageDetailListBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.activity.FungusDetail> fungusDetailList_ =
      java.util.Collections.emptyList();
    private void ensureFungusDetailListIsMutable() {
      if (!((bitField0_ & 0x00000040) != 0)) {
        fungusDetailList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.FungusDetail>(fungusDetailList_);
        bitField0_ |= 0x00000040;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusDetail, io.grasscutter.net.proto.activity.FungusDetail.Builder, io.grasscutter.net.proto.activity.FungusDetailOrBuilder> fungusDetailListBuilder_;

    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusDetail> getFungusDetailListList() {
      if (fungusDetailListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(fungusDetailList_);
      } else {
        return fungusDetailListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public int getFungusDetailListCount() {
      if (fungusDetailListBuilder_ == null) {
        return fungusDetailList_.size();
      } else {
        return fungusDetailListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public io.grasscutter.net.proto.activity.FungusDetail getFungusDetailList(int index) {
      if (fungusDetailListBuilder_ == null) {
        return fungusDetailList_.get(index);
      } else {
        return fungusDetailListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder setFungusDetailList(
        int index, io.grasscutter.net.proto.activity.FungusDetail value) {
      if (fungusDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFungusDetailListIsMutable();
        fungusDetailList_.set(index, value);
        onChanged();
      } else {
        fungusDetailListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder setFungusDetailList(
        int index, io.grasscutter.net.proto.activity.FungusDetail.Builder builderForValue) {
      if (fungusDetailListBuilder_ == null) {
        ensureFungusDetailListIsMutable();
        fungusDetailList_.set(index, builderForValue.build());
        onChanged();
      } else {
        fungusDetailListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder addFungusDetailList(io.grasscutter.net.proto.activity.FungusDetail value) {
      if (fungusDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFungusDetailListIsMutable();
        fungusDetailList_.add(value);
        onChanged();
      } else {
        fungusDetailListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder addFungusDetailList(
        int index, io.grasscutter.net.proto.activity.FungusDetail value) {
      if (fungusDetailListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFungusDetailListIsMutable();
        fungusDetailList_.add(index, value);
        onChanged();
      } else {
        fungusDetailListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder addFungusDetailList(
        io.grasscutter.net.proto.activity.FungusDetail.Builder builderForValue) {
      if (fungusDetailListBuilder_ == null) {
        ensureFungusDetailListIsMutable();
        fungusDetailList_.add(builderForValue.build());
        onChanged();
      } else {
        fungusDetailListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder addFungusDetailList(
        int index, io.grasscutter.net.proto.activity.FungusDetail.Builder builderForValue) {
      if (fungusDetailListBuilder_ == null) {
        ensureFungusDetailListIsMutable();
        fungusDetailList_.add(index, builderForValue.build());
        onChanged();
      } else {
        fungusDetailListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder addAllFungusDetailList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.activity.FungusDetail> values) {
      if (fungusDetailListBuilder_ == null) {
        ensureFungusDetailListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, fungusDetailList_);
        onChanged();
      } else {
        fungusDetailListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder clearFungusDetailList() {
      if (fungusDetailListBuilder_ == null) {
        fungusDetailList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
      } else {
        fungusDetailListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public Builder removeFungusDetailList(int index) {
      if (fungusDetailListBuilder_ == null) {
        ensureFungusDetailListIsMutable();
        fungusDetailList_.remove(index);
        onChanged();
      } else {
        fungusDetailListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public io.grasscutter.net.proto.activity.FungusDetail.Builder getFungusDetailListBuilder(
        int index) {
      return getFungusDetailListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public io.grasscutter.net.proto.activity.FungusDetailOrBuilder getFungusDetailListOrBuilder(
        int index) {
      if (fungusDetailListBuilder_ == null) {
        return fungusDetailList_.get(index);  } else {
        return fungusDetailListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.activity.FungusDetailOrBuilder> 
         getFungusDetailListOrBuilderList() {
      if (fungusDetailListBuilder_ != null) {
        return fungusDetailListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(fungusDetailList_);
      }
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public io.grasscutter.net.proto.activity.FungusDetail.Builder addFungusDetailListBuilder() {
      return getFungusDetailListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.activity.FungusDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public io.grasscutter.net.proto.activity.FungusDetail.Builder addFungusDetailListBuilder(
        int index) {
      return getFungusDetailListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.activity.FungusDetail.getDefaultInstance());
    }
    /**
     * <code>repeated .FungusDetail fungus_detail_list = 9;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.FungusDetail.Builder> 
         getFungusDetailListBuilderList() {
      return getFungusDetailListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.FungusDetail, io.grasscutter.net.proto.activity.FungusDetail.Builder, io.grasscutter.net.proto.activity.FungusDetailOrBuilder> 
        getFungusDetailListFieldBuilder() {
      if (fungusDetailListBuilder_ == null) {
        fungusDetailListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.activity.FungusDetail, io.grasscutter.net.proto.activity.FungusDetail.Builder, io.grasscutter.net.proto.activity.FungusDetailOrBuilder>(
                fungusDetailList_,
                ((bitField0_ & 0x00000040) != 0),
                getParentForChildren(),
                isClean());
        fungusDetailList_ = null;
      }
      return fungusDetailListBuilder_;
    }
    @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:FungusFighterDetailInfo)
  }

  // @@protoc_insertion_point(class_scope:FungusFighterDetailInfo)
  private static final io.grasscutter.net.proto.activity.FungusFighterDetailInfo DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new io.grasscutter.net.proto.activity.FungusFighterDetailInfo();
  }

  public static io.grasscutter.net.proto.activity.FungusFighterDetailInfo getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

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

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

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

  @java.lang.Override
  public io.grasscutter.net.proto.activity.FungusFighterDetailInfo getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

