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

package emu.grasscutter.net.proto;

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

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

    /**
     * <code>bool is_play_open_anim = 13;</code>
     * @return The isPlayOpenAnim.
     */
    boolean getIsPlayOpenAnim();

    /**
     * <code>uint32 schedule_id = 15;</code>
     * @return The scheduleId.
     */
    int getScheduleId();

    /**
     * <code>uint32 cur_score = 1906;</code>
     * @return The curScore.
     */
    int getCurScore();

    /**
     * <code>bool is_starting = 9;</code>
     * @return The isStarting.
     */
    boolean getIsStarting();

    /**
     * <code>repeated uint32 taken_reward_list = 329;</code>
     * @return A list containing the takenRewardList.
     */
    java.util.List<java.lang.Integer> getTakenRewardListList();
    /**
     * <code>repeated uint32 taken_reward_list = 329;</code>
     * @return The count of takenRewardList.
     */
    int getTakenRewardListCount();
    /**
     * <code>repeated uint32 taken_reward_list = 329;</code>
     * @param index The index of the element to return.
     * @return The takenRewardList at the given index.
     */
    int getTakenRewardList(int index);

    /**
     * <code>uint32 selected_avatar_reward_id = 1290;</code>
     * @return The selectedAvatarRewardId.
     */
    int getSelectedAvatarRewardId();

    /**
     * <code>uint32 first_day_start_time = 592;</code>
     * @return The firstDayStartTime.
     */
    int getFirstDayStartTime();

    /**
     * <code>uint32 score_limit = 1958;</code>
     * @return The scoreLimit.
     */
    int getScoreLimit();

    /**
     * <code>bool is_finished = 6;</code>
     * @return The isFinished.
     */
    boolean getIsFinished();

    /**
     * <code>bool is_hidden = 919;</code>
     * @return The isHidden.
     */
    boolean getIsHidden();

    /**
     * <code>uint32 begin_time = 8;</code>
     * @return The beginTime.
     */
    int getBeginTime();

    /**
     * <code>uint32 end_time = 5;</code>
     * @return The endTime.
     */
    int getEndTime();

    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */
    int getActivityCoinMapCount();
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */
    boolean containsActivityCoinMap(
        int key);
    /**
     * Use {@link #getActivityCoinMapMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.Integer, java.lang.Integer>
    getActivityCoinMap();
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */
    java.util.Map<java.lang.Integer, java.lang.Integer>
    getActivityCoinMapMap();
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */

    int getActivityCoinMapOrDefault(
        int key,
        int defaultValue);
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */

    int getActivityCoinMapOrThrow(
        int key);

    /**
     * <code>uint32 activity_type = 4;</code>
     * @return The activityType.
     */
    int getActivityType();

    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    java.util.List<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC> 
        getUnk2800KOMIPKKKOBEList();
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC getUnk2800KOMIPKKKOBE(int index);
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    int getUnk2800KOMIPKKKOBECount();
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    java.util.List<? extends emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder> 
        getUnk2800KOMIPKKKOBEOrBuilderList();
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder getUnk2800KOMIPKKKOBEOrBuilder(
        int index);

    /**
     * <code>repeated uint32 meet_cond_list = 10;</code>
     * @return A list containing the meetCondList.
     */
    java.util.List<java.lang.Integer> getMeetCondListList();
    /**
     * <code>repeated uint32 meet_cond_list = 10;</code>
     * @return The count of meetCondList.
     */
    int getMeetCondListCount();
    /**
     * <code>repeated uint32 meet_cond_list = 10;</code>
     * @param index The index of the element to return.
     * @return The meetCondList at the given index.
     */
    int getMeetCondList(int index);

    /**
     * <code>repeated uint32 expire_cond_list = 3;</code>
     * @return A list containing the expireCondList.
     */
    java.util.List<java.lang.Integer> getExpireCondListList();
    /**
     * <code>repeated uint32 expire_cond_list = 3;</code>
     * @return The count of expireCondList.
     */
    int getExpireCondListCount();
    /**
     * <code>repeated uint32 expire_cond_list = 3;</code>
     * @param index The index of the element to return.
     * @return The expireCondList at the given index.
     */
    int getExpireCondList(int index);

    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> 
        getWatcherInfoListList();
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo getWatcherInfoList(int index);
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    int getWatcherInfoListCount();
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    java.util.List<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
        getWatcherInfoListOrBuilderList();
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder getWatcherInfoListOrBuilder(
        int index);

    /**
     * <code>uint32 activity_id = 12;</code>
     * @return The activityId.
     */
    int getActivityId();

    /**
     * <pre>
     * SeaLampActivityDetailInfo sam_lamp_info = 7;
     * CrucibleActivityDetailInfo crucible_info = 14;
     * SalesmanActivityDetailInfo salesman_info = 11;
     * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
     * DeliveryActivityDetailInfo delivery_info = 1092;
     * AsterActivityDetailInfo aster_info = 557;
     * FlightActivityDetailInfo flight_info = 1365;
     * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
     * EffigyActivityDetailInfo effigy_info = 391;
     * TreasureMapActivityDetailInfo treasure_map_info = 1114;
     * BlessingActivityDetailInfo blessing_info = 1869;
     * SeaLampActivityInfo sea_lamp_info = 494;
     * ExpeditionActivityDetailInfo expedition_info = 202;
     * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
     * FleurFairActivityDetailInfo fleur_fair_info = 857;
     * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
     * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
     * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
     * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
     * FindHilichurlDetailInfo find_hilichurl_info = 1411;
     * SummerTimeDetailInfo summer_time_info = 1372;
     * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
     * EchoShellDetailInfo echo_shell_info = 1113;
     * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
     * BlitzRushActivityDetailInfo blitz_rush_info = 794;
     * ChessActivityDetailInfo chess_info = 927;
     * SumoActivityDetailInfo sumo_info = 1261;
     * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
     * LunaRiteDetailInfo luna_rite_info = 814;
     * PlantFlowerActivityDetailInfo plant_flower_info = 54;
     * </pre>
     *
     * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
     * @return Whether the musicGameInfo field is set.
     */
    boolean hasMusicGameInfo();
    /**
     * <pre>
     * SeaLampActivityDetailInfo sam_lamp_info = 7;
     * CrucibleActivityDetailInfo crucible_info = 14;
     * SalesmanActivityDetailInfo salesman_info = 11;
     * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
     * DeliveryActivityDetailInfo delivery_info = 1092;
     * AsterActivityDetailInfo aster_info = 557;
     * FlightActivityDetailInfo flight_info = 1365;
     * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
     * EffigyActivityDetailInfo effigy_info = 391;
     * TreasureMapActivityDetailInfo treasure_map_info = 1114;
     * BlessingActivityDetailInfo blessing_info = 1869;
     * SeaLampActivityInfo sea_lamp_info = 494;
     * ExpeditionActivityDetailInfo expedition_info = 202;
     * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
     * FleurFairActivityDetailInfo fleur_fair_info = 857;
     * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
     * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
     * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
     * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
     * FindHilichurlDetailInfo find_hilichurl_info = 1411;
     * SummerTimeDetailInfo summer_time_info = 1372;
     * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
     * EchoShellDetailInfo echo_shell_info = 1113;
     * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
     * BlitzRushActivityDetailInfo blitz_rush_info = 794;
     * ChessActivityDetailInfo chess_info = 927;
     * SumoActivityDetailInfo sumo_info = 1261;
     * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
     * LunaRiteDetailInfo luna_rite_info = 814;
     * PlantFlowerActivityDetailInfo plant_flower_info = 54;
     * </pre>
     *
     * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
     * @return The musicGameInfo.
     */
    emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo getMusicGameInfo();
    /**
     * <pre>
     * SeaLampActivityDetailInfo sam_lamp_info = 7;
     * CrucibleActivityDetailInfo crucible_info = 14;
     * SalesmanActivityDetailInfo salesman_info = 11;
     * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
     * DeliveryActivityDetailInfo delivery_info = 1092;
     * AsterActivityDetailInfo aster_info = 557;
     * FlightActivityDetailInfo flight_info = 1365;
     * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
     * EffigyActivityDetailInfo effigy_info = 391;
     * TreasureMapActivityDetailInfo treasure_map_info = 1114;
     * BlessingActivityDetailInfo blessing_info = 1869;
     * SeaLampActivityInfo sea_lamp_info = 494;
     * ExpeditionActivityDetailInfo expedition_info = 202;
     * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
     * FleurFairActivityDetailInfo fleur_fair_info = 857;
     * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
     * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
     * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
     * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
     * FindHilichurlDetailInfo find_hilichurl_info = 1411;
     * SummerTimeDetailInfo summer_time_info = 1372;
     * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
     * EchoShellDetailInfo echo_shell_info = 1113;
     * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
     * BlitzRushActivityDetailInfo blitz_rush_info = 794;
     * ChessActivityDetailInfo chess_info = 927;
     * SumoActivityDetailInfo sumo_info = 1261;
     * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
     * LunaRiteDetailInfo luna_rite_info = 814;
     * PlantFlowerActivityDetailInfo plant_flower_info = 54;
     * </pre>
     *
     * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
     */
    emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfoOrBuilder getMusicGameInfoOrBuilder();

    public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.DetailCase getDetailCase();
  }
  /**
   * Protobuf type {@code ActivityInfo}
   */
  public static final class ActivityInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ActivityInfo)
      ActivityInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ActivityInfo.newBuilder() to construct.
    private ActivityInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ActivityInfo() {
      takenRewardList_ = emptyIntList();
      unk2800KOMIPKKKOBE_ = java.util.Collections.emptyList();
      meetCondList_ = emptyIntList();
      expireCondList_ = emptyIntList();
      watcherInfoList_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ActivityInfo(
        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 18: {
              if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                watcherInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo>();
                mutable_bitField0_ |= 0x00000020;
              }
              watcherInfoList_.add(
                  input.readMessage(emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.parser(), extensionRegistry));
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                expireCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000010;
              }
              expireCondList_.addInt(input.readUInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
                expireCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                expireCondList_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 32: {

              activityType_ = input.readUInt32();
              break;
            }
            case 40: {

              endTime_ = input.readUInt32();
              break;
            }
            case 48: {

              isFinished_ = input.readBool();
              break;
            }
            case 64: {

              beginTime_ = input.readUInt32();
              break;
            }
            case 72: {

              isStarting_ = input.readBool();
              break;
            }
            case 80: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                meetCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000008;
              }
              meetCondList_.addInt(input.readUInt32());
              break;
            }
            case 82: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) {
                meetCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                meetCondList_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 96: {

              activityId_ = input.readUInt32();
              break;
            }
            case 104: {

              isPlayOpenAnim_ = input.readBool();
              break;
            }
            case 120: {

              scheduleId_ = input.readUInt32();
              break;
            }
            case 2632: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                takenRewardList_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              takenRewardList_.addInt(input.readUInt32());
              break;
            }
            case 2634: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                takenRewardList_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                takenRewardList_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 3682: {
              emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 460) {
                subBuilder = ((emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 460;
              break;
            }
            case 4736: {

              firstDayStartTime_ = input.readUInt32();
              break;
            }
            case 5458: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                activityCoinMap_ = com.google.protobuf.MapField.newMapField(
                    ActivityCoinMapDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000002;
              }
              com.google.protobuf.MapEntry<java.lang.Integer, java.lang.Integer>
              activityCoinMap__ = input.readMessage(
                  ActivityCoinMapDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              activityCoinMap_.getMutableMap().put(
                  activityCoinMap__.getKey(), activityCoinMap__.getValue());
              break;
            }
            case 6914: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                unk2800KOMIPKKKOBE_ = new java.util.ArrayList<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC>();
                mutable_bitField0_ |= 0x00000004;
              }
              unk2800KOMIPKKKOBE_.add(
                  input.readMessage(emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.parser(), extensionRegistry));
              break;
            }
            case 7352: {

              isHidden_ = input.readBool();
              break;
            }
            case 10320: {

              selectedAvatarRewardId_ = input.readUInt32();
              break;
            }
            case 15248: {

              curScore_ = input.readUInt32();
              break;
            }
            case 15664: {

              scoreLimit_ = input.readUInt32();
              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_ & 0x00000020) != 0)) {
          watcherInfoList_ = java.util.Collections.unmodifiableList(watcherInfoList_);
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          expireCondList_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          meetCondList_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          takenRewardList_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          unk2800KOMIPKKKOBE_ = java.util.Collections.unmodifiableList(unk2800KOMIPKKKOBE_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 682:
          return internalGetActivityCoinMap();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.class, emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.Builder.class);
    }

    private int detailCase_ = 0;
    private java.lang.Object detail_;
    public enum DetailCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      MUSIC_GAME_INFO(460),
      DETAIL_NOT_SET(0);
      private final int value;
      private DetailCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static DetailCase valueOf(int value) {
        return forNumber(value);
      }

      public static DetailCase forNumber(int value) {
        switch (value) {
          case 460: return MUSIC_GAME_INFO;
          case 0: return DETAIL_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public DetailCase
    getDetailCase() {
      return DetailCase.forNumber(
          detailCase_);
    }

    public static final int IS_PLAY_OPEN_ANIM_FIELD_NUMBER = 13;
    private boolean isPlayOpenAnim_;
    /**
     * <code>bool is_play_open_anim = 13;</code>
     * @return The isPlayOpenAnim.
     */
    @java.lang.Override
    public boolean getIsPlayOpenAnim() {
      return isPlayOpenAnim_;
    }

    public static final int SCHEDULE_ID_FIELD_NUMBER = 15;
    private int scheduleId_;
    /**
     * <code>uint32 schedule_id = 15;</code>
     * @return The scheduleId.
     */
    @java.lang.Override
    public int getScheduleId() {
      return scheduleId_;
    }

    public static final int CUR_SCORE_FIELD_NUMBER = 1906;
    private int curScore_;
    /**
     * <code>uint32 cur_score = 1906;</code>
     * @return The curScore.
     */
    @java.lang.Override
    public int getCurScore() {
      return curScore_;
    }

    public static final int IS_STARTING_FIELD_NUMBER = 9;
    private boolean isStarting_;
    /**
     * <code>bool is_starting = 9;</code>
     * @return The isStarting.
     */
    @java.lang.Override
    public boolean getIsStarting() {
      return isStarting_;
    }

    public static final int TAKEN_REWARD_LIST_FIELD_NUMBER = 329;
    private com.google.protobuf.Internal.IntList takenRewardList_;
    /**
     * <code>repeated uint32 taken_reward_list = 329;</code>
     * @return A list containing the takenRewardList.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getTakenRewardListList() {
      return takenRewardList_;
    }
    /**
     * <code>repeated uint32 taken_reward_list = 329;</code>
     * @return The count of takenRewardList.
     */
    public int getTakenRewardListCount() {
      return takenRewardList_.size();
    }
    /**
     * <code>repeated uint32 taken_reward_list = 329;</code>
     * @param index The index of the element to return.
     * @return The takenRewardList at the given index.
     */
    public int getTakenRewardList(int index) {
      return takenRewardList_.getInt(index);
    }
    private int takenRewardListMemoizedSerializedSize = -1;

    public static final int SELECTED_AVATAR_REWARD_ID_FIELD_NUMBER = 1290;
    private int selectedAvatarRewardId_;
    /**
     * <code>uint32 selected_avatar_reward_id = 1290;</code>
     * @return The selectedAvatarRewardId.
     */
    @java.lang.Override
    public int getSelectedAvatarRewardId() {
      return selectedAvatarRewardId_;
    }

    public static final int FIRST_DAY_START_TIME_FIELD_NUMBER = 592;
    private int firstDayStartTime_;
    /**
     * <code>uint32 first_day_start_time = 592;</code>
     * @return The firstDayStartTime.
     */
    @java.lang.Override
    public int getFirstDayStartTime() {
      return firstDayStartTime_;
    }

    public static final int SCORE_LIMIT_FIELD_NUMBER = 1958;
    private int scoreLimit_;
    /**
     * <code>uint32 score_limit = 1958;</code>
     * @return The scoreLimit.
     */
    @java.lang.Override
    public int getScoreLimit() {
      return scoreLimit_;
    }

    public static final int IS_FINISHED_FIELD_NUMBER = 6;
    private boolean isFinished_;
    /**
     * <code>bool is_finished = 6;</code>
     * @return The isFinished.
     */
    @java.lang.Override
    public boolean getIsFinished() {
      return isFinished_;
    }

    public static final int IS_HIDDEN_FIELD_NUMBER = 919;
    private boolean isHidden_;
    /**
     * <code>bool is_hidden = 919;</code>
     * @return The isHidden.
     */
    @java.lang.Override
    public boolean getIsHidden() {
      return isHidden_;
    }

    public static final int BEGIN_TIME_FIELD_NUMBER = 8;
    private int beginTime_;
    /**
     * <code>uint32 begin_time = 8;</code>
     * @return The beginTime.
     */
    @java.lang.Override
    public int getBeginTime() {
      return beginTime_;
    }

    public static final int END_TIME_FIELD_NUMBER = 5;
    private int endTime_;
    /**
     * <code>uint32 end_time = 5;</code>
     * @return The endTime.
     */
    @java.lang.Override
    public int getEndTime() {
      return endTime_;
    }

    public static final int ACTIVITY_COIN_MAP_FIELD_NUMBER = 682;
    private static final class ActivityCoinMapDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.Integer, java.lang.Integer> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.Integer, java.lang.Integer>newDefaultInstance(
                  emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.UINT32,
                  0,
                  com.google.protobuf.WireFormat.FieldType.UINT32,
                  0);
    }
    private com.google.protobuf.MapField<
        java.lang.Integer, java.lang.Integer> activityCoinMap_;
    private com.google.protobuf.MapField<java.lang.Integer, java.lang.Integer>
    internalGetActivityCoinMap() {
      if (activityCoinMap_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ActivityCoinMapDefaultEntryHolder.defaultEntry);
      }
      return activityCoinMap_;
    }

    public int getActivityCoinMapCount() {
      return internalGetActivityCoinMap().getMap().size();
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */

    @java.lang.Override
    public boolean containsActivityCoinMap(
        int key) {
      
      return internalGetActivityCoinMap().getMap().containsKey(key);
    }
    /**
     * Use {@link #getActivityCoinMapMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMap() {
      return getActivityCoinMapMap();
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMapMap() {
      return internalGetActivityCoinMap().getMap();
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */
    @java.lang.Override

    public int getActivityCoinMapOrDefault(
        int key,
        int defaultValue) {
      
      java.util.Map<java.lang.Integer, java.lang.Integer> map =
          internalGetActivityCoinMap().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
     */
    @java.lang.Override

    public int getActivityCoinMapOrThrow(
        int key) {
      
      java.util.Map<java.lang.Integer, java.lang.Integer> map =
          internalGetActivityCoinMap().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int ACTIVITY_TYPE_FIELD_NUMBER = 4;
    private int activityType_;
    /**
     * <code>uint32 activity_type = 4;</code>
     * @return The activityType.
     */
    @java.lang.Override
    public int getActivityType() {
      return activityType_;
    }

    public static final int UNK2800_KOMIPKKKOBE_FIELD_NUMBER = 864;
    private java.util.List<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC> unk2800KOMIPKKKOBE_;
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    @java.lang.Override
    public java.util.List<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC> getUnk2800KOMIPKKKOBEList() {
      return unk2800KOMIPKKKOBE_;
    }
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    @java.lang.Override
    public java.util.List<? extends emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder> 
        getUnk2800KOMIPKKKOBEOrBuilderList() {
      return unk2800KOMIPKKKOBE_;
    }
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    @java.lang.Override
    public int getUnk2800KOMIPKKKOBECount() {
      return unk2800KOMIPKKKOBE_.size();
    }
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC getUnk2800KOMIPKKKOBE(int index) {
      return unk2800KOMIPKKKOBE_.get(index);
    }
    /**
     * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder getUnk2800KOMIPKKKOBEOrBuilder(
        int index) {
      return unk2800KOMIPKKKOBE_.get(index);
    }

    public static final int MEET_COND_LIST_FIELD_NUMBER = 10;
    private com.google.protobuf.Internal.IntList meetCondList_;
    /**
     * <code>repeated uint32 meet_cond_list = 10;</code>
     * @return A list containing the meetCondList.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getMeetCondListList() {
      return meetCondList_;
    }
    /**
     * <code>repeated uint32 meet_cond_list = 10;</code>
     * @return The count of meetCondList.
     */
    public int getMeetCondListCount() {
      return meetCondList_.size();
    }
    /**
     * <code>repeated uint32 meet_cond_list = 10;</code>
     * @param index The index of the element to return.
     * @return The meetCondList at the given index.
     */
    public int getMeetCondList(int index) {
      return meetCondList_.getInt(index);
    }
    private int meetCondListMemoizedSerializedSize = -1;

    public static final int EXPIRE_COND_LIST_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.IntList expireCondList_;
    /**
     * <code>repeated uint32 expire_cond_list = 3;</code>
     * @return A list containing the expireCondList.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getExpireCondListList() {
      return expireCondList_;
    }
    /**
     * <code>repeated uint32 expire_cond_list = 3;</code>
     * @return The count of expireCondList.
     */
    public int getExpireCondListCount() {
      return expireCondList_.size();
    }
    /**
     * <code>repeated uint32 expire_cond_list = 3;</code>
     * @param index The index of the element to return.
     * @return The expireCondList at the given index.
     */
    public int getExpireCondList(int index) {
      return expireCondList_.getInt(index);
    }
    private int expireCondListMemoizedSerializedSize = -1;

    public static final int WATCHER_INFO_LIST_FIELD_NUMBER = 2;
    private java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> watcherInfoList_;
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    @java.lang.Override
    public java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> getWatcherInfoListList() {
      return watcherInfoList_;
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    @java.lang.Override
    public java.util.List<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
        getWatcherInfoListOrBuilderList() {
      return watcherInfoList_;
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    @java.lang.Override
    public int getWatcherInfoListCount() {
      return watcherInfoList_.size();
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo getWatcherInfoList(int index) {
      return watcherInfoList_.get(index);
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder getWatcherInfoListOrBuilder(
        int index) {
      return watcherInfoList_.get(index);
    }

    public static final int ACTIVITY_ID_FIELD_NUMBER = 12;
    private int activityId_;
    /**
     * <code>uint32 activity_id = 12;</code>
     * @return The activityId.
     */
    @java.lang.Override
    public int getActivityId() {
      return activityId_;
    }

    public static final int MUSIC_GAME_INFO_FIELD_NUMBER = 460;
    /**
     * <pre>
     * SeaLampActivityDetailInfo sam_lamp_info = 7;
     * CrucibleActivityDetailInfo crucible_info = 14;
     * SalesmanActivityDetailInfo salesman_info = 11;
     * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
     * DeliveryActivityDetailInfo delivery_info = 1092;
     * AsterActivityDetailInfo aster_info = 557;
     * FlightActivityDetailInfo flight_info = 1365;
     * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
     * EffigyActivityDetailInfo effigy_info = 391;
     * TreasureMapActivityDetailInfo treasure_map_info = 1114;
     * BlessingActivityDetailInfo blessing_info = 1869;
     * SeaLampActivityInfo sea_lamp_info = 494;
     * ExpeditionActivityDetailInfo expedition_info = 202;
     * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
     * FleurFairActivityDetailInfo fleur_fair_info = 857;
     * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
     * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
     * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
     * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
     * FindHilichurlDetailInfo find_hilichurl_info = 1411;
     * SummerTimeDetailInfo summer_time_info = 1372;
     * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
     * EchoShellDetailInfo echo_shell_info = 1113;
     * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
     * BlitzRushActivityDetailInfo blitz_rush_info = 794;
     * ChessActivityDetailInfo chess_info = 927;
     * SumoActivityDetailInfo sumo_info = 1261;
     * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
     * LunaRiteDetailInfo luna_rite_info = 814;
     * PlantFlowerActivityDetailInfo plant_flower_info = 54;
     * </pre>
     *
     * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
     * @return Whether the musicGameInfo field is set.
     */
    @java.lang.Override
    public boolean hasMusicGameInfo() {
      return detailCase_ == 460;
    }
    /**
     * <pre>
     * SeaLampActivityDetailInfo sam_lamp_info = 7;
     * CrucibleActivityDetailInfo crucible_info = 14;
     * SalesmanActivityDetailInfo salesman_info = 11;
     * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
     * DeliveryActivityDetailInfo delivery_info = 1092;
     * AsterActivityDetailInfo aster_info = 557;
     * FlightActivityDetailInfo flight_info = 1365;
     * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
     * EffigyActivityDetailInfo effigy_info = 391;
     * TreasureMapActivityDetailInfo treasure_map_info = 1114;
     * BlessingActivityDetailInfo blessing_info = 1869;
     * SeaLampActivityInfo sea_lamp_info = 494;
     * ExpeditionActivityDetailInfo expedition_info = 202;
     * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
     * FleurFairActivityDetailInfo fleur_fair_info = 857;
     * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
     * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
     * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
     * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
     * FindHilichurlDetailInfo find_hilichurl_info = 1411;
     * SummerTimeDetailInfo summer_time_info = 1372;
     * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
     * EchoShellDetailInfo echo_shell_info = 1113;
     * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
     * BlitzRushActivityDetailInfo blitz_rush_info = 794;
     * ChessActivityDetailInfo chess_info = 927;
     * SumoActivityDetailInfo sumo_info = 1261;
     * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
     * LunaRiteDetailInfo luna_rite_info = 814;
     * PlantFlowerActivityDetailInfo plant_flower_info = 54;
     * </pre>
     *
     * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
     * @return The musicGameInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo getMusicGameInfo() {
      if (detailCase_ == 460) {
         return (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance();
    }
    /**
     * <pre>
     * SeaLampActivityDetailInfo sam_lamp_info = 7;
     * CrucibleActivityDetailInfo crucible_info = 14;
     * SalesmanActivityDetailInfo salesman_info = 11;
     * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
     * DeliveryActivityDetailInfo delivery_info = 1092;
     * AsterActivityDetailInfo aster_info = 557;
     * FlightActivityDetailInfo flight_info = 1365;
     * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
     * EffigyActivityDetailInfo effigy_info = 391;
     * TreasureMapActivityDetailInfo treasure_map_info = 1114;
     * BlessingActivityDetailInfo blessing_info = 1869;
     * SeaLampActivityInfo sea_lamp_info = 494;
     * ExpeditionActivityDetailInfo expedition_info = 202;
     * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
     * FleurFairActivityDetailInfo fleur_fair_info = 857;
     * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
     * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
     * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
     * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
     * FindHilichurlDetailInfo find_hilichurl_info = 1411;
     * SummerTimeDetailInfo summer_time_info = 1372;
     * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
     * EchoShellDetailInfo echo_shell_info = 1113;
     * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
     * BlitzRushActivityDetailInfo blitz_rush_info = 794;
     * ChessActivityDetailInfo chess_info = 927;
     * SumoActivityDetailInfo sumo_info = 1261;
     * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
     * LunaRiteDetailInfo luna_rite_info = 814;
     * PlantFlowerActivityDetailInfo plant_flower_info = 54;
     * </pre>
     *
     * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfoOrBuilder getMusicGameInfoOrBuilder() {
      if (detailCase_ == 460) {
         return (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance();
    }

    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();
      for (int i = 0; i < watcherInfoList_.size(); i++) {
        output.writeMessage(2, watcherInfoList_.get(i));
      }
      if (getExpireCondListList().size() > 0) {
        output.writeUInt32NoTag(26);
        output.writeUInt32NoTag(expireCondListMemoizedSerializedSize);
      }
      for (int i = 0; i < expireCondList_.size(); i++) {
        output.writeUInt32NoTag(expireCondList_.getInt(i));
      }
      if (activityType_ != 0) {
        output.writeUInt32(4, activityType_);
      }
      if (endTime_ != 0) {
        output.writeUInt32(5, endTime_);
      }
      if (isFinished_ != false) {
        output.writeBool(6, isFinished_);
      }
      if (beginTime_ != 0) {
        output.writeUInt32(8, beginTime_);
      }
      if (isStarting_ != false) {
        output.writeBool(9, isStarting_);
      }
      if (getMeetCondListList().size() > 0) {
        output.writeUInt32NoTag(82);
        output.writeUInt32NoTag(meetCondListMemoizedSerializedSize);
      }
      for (int i = 0; i < meetCondList_.size(); i++) {
        output.writeUInt32NoTag(meetCondList_.getInt(i));
      }
      if (activityId_ != 0) {
        output.writeUInt32(12, activityId_);
      }
      if (isPlayOpenAnim_ != false) {
        output.writeBool(13, isPlayOpenAnim_);
      }
      if (scheduleId_ != 0) {
        output.writeUInt32(15, scheduleId_);
      }
      if (getTakenRewardListList().size() > 0) {
        output.writeUInt32NoTag(2634);
        output.writeUInt32NoTag(takenRewardListMemoizedSerializedSize);
      }
      for (int i = 0; i < takenRewardList_.size(); i++) {
        output.writeUInt32NoTag(takenRewardList_.getInt(i));
      }
      if (detailCase_ == 460) {
        output.writeMessage(460, (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_);
      }
      if (firstDayStartTime_ != 0) {
        output.writeUInt32(592, firstDayStartTime_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeIntegerMapTo(
          output,
          internalGetActivityCoinMap(),
          ActivityCoinMapDefaultEntryHolder.defaultEntry,
          682);
      for (int i = 0; i < unk2800KOMIPKKKOBE_.size(); i++) {
        output.writeMessage(864, unk2800KOMIPKKKOBE_.get(i));
      }
      if (isHidden_ != false) {
        output.writeBool(919, isHidden_);
      }
      if (selectedAvatarRewardId_ != 0) {
        output.writeUInt32(1290, selectedAvatarRewardId_);
      }
      if (curScore_ != 0) {
        output.writeUInt32(1906, curScore_);
      }
      if (scoreLimit_ != 0) {
        output.writeUInt32(1958, scoreLimit_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < watcherInfoList_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, watcherInfoList_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < expireCondList_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(expireCondList_.getInt(i));
        }
        size += dataSize;
        if (!getExpireCondListList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        expireCondListMemoizedSerializedSize = dataSize;
      }
      if (activityType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, activityType_);
      }
      if (endTime_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, endTime_);
      }
      if (isFinished_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, isFinished_);
      }
      if (beginTime_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, beginTime_);
      }
      if (isStarting_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, isStarting_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < meetCondList_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(meetCondList_.getInt(i));
        }
        size += dataSize;
        if (!getMeetCondListList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        meetCondListMemoizedSerializedSize = dataSize;
      }
      if (activityId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(12, activityId_);
      }
      if (isPlayOpenAnim_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, isPlayOpenAnim_);
      }
      if (scheduleId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(15, scheduleId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < takenRewardList_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(takenRewardList_.getInt(i));
        }
        size += dataSize;
        if (!getTakenRewardListList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        takenRewardListMemoizedSerializedSize = dataSize;
      }
      if (detailCase_ == 460) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(460, (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_);
      }
      if (firstDayStartTime_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(592, firstDayStartTime_);
      }
      for (java.util.Map.Entry<java.lang.Integer, java.lang.Integer> entry
           : internalGetActivityCoinMap().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.Integer, java.lang.Integer>
        activityCoinMap__ = ActivityCoinMapDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(682, activityCoinMap__);
      }
      for (int i = 0; i < unk2800KOMIPKKKOBE_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(864, unk2800KOMIPKKKOBE_.get(i));
      }
      if (isHidden_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(919, isHidden_);
      }
      if (selectedAvatarRewardId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1290, selectedAvatarRewardId_);
      }
      if (curScore_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1906, curScore_);
      }
      if (scoreLimit_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1958, scoreLimit_);
      }
      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 emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo)) {
        return super.equals(obj);
      }
      emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo other = (emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo) obj;

      if (getIsPlayOpenAnim()
          != other.getIsPlayOpenAnim()) return false;
      if (getScheduleId()
          != other.getScheduleId()) return false;
      if (getCurScore()
          != other.getCurScore()) return false;
      if (getIsStarting()
          != other.getIsStarting()) return false;
      if (!getTakenRewardListList()
          .equals(other.getTakenRewardListList())) return false;
      if (getSelectedAvatarRewardId()
          != other.getSelectedAvatarRewardId()) return false;
      if (getFirstDayStartTime()
          != other.getFirstDayStartTime()) return false;
      if (getScoreLimit()
          != other.getScoreLimit()) return false;
      if (getIsFinished()
          != other.getIsFinished()) return false;
      if (getIsHidden()
          != other.getIsHidden()) return false;
      if (getBeginTime()
          != other.getBeginTime()) return false;
      if (getEndTime()
          != other.getEndTime()) return false;
      if (!internalGetActivityCoinMap().equals(
          other.internalGetActivityCoinMap())) return false;
      if (getActivityType()
          != other.getActivityType()) return false;
      if (!getUnk2800KOMIPKKKOBEList()
          .equals(other.getUnk2800KOMIPKKKOBEList())) return false;
      if (!getMeetCondListList()
          .equals(other.getMeetCondListList())) return false;
      if (!getExpireCondListList()
          .equals(other.getExpireCondListList())) return false;
      if (!getWatcherInfoListList()
          .equals(other.getWatcherInfoListList())) return false;
      if (getActivityId()
          != other.getActivityId()) return false;
      if (!getDetailCase().equals(other.getDetailCase())) return false;
      switch (detailCase_) {
        case 460:
          if (!getMusicGameInfo()
              .equals(other.getMusicGameInfo())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + IS_PLAY_OPEN_ANIM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsPlayOpenAnim());
      hash = (37 * hash) + SCHEDULE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getScheduleId();
      hash = (37 * hash) + CUR_SCORE_FIELD_NUMBER;
      hash = (53 * hash) + getCurScore();
      hash = (37 * hash) + IS_STARTING_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsStarting());
      if (getTakenRewardListCount() > 0) {
        hash = (37 * hash) + TAKEN_REWARD_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getTakenRewardListList().hashCode();
      }
      hash = (37 * hash) + SELECTED_AVATAR_REWARD_ID_FIELD_NUMBER;
      hash = (53 * hash) + getSelectedAvatarRewardId();
      hash = (37 * hash) + FIRST_DAY_START_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getFirstDayStartTime();
      hash = (37 * hash) + SCORE_LIMIT_FIELD_NUMBER;
      hash = (53 * hash) + getScoreLimit();
      hash = (37 * hash) + IS_FINISHED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsFinished());
      hash = (37 * hash) + IS_HIDDEN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsHidden());
      hash = (37 * hash) + BEGIN_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getBeginTime();
      hash = (37 * hash) + END_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getEndTime();
      if (!internalGetActivityCoinMap().getMap().isEmpty()) {
        hash = (37 * hash) + ACTIVITY_COIN_MAP_FIELD_NUMBER;
        hash = (53 * hash) + internalGetActivityCoinMap().hashCode();
      }
      hash = (37 * hash) + ACTIVITY_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getActivityType();
      if (getUnk2800KOMIPKKKOBECount() > 0) {
        hash = (37 * hash) + UNK2800_KOMIPKKKOBE_FIELD_NUMBER;
        hash = (53 * hash) + getUnk2800KOMIPKKKOBEList().hashCode();
      }
      if (getMeetCondListCount() > 0) {
        hash = (37 * hash) + MEET_COND_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getMeetCondListList().hashCode();
      }
      if (getExpireCondListCount() > 0) {
        hash = (37 * hash) + EXPIRE_COND_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getExpireCondListList().hashCode();
      }
      if (getWatcherInfoListCount() > 0) {
        hash = (37 * hash) + WATCHER_INFO_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getWatcherInfoListList().hashCode();
      }
      hash = (37 * hash) + ACTIVITY_ID_FIELD_NUMBER;
      hash = (53 * hash) + getActivityId();
      switch (detailCase_) {
        case 460:
          hash = (37 * hash) + MUSIC_GAME_INFO_FIELD_NUMBER;
          hash = (53 * hash) + getMusicGameInfo().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 682:
            return internalGetActivityCoinMap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 682:
            return internalGetMutableActivityCoinMap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.class, emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.Builder.class);
      }

      // Construct using emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        scheduleId_ = 0;

        curScore_ = 0;

        isStarting_ = false;

        takenRewardList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        selectedAvatarRewardId_ = 0;

        firstDayStartTime_ = 0;

        scoreLimit_ = 0;

        isFinished_ = false;

        isHidden_ = false;

        beginTime_ = 0;

        endTime_ = 0;

        internalGetMutableActivityCoinMap().clear();
        activityType_ = 0;

        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          unk2800KOMIPKKKOBE_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          unk2800KOMIPKKKOBEBuilder_.clear();
        }
        meetCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000008);
        expireCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        if (watcherInfoListBuilder_ == null) {
          watcherInfoList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          watcherInfoListBuilder_.clear();
        }
        activityId_ = 0;

        detailCase_ = 0;
        detail_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_descriptor;
      }

      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo getDefaultInstanceForType() {
        return emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.getDefaultInstance();
      }

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

      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo buildPartial() {
        emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo result = new emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo(this);
        int from_bitField0_ = bitField0_;
        result.isPlayOpenAnim_ = isPlayOpenAnim_;
        result.scheduleId_ = scheduleId_;
        result.curScore_ = curScore_;
        result.isStarting_ = isStarting_;
        if (((bitField0_ & 0x00000001) != 0)) {
          takenRewardList_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.takenRewardList_ = takenRewardList_;
        result.selectedAvatarRewardId_ = selectedAvatarRewardId_;
        result.firstDayStartTime_ = firstDayStartTime_;
        result.scoreLimit_ = scoreLimit_;
        result.isFinished_ = isFinished_;
        result.isHidden_ = isHidden_;
        result.beginTime_ = beginTime_;
        result.endTime_ = endTime_;
        result.activityCoinMap_ = internalGetActivityCoinMap();
        result.activityCoinMap_.makeImmutable();
        result.activityType_ = activityType_;
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            unk2800KOMIPKKKOBE_ = java.util.Collections.unmodifiableList(unk2800KOMIPKKKOBE_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.unk2800KOMIPKKKOBE_ = unk2800KOMIPKKKOBE_;
        } else {
          result.unk2800KOMIPKKKOBE_ = unk2800KOMIPKKKOBEBuilder_.build();
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          meetCondList_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.meetCondList_ = meetCondList_;
        if (((bitField0_ & 0x00000010) != 0)) {
          expireCondList_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.expireCondList_ = expireCondList_;
        if (watcherInfoListBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0)) {
            watcherInfoList_ = java.util.Collections.unmodifiableList(watcherInfoList_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.watcherInfoList_ = watcherInfoList_;
        } else {
          result.watcherInfoList_ = watcherInfoListBuilder_.build();
        }
        result.activityId_ = activityId_;
        if (detailCase_ == 460) {
          if (musicGameInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = musicGameInfoBuilder_.build();
          }
        }
        result.detailCase_ = detailCase_;
        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 emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo) {
          return mergeFrom((emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo other) {
        if (other == emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.getDefaultInstance()) return this;
        if (other.getIsPlayOpenAnim() != false) {
          setIsPlayOpenAnim(other.getIsPlayOpenAnim());
        }
        if (other.getScheduleId() != 0) {
          setScheduleId(other.getScheduleId());
        }
        if (other.getCurScore() != 0) {
          setCurScore(other.getCurScore());
        }
        if (other.getIsStarting() != false) {
          setIsStarting(other.getIsStarting());
        }
        if (!other.takenRewardList_.isEmpty()) {
          if (takenRewardList_.isEmpty()) {
            takenRewardList_ = other.takenRewardList_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureTakenRewardListIsMutable();
            takenRewardList_.addAll(other.takenRewardList_);
          }
          onChanged();
        }
        if (other.getSelectedAvatarRewardId() != 0) {
          setSelectedAvatarRewardId(other.getSelectedAvatarRewardId());
        }
        if (other.getFirstDayStartTime() != 0) {
          setFirstDayStartTime(other.getFirstDayStartTime());
        }
        if (other.getScoreLimit() != 0) {
          setScoreLimit(other.getScoreLimit());
        }
        if (other.getIsFinished() != false) {
          setIsFinished(other.getIsFinished());
        }
        if (other.getIsHidden() != false) {
          setIsHidden(other.getIsHidden());
        }
        if (other.getBeginTime() != 0) {
          setBeginTime(other.getBeginTime());
        }
        if (other.getEndTime() != 0) {
          setEndTime(other.getEndTime());
        }
        internalGetMutableActivityCoinMap().mergeFrom(
            other.internalGetActivityCoinMap());
        if (other.getActivityType() != 0) {
          setActivityType(other.getActivityType());
        }
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          if (!other.unk2800KOMIPKKKOBE_.isEmpty()) {
            if (unk2800KOMIPKKKOBE_.isEmpty()) {
              unk2800KOMIPKKKOBE_ = other.unk2800KOMIPKKKOBE_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureUnk2800KOMIPKKKOBEIsMutable();
              unk2800KOMIPKKKOBE_.addAll(other.unk2800KOMIPKKKOBE_);
            }
            onChanged();
          }
        } else {
          if (!other.unk2800KOMIPKKKOBE_.isEmpty()) {
            if (unk2800KOMIPKKKOBEBuilder_.isEmpty()) {
              unk2800KOMIPKKKOBEBuilder_.dispose();
              unk2800KOMIPKKKOBEBuilder_ = null;
              unk2800KOMIPKKKOBE_ = other.unk2800KOMIPKKKOBE_;
              bitField0_ = (bitField0_ & ~0x00000004);
              unk2800KOMIPKKKOBEBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getUnk2800KOMIPKKKOBEFieldBuilder() : null;
            } else {
              unk2800KOMIPKKKOBEBuilder_.addAllMessages(other.unk2800KOMIPKKKOBE_);
            }
          }
        }
        if (!other.meetCondList_.isEmpty()) {
          if (meetCondList_.isEmpty()) {
            meetCondList_ = other.meetCondList_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureMeetCondListIsMutable();
            meetCondList_.addAll(other.meetCondList_);
          }
          onChanged();
        }
        if (!other.expireCondList_.isEmpty()) {
          if (expireCondList_.isEmpty()) {
            expireCondList_ = other.expireCondList_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureExpireCondListIsMutable();
            expireCondList_.addAll(other.expireCondList_);
          }
          onChanged();
        }
        if (watcherInfoListBuilder_ == null) {
          if (!other.watcherInfoList_.isEmpty()) {
            if (watcherInfoList_.isEmpty()) {
              watcherInfoList_ = other.watcherInfoList_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureWatcherInfoListIsMutable();
              watcherInfoList_.addAll(other.watcherInfoList_);
            }
            onChanged();
          }
        } else {
          if (!other.watcherInfoList_.isEmpty()) {
            if (watcherInfoListBuilder_.isEmpty()) {
              watcherInfoListBuilder_.dispose();
              watcherInfoListBuilder_ = null;
              watcherInfoList_ = other.watcherInfoList_;
              bitField0_ = (bitField0_ & ~0x00000020);
              watcherInfoListBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getWatcherInfoListFieldBuilder() : null;
            } else {
              watcherInfoListBuilder_.addAllMessages(other.watcherInfoList_);
            }
          }
        }
        if (other.getActivityId() != 0) {
          setActivityId(other.getActivityId());
        }
        switch (other.getDetailCase()) {
          case MUSIC_GAME_INFO: {
            mergeMusicGameInfo(other.getMusicGameInfo());
            break;
          }
          case DETAIL_NOT_SET: {
            break;
          }
        }
        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 {
        emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int detailCase_ = 0;
      private java.lang.Object detail_;
      public DetailCase
          getDetailCase() {
        return DetailCase.forNumber(
            detailCase_);
      }

      public Builder clearDetail() {
        detailCase_ = 0;
        detail_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private boolean isPlayOpenAnim_ ;
      /**
       * <code>bool is_play_open_anim = 13;</code>
       * @return The isPlayOpenAnim.
       */
      @java.lang.Override
      public boolean getIsPlayOpenAnim() {
        return isPlayOpenAnim_;
      }
      /**
       * <code>bool is_play_open_anim = 13;</code>
       * @param value The isPlayOpenAnim to set.
       * @return This builder for chaining.
       */
      public Builder setIsPlayOpenAnim(boolean value) {
        
        isPlayOpenAnim_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_play_open_anim = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsPlayOpenAnim() {
        
        isPlayOpenAnim_ = false;
        onChanged();
        return this;
      }

      private int scheduleId_ ;
      /**
       * <code>uint32 schedule_id = 15;</code>
       * @return The scheduleId.
       */
      @java.lang.Override
      public int getScheduleId() {
        return scheduleId_;
      }
      /**
       * <code>uint32 schedule_id = 15;</code>
       * @param value The scheduleId to set.
       * @return This builder for chaining.
       */
      public Builder setScheduleId(int value) {
        
        scheduleId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 schedule_id = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearScheduleId() {
        
        scheduleId_ = 0;
        onChanged();
        return this;
      }

      private int curScore_ ;
      /**
       * <code>uint32 cur_score = 1906;</code>
       * @return The curScore.
       */
      @java.lang.Override
      public int getCurScore() {
        return curScore_;
      }
      /**
       * <code>uint32 cur_score = 1906;</code>
       * @param value The curScore to set.
       * @return This builder for chaining.
       */
      public Builder setCurScore(int value) {
        
        curScore_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 cur_score = 1906;</code>
       * @return This builder for chaining.
       */
      public Builder clearCurScore() {
        
        curScore_ = 0;
        onChanged();
        return this;
      }

      private boolean isStarting_ ;
      /**
       * <code>bool is_starting = 9;</code>
       * @return The isStarting.
       */
      @java.lang.Override
      public boolean getIsStarting() {
        return isStarting_;
      }
      /**
       * <code>bool is_starting = 9;</code>
       * @param value The isStarting to set.
       * @return This builder for chaining.
       */
      public Builder setIsStarting(boolean value) {
        
        isStarting_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_starting = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsStarting() {
        
        isStarting_ = false;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList takenRewardList_ = emptyIntList();
      private void ensureTakenRewardListIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          takenRewardList_ = mutableCopy(takenRewardList_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @return A list containing the takenRewardList.
       */
      public java.util.List<java.lang.Integer>
          getTakenRewardListList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(takenRewardList_) : takenRewardList_;
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @return The count of takenRewardList.
       */
      public int getTakenRewardListCount() {
        return takenRewardList_.size();
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @param index The index of the element to return.
       * @return The takenRewardList at the given index.
       */
      public int getTakenRewardList(int index) {
        return takenRewardList_.getInt(index);
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @param index The index to set the value at.
       * @param value The takenRewardList to set.
       * @return This builder for chaining.
       */
      public Builder setTakenRewardList(
          int index, int value) {
        ensureTakenRewardListIsMutable();
        takenRewardList_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @param value The takenRewardList to add.
       * @return This builder for chaining.
       */
      public Builder addTakenRewardList(int value) {
        ensureTakenRewardListIsMutable();
        takenRewardList_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @param values The takenRewardList to add.
       * @return This builder for chaining.
       */
      public Builder addAllTakenRewardList(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureTakenRewardListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, takenRewardList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 taken_reward_list = 329;</code>
       * @return This builder for chaining.
       */
      public Builder clearTakenRewardList() {
        takenRewardList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private int selectedAvatarRewardId_ ;
      /**
       * <code>uint32 selected_avatar_reward_id = 1290;</code>
       * @return The selectedAvatarRewardId.
       */
      @java.lang.Override
      public int getSelectedAvatarRewardId() {
        return selectedAvatarRewardId_;
      }
      /**
       * <code>uint32 selected_avatar_reward_id = 1290;</code>
       * @param value The selectedAvatarRewardId to set.
       * @return This builder for chaining.
       */
      public Builder setSelectedAvatarRewardId(int value) {
        
        selectedAvatarRewardId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 selected_avatar_reward_id = 1290;</code>
       * @return This builder for chaining.
       */
      public Builder clearSelectedAvatarRewardId() {
        
        selectedAvatarRewardId_ = 0;
        onChanged();
        return this;
      }

      private int firstDayStartTime_ ;
      /**
       * <code>uint32 first_day_start_time = 592;</code>
       * @return The firstDayStartTime.
       */
      @java.lang.Override
      public int getFirstDayStartTime() {
        return firstDayStartTime_;
      }
      /**
       * <code>uint32 first_day_start_time = 592;</code>
       * @param value The firstDayStartTime to set.
       * @return This builder for chaining.
       */
      public Builder setFirstDayStartTime(int value) {
        
        firstDayStartTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 first_day_start_time = 592;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirstDayStartTime() {
        
        firstDayStartTime_ = 0;
        onChanged();
        return this;
      }

      private int scoreLimit_ ;
      /**
       * <code>uint32 score_limit = 1958;</code>
       * @return The scoreLimit.
       */
      @java.lang.Override
      public int getScoreLimit() {
        return scoreLimit_;
      }
      /**
       * <code>uint32 score_limit = 1958;</code>
       * @param value The scoreLimit to set.
       * @return This builder for chaining.
       */
      public Builder setScoreLimit(int value) {
        
        scoreLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 score_limit = 1958;</code>
       * @return This builder for chaining.
       */
      public Builder clearScoreLimit() {
        
        scoreLimit_ = 0;
        onChanged();
        return this;
      }

      private boolean isFinished_ ;
      /**
       * <code>bool is_finished = 6;</code>
       * @return The isFinished.
       */
      @java.lang.Override
      public boolean getIsFinished() {
        return isFinished_;
      }
      /**
       * <code>bool is_finished = 6;</code>
       * @param value The isFinished to set.
       * @return This builder for chaining.
       */
      public Builder setIsFinished(boolean value) {
        
        isFinished_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_finished = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsFinished() {
        
        isFinished_ = false;
        onChanged();
        return this;
      }

      private boolean isHidden_ ;
      /**
       * <code>bool is_hidden = 919;</code>
       * @return The isHidden.
       */
      @java.lang.Override
      public boolean getIsHidden() {
        return isHidden_;
      }
      /**
       * <code>bool is_hidden = 919;</code>
       * @param value The isHidden to set.
       * @return This builder for chaining.
       */
      public Builder setIsHidden(boolean value) {
        
        isHidden_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_hidden = 919;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsHidden() {
        
        isHidden_ = false;
        onChanged();
        return this;
      }

      private int beginTime_ ;
      /**
       * <code>uint32 begin_time = 8;</code>
       * @return The beginTime.
       */
      @java.lang.Override
      public int getBeginTime() {
        return beginTime_;
      }
      /**
       * <code>uint32 begin_time = 8;</code>
       * @param value The beginTime to set.
       * @return This builder for chaining.
       */
      public Builder setBeginTime(int value) {
        
        beginTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 begin_time = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearBeginTime() {
        
        beginTime_ = 0;
        onChanged();
        return this;
      }

      private int endTime_ ;
      /**
       * <code>uint32 end_time = 5;</code>
       * @return The endTime.
       */
      @java.lang.Override
      public int getEndTime() {
        return endTime_;
      }
      /**
       * <code>uint32 end_time = 5;</code>
       * @param value The endTime to set.
       * @return This builder for chaining.
       */
      public Builder setEndTime(int value) {
        
        endTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 end_time = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearEndTime() {
        
        endTime_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.Integer, java.lang.Integer> activityCoinMap_;
      private com.google.protobuf.MapField<java.lang.Integer, java.lang.Integer>
      internalGetActivityCoinMap() {
        if (activityCoinMap_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ActivityCoinMapDefaultEntryHolder.defaultEntry);
        }
        return activityCoinMap_;
      }
      private com.google.protobuf.MapField<java.lang.Integer, java.lang.Integer>
      internalGetMutableActivityCoinMap() {
        onChanged();;
        if (activityCoinMap_ == null) {
          activityCoinMap_ = com.google.protobuf.MapField.newMapField(
              ActivityCoinMapDefaultEntryHolder.defaultEntry);
        }
        if (!activityCoinMap_.isMutable()) {
          activityCoinMap_ = activityCoinMap_.copy();
        }
        return activityCoinMap_;
      }

      public int getActivityCoinMapCount() {
        return internalGetActivityCoinMap().getMap().size();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */

      @java.lang.Override
      public boolean containsActivityCoinMap(
          int key) {
        
        return internalGetActivityCoinMap().getMap().containsKey(key);
      }
      /**
       * Use {@link #getActivityCoinMapMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMap() {
        return getActivityCoinMapMap();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMapMap() {
        return internalGetActivityCoinMap().getMap();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */
      @java.lang.Override

      public int getActivityCoinMapOrDefault(
          int key,
          int defaultValue) {
        
        java.util.Map<java.lang.Integer, java.lang.Integer> map =
            internalGetActivityCoinMap().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */
      @java.lang.Override

      public int getActivityCoinMapOrThrow(
          int key) {
        
        java.util.Map<java.lang.Integer, java.lang.Integer> map =
            internalGetActivityCoinMap().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearActivityCoinMap() {
        internalGetMutableActivityCoinMap().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */

      public Builder removeActivityCoinMap(
          int key) {
        
        internalGetMutableActivityCoinMap().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.Integer, java.lang.Integer>
      getMutableActivityCoinMap() {
        return internalGetMutableActivityCoinMap().getMutableMap();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */
      public Builder putActivityCoinMap(
          int key,
          int value) {
        
        
        internalGetMutableActivityCoinMap().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activity_coin_map = 682;</code>
       */

      public Builder putAllActivityCoinMap(
          java.util.Map<java.lang.Integer, java.lang.Integer> values) {
        internalGetMutableActivityCoinMap().getMutableMap()
            .putAll(values);
        return this;
      }

      private int activityType_ ;
      /**
       * <code>uint32 activity_type = 4;</code>
       * @return The activityType.
       */
      @java.lang.Override
      public int getActivityType() {
        return activityType_;
      }
      /**
       * <code>uint32 activity_type = 4;</code>
       * @param value The activityType to set.
       * @return This builder for chaining.
       */
      public Builder setActivityType(int value) {
        
        activityType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 activity_type = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearActivityType() {
        
        activityType_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC> unk2800KOMIPKKKOBE_ =
        java.util.Collections.emptyList();
      private void ensureUnk2800KOMIPKKKOBEIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          unk2800KOMIPKKKOBE_ = new java.util.ArrayList<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC>(unk2800KOMIPKKKOBE_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder> unk2800KOMIPKKKOBEBuilder_;

      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC> getUnk2800KOMIPKKKOBEList() {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          return java.util.Collections.unmodifiableList(unk2800KOMIPKKKOBE_);
        } else {
          return unk2800KOMIPKKKOBEBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public int getUnk2800KOMIPKKKOBECount() {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          return unk2800KOMIPKKKOBE_.size();
        } else {
          return unk2800KOMIPKKKOBEBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC getUnk2800KOMIPKKKOBE(int index) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          return unk2800KOMIPKKKOBE_.get(index);
        } else {
          return unk2800KOMIPKKKOBEBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder setUnk2800KOMIPKKKOBE(
          int index, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC value) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.set(index, value);
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder setUnk2800KOMIPKKKOBE(
          int index, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder builderForValue) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.set(index, builderForValue.build());
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder addUnk2800KOMIPKKKOBE(emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC value) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.add(value);
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder addUnk2800KOMIPKKKOBE(
          int index, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC value) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.add(index, value);
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder addUnk2800KOMIPKKKOBE(
          emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder builderForValue) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.add(builderForValue.build());
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder addUnk2800KOMIPKKKOBE(
          int index, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder builderForValue) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.add(index, builderForValue.build());
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder addAllUnk2800KOMIPKKKOBE(
          java.lang.Iterable<? extends emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC> values) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          ensureUnk2800KOMIPKKKOBEIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, unk2800KOMIPKKKOBE_);
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder clearUnk2800KOMIPKKKOBE() {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          unk2800KOMIPKKKOBE_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public Builder removeUnk2800KOMIPKKKOBE(int index) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          ensureUnk2800KOMIPKKKOBEIsMutable();
          unk2800KOMIPKKKOBE_.remove(index);
          onChanged();
        } else {
          unk2800KOMIPKKKOBEBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder getUnk2800KOMIPKKKOBEBuilder(
          int index) {
        return getUnk2800KOMIPKKKOBEFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder getUnk2800KOMIPKKKOBEOrBuilder(
          int index) {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          return unk2800KOMIPKKKOBE_.get(index);  } else {
          return unk2800KOMIPKKKOBEBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public java.util.List<? extends emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder> 
           getUnk2800KOMIPKKKOBEOrBuilderList() {
        if (unk2800KOMIPKKKOBEBuilder_ != null) {
          return unk2800KOMIPKKKOBEBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(unk2800KOMIPKKKOBE_);
        }
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder addUnk2800KOMIPKKKOBEBuilder() {
        return getUnk2800KOMIPKKKOBEFieldBuilder().addBuilder(
            emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.getDefaultInstance());
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder addUnk2800KOMIPKKKOBEBuilder(
          int index) {
        return getUnk2800KOMIPKKKOBEFieldBuilder().addBuilder(
            index, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.getDefaultInstance());
      }
      /**
       * <code>repeated .Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder> 
           getUnk2800KOMIPKKKOBEBuilderList() {
        return getUnk2800KOMIPKKKOBEFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder> 
          getUnk2800KOMIPKKKOBEFieldBuilder() {
        if (unk2800KOMIPKKKOBEBuilder_ == null) {
          unk2800KOMIPKKKOBEBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLC.Builder, emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.Unk2800_PHPHMILPOLCOrBuilder>(
                  unk2800KOMIPKKKOBE_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          unk2800KOMIPKKKOBE_ = null;
        }
        return unk2800KOMIPKKKOBEBuilder_;
      }

      private com.google.protobuf.Internal.IntList meetCondList_ = emptyIntList();
      private void ensureMeetCondListIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          meetCondList_ = mutableCopy(meetCondList_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @return A list containing the meetCondList.
       */
      public java.util.List<java.lang.Integer>
          getMeetCondListList() {
        return ((bitField0_ & 0x00000008) != 0) ?
                 java.util.Collections.unmodifiableList(meetCondList_) : meetCondList_;
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @return The count of meetCondList.
       */
      public int getMeetCondListCount() {
        return meetCondList_.size();
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @param index The index of the element to return.
       * @return The meetCondList at the given index.
       */
      public int getMeetCondList(int index) {
        return meetCondList_.getInt(index);
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @param index The index to set the value at.
       * @param value The meetCondList to set.
       * @return This builder for chaining.
       */
      public Builder setMeetCondList(
          int index, int value) {
        ensureMeetCondListIsMutable();
        meetCondList_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @param value The meetCondList to add.
       * @return This builder for chaining.
       */
      public Builder addMeetCondList(int value) {
        ensureMeetCondListIsMutable();
        meetCondList_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @param values The meetCondList to add.
       * @return This builder for chaining.
       */
      public Builder addAllMeetCondList(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureMeetCondListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, meetCondList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 meet_cond_list = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearMeetCondList() {
        meetCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList expireCondList_ = emptyIntList();
      private void ensureExpireCondListIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          expireCondList_ = mutableCopy(expireCondList_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @return A list containing the expireCondList.
       */
      public java.util.List<java.lang.Integer>
          getExpireCondListList() {
        return ((bitField0_ & 0x00000010) != 0) ?
                 java.util.Collections.unmodifiableList(expireCondList_) : expireCondList_;
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @return The count of expireCondList.
       */
      public int getExpireCondListCount() {
        return expireCondList_.size();
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @param index The index of the element to return.
       * @return The expireCondList at the given index.
       */
      public int getExpireCondList(int index) {
        return expireCondList_.getInt(index);
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @param index The index to set the value at.
       * @param value The expireCondList to set.
       * @return This builder for chaining.
       */
      public Builder setExpireCondList(
          int index, int value) {
        ensureExpireCondListIsMutable();
        expireCondList_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @param value The expireCondList to add.
       * @return This builder for chaining.
       */
      public Builder addExpireCondList(int value) {
        ensureExpireCondListIsMutable();
        expireCondList_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @param values The expireCondList to add.
       * @return This builder for chaining.
       */
      public Builder addAllExpireCondList(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureExpireCondListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, expireCondList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 expire_cond_list = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearExpireCondList() {
        expireCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      private java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> watcherInfoList_ =
        java.util.Collections.emptyList();
      private void ensureWatcherInfoListIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          watcherInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo>(watcherInfoList_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> watcherInfoListBuilder_;

      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> getWatcherInfoListList() {
        if (watcherInfoListBuilder_ == null) {
          return java.util.Collections.unmodifiableList(watcherInfoList_);
        } else {
          return watcherInfoListBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public int getWatcherInfoListCount() {
        if (watcherInfoListBuilder_ == null) {
          return watcherInfoList_.size();
        } else {
          return watcherInfoListBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo getWatcherInfoList(int index) {
        if (watcherInfoListBuilder_ == null) {
          return watcherInfoList_.get(index);
        } else {
          return watcherInfoListBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder setWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo value) {
        if (watcherInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.set(index, value);
          onChanged();
        } else {
          watcherInfoListBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder setWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder builderForValue) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.set(index, builderForValue.build());
          onChanged();
        } else {
          watcherInfoListBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder addWatcherInfoList(emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo value) {
        if (watcherInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(value);
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder addWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo value) {
        if (watcherInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(index, value);
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder addWatcherInfoList(
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder builderForValue) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(builderForValue.build());
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder addWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder builderForValue) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(index, builderForValue.build());
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder addAllWatcherInfoList(
          java.lang.Iterable<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> values) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, watcherInfoList_);
          onChanged();
        } else {
          watcherInfoListBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder clearWatcherInfoList() {
        if (watcherInfoListBuilder_ == null) {
          watcherInfoList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          watcherInfoListBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public Builder removeWatcherInfoList(int index) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.remove(index);
          onChanged();
        } else {
          watcherInfoListBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder getWatcherInfoListBuilder(
          int index) {
        return getWatcherInfoListFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder getWatcherInfoListOrBuilder(
          int index) {
        if (watcherInfoListBuilder_ == null) {
          return watcherInfoList_.get(index);  } else {
          return watcherInfoListBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public java.util.List<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
           getWatcherInfoListOrBuilderList() {
        if (watcherInfoListBuilder_ != null) {
          return watcherInfoListBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(watcherInfoList_);
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder addWatcherInfoListBuilder() {
        return getWatcherInfoListFieldBuilder().addBuilder(
            emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder addWatcherInfoListBuilder(
          int index) {
        return getWatcherInfoListFieldBuilder().addBuilder(
            index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcher_info_list = 2;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder> 
           getWatcherInfoListBuilderList() {
        return getWatcherInfoListFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
          getWatcherInfoListFieldBuilder() {
        if (watcherInfoListBuilder_ == null) {
          watcherInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder>(
                  watcherInfoList_,
                  ((bitField0_ & 0x00000020) != 0),
                  getParentForChildren(),
                  isClean());
          watcherInfoList_ = null;
        }
        return watcherInfoListBuilder_;
      }

      private int activityId_ ;
      /**
       * <code>uint32 activity_id = 12;</code>
       * @return The activityId.
       */
      @java.lang.Override
      public int getActivityId() {
        return activityId_;
      }
      /**
       * <code>uint32 activity_id = 12;</code>
       * @param value The activityId to set.
       * @return This builder for chaining.
       */
      public Builder setActivityId(int value) {
        
        activityId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 activity_id = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearActivityId() {
        
        activityId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo, emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.Builder, emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfoOrBuilder> musicGameInfoBuilder_;
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       * @return Whether the musicGameInfo field is set.
       */
      @java.lang.Override
      public boolean hasMusicGameInfo() {
        return detailCase_ == 460;
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       * @return The musicGameInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo getMusicGameInfo() {
        if (musicGameInfoBuilder_ == null) {
          if (detailCase_ == 460) {
            return (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 460) {
            return musicGameInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      public Builder setMusicGameInfo(emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo value) {
        if (musicGameInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          musicGameInfoBuilder_.setMessage(value);
        }
        detailCase_ = 460;
        return this;
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      public Builder setMusicGameInfo(
          emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.Builder builderForValue) {
        if (musicGameInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          musicGameInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 460;
        return this;
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      public Builder mergeMusicGameInfo(emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo value) {
        if (musicGameInfoBuilder_ == null) {
          if (detailCase_ == 460 &&
              detail_ != emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.newBuilder((emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 460) {
            musicGameInfoBuilder_.mergeFrom(value);
          }
          musicGameInfoBuilder_.setMessage(value);
        }
        detailCase_ = 460;
        return this;
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      public Builder clearMusicGameInfo() {
        if (musicGameInfoBuilder_ == null) {
          if (detailCase_ == 460) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 460) {
            detailCase_ = 0;
            detail_ = null;
          }
          musicGameInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      public emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.Builder getMusicGameInfoBuilder() {
        return getMusicGameInfoFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfoOrBuilder getMusicGameInfoOrBuilder() {
        if ((detailCase_ == 460) && (musicGameInfoBuilder_ != null)) {
          return musicGameInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 460) {
            return (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <pre>
       * SeaLampActivityDetailInfo sam_lamp_info = 7;
       * CrucibleActivityDetailInfo crucible_info = 14;
       * SalesmanActivityDetailInfo salesman_info = 11;
       * TrialAvatarActivityDetailInfo trial_avatar_info = 1;
       * DeliveryActivityDetailInfo delivery_info = 1092;
       * AsterActivityDetailInfo aster_info = 557;
       * FlightActivityDetailInfo flight_info = 1365;
       * DragonSpineActivityDetailInfo dragon_spine_info = 1727;
       * EffigyActivityDetailInfo effigy_info = 391;
       * TreasureMapActivityDetailInfo treasure_map_info = 1114;
       * BlessingActivityDetailInfo blessing_info = 1869;
       * SeaLampActivityInfo sea_lamp_info = 494;
       * ExpeditionActivityDetailInfo expedition_info = 202;
       * ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
       * FleurFairActivityDetailInfo fleur_fair_info = 857;
       * WaterSpiritActivityDetailInfo water_spirit_info = 1675;
       * ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
       * MistTrialActivityDetailInfo mist_trial_activity_info = 156;
       * HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
       * FindHilichurlDetailInfo find_hilichurl_info = 1411;
       * SummerTimeDetailInfo summer_time_info = 1372;
       * BuoyantCombatDetailInfo buoyant_combat_info = 1842;
       * EchoShellDetailInfo echo_shell_info = 1113;
       * BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
       * BlitzRushActivityDetailInfo blitz_rush_info = 794;
       * ChessActivityDetailInfo chess_info = 927;
       * SumoActivityDetailInfo sumo_info = 1261;
       * MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
       * LunaRiteDetailInfo luna_rite_info = 814;
       * PlantFlowerActivityDetailInfo plant_flower_info = 54;
       * </pre>
       *
       * <code>.MusicGameActivityDetailInfo music_game_info = 460;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo, emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.Builder, emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfoOrBuilder> 
          getMusicGameInfoFieldBuilder() {
        if (musicGameInfoBuilder_ == null) {
          if (!(detailCase_ == 460)) {
            detail_ = emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.getDefaultInstance();
          }
          musicGameInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo, emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo.Builder, emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.MusicGameActivityDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 460;
        onChanged();;
        return musicGameInfoBuilder_;
      }
      @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:ActivityInfo)
    }

    // @@protoc_insertion_point(class_scope:ActivityInfo)
    private static final emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo();
    }

    public static emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ActivityInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActivityInfo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActivityInfo_ActivityCoinMapEntry_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\022ActivityInfo.proto\032\031ActivityWatcherInf" +
      "o.proto\032!MusicGameActivityDetailInfo.pro" +
      "to\032\031Unk2800_PHPHMILPOLC.proto\"\252\005\n\014Activi" +
      "tyInfo\022\031\n\021is_play_open_anim\030\r \001(\010\022\023\n\013sch" +
      "edule_id\030\017 \001(\r\022\022\n\tcur_score\030\362\016 \001(\r\022\023\n\013is" +
      "_starting\030\t \001(\010\022\032\n\021taken_reward_list\030\311\002 " +
      "\003(\r\022\"\n\031selected_avatar_reward_id\030\212\n \001(\r\022" +
      "\035\n\024first_day_start_time\030\320\004 \001(\r\022\024\n\013score_" +
      "limit\030\246\017 \001(\r\022\023\n\013is_finished\030\006 \001(\010\022\022\n\tis_" +
      "hidden\030\227\007 \001(\010\022\022\n\nbegin_time\030\010 \001(\r\022\020\n\010end" +
      "_time\030\005 \001(\r\022>\n\021activity_coin_map\030\252\005 \003(\0132" +
      "\".ActivityInfo.ActivityCoinMapEntry\022\025\n\ra" +
      "ctivity_type\030\004 \001(\r\0222\n\023Unk2800_KOMIPKKKOB" +
      "E\030\340\006 \003(\0132\024.Unk2800_PHPHMILPOLC\022\026\n\016meet_c" +
      "ond_list\030\n \003(\r\022\030\n\020expire_cond_list\030\003 \003(\r" +
      "\022/\n\021watcher_info_list\030\002 \003(\0132\024.ActivityWa" +
      "tcherInfo\022\023\n\013activity_id\030\014 \001(\r\0228\n\017music_" +
      "game_info\030\314\003 \001(\0132\034.MusicGameActivityDeta" +
      "ilInfoH\000\0326\n\024ActivityCoinMapEntry\022\013\n\003key\030" +
      "\001 \001(\r\022\r\n\005value\030\002 \001(\r:\0028\001B\010\n\006detailB\033\n\031em" +
      "u.grasscutter.net.protob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.getDescriptor(),
          emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.getDescriptor(),
          emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.getDescriptor(),
        });
    internal_static_ActivityInfo_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_ActivityInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActivityInfo_descriptor,
        new java.lang.String[] { "IsPlayOpenAnim", "ScheduleId", "CurScore", "IsStarting", "TakenRewardList", "SelectedAvatarRewardId", "FirstDayStartTime", "ScoreLimit", "IsFinished", "IsHidden", "BeginTime", "EndTime", "ActivityCoinMap", "ActivityType", "Unk2800KOMIPKKKOBE", "MeetCondList", "ExpireCondList", "WatcherInfoList", "ActivityId", "MusicGameInfo", "Detail", });
    internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor =
      internal_static_ActivityInfo_descriptor.getNestedTypes().get(0);
    internal_static_ActivityInfo_ActivityCoinMapEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.getDescriptor();
    emu.grasscutter.net.proto.MusicGameActivityDetailInfoOuterClass.getDescriptor();
    emu.grasscutter.net.proto.Unk2800PHPHMILPOLC.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
