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

package emu.grasscutter.net.proto;

public final class MichiaeMatsuriActivityDetailInfoOuterClass {
    private MichiaeMatsuriActivityDetailInfoOuterClass() {}

    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 MichiaeMatsuriActivityDetailInfoOrBuilder
            extends
            // @@protoc_insertion_point(interface_extends:MichiaeMatsuriActivityDetailInfo)
            com.google.protobuf.MessageOrBuilder {

        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                .MichiaeMatsuriChestPositionInfo>
                getChestPosListList();
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                        .MichiaeMatsuriChestPositionInfo
                getChestPosList(int index);
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        int getChestPosListCount();
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        java.util.List<
                        ? extends
                                emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                        .MichiaeMatsuriChestPositionInfoOrBuilder>
                getChestPosListOrBuilderList();
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                        .MichiaeMatsuriChestPositionInfoOrBuilder
                getChestPosListOrBuilder(int index);

        /**
         * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
         *
         * @return A list containing the unlockedCrystalSkillList.
         */
        java.util.List<java.lang.Integer> getUnlockedCrystalSkillListList();
        /**
         * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
         *
         * @return The count of unlockedCrystalSkillList.
         */
        int getUnlockedCrystalSkillListCount();
        /**
         * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
         *
         * @param index The index of the element to return.
         * @return The unlockedCrystalSkillList at the given index.
         */
        int getUnlockedCrystalSkillList(int index);

        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                .MichiaeMatsuriChallengePositionInfo>
                getChallengePosListList();
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                        .MichiaeMatsuriChallengePositionInfo
                getChallengePosList(int index);
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        int getChallengePosListCount();
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        java.util.List<
                        ? extends
                                emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                        .MichiaeMatsuriChallengePositionInfoOrBuilder>
                getChallengePosListOrBuilderList();
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                        .MichiaeMatsuriChallengePositionInfoOrBuilder
                getChallengePosListOrBuilder(int index);

        /**
         * <code>uint32 gain_crystal_exp = 4;</code>
         *
         * @return The gainCrystalExp.
         */
        int getGainCrystalExp();

        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        java.util.List<emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>
                getStageListList();
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage getStageList(
                int index);
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        int getStageListCount();
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        java.util.List<
                        ? extends
                                emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass
                                        .MichiaeMatsuriStageOrBuilder>
                getStageListOrBuilderList();
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStageOrBuilder
                getStageListOrBuilder(int index);
    }
    /**
     *
     *
     * <pre>
     * Name: HOFHJGEMMKL
     * </pre>
     *
     * Protobuf type {@code MichiaeMatsuriActivityDetailInfo}
     */
    public static final class MichiaeMatsuriActivityDetailInfo
            extends com.google.protobuf.GeneratedMessageV3
            implements
            // @@protoc_insertion_point(message_implements:MichiaeMatsuriActivityDetailInfo)
            MichiaeMatsuriActivityDetailInfoOrBuilder {
        private static final long serialVersionUID = 0L;
        // Use MichiaeMatsuriActivityDetailInfo.newBuilder() to construct.
        private MichiaeMatsuriActivityDetailInfo(
                com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private MichiaeMatsuriActivityDetailInfo() {
            chestPosList_ = java.util.Collections.emptyList();
            unlockedCrystalSkillList_ = emptyIntList();
            challengePosList_ = java.util.Collections.emptyList();
            stageList_ = java.util.Collections.emptyList();
        }

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

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private MichiaeMatsuriActivityDetailInfo(
                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 32:
                            {
                                gainCrystalExp_ = input.readUInt32();
                                break;
                            }
                        case 48:
                            {
                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                                    unlockedCrystalSkillList_ = newIntList();
                                    mutable_bitField0_ |= 0x00000002;
                                }
                                unlockedCrystalSkillList_.addInt(input.readUInt32());
                                break;
                            }
                        case 50:
                            {
                                int length = input.readRawVarint32();
                                int limit = input.pushLimit(length);
                                if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                                    unlockedCrystalSkillList_ = newIntList();
                                    mutable_bitField0_ |= 0x00000002;
                                }
                                while (input.getBytesUntilLimit() > 0) {
                                    unlockedCrystalSkillList_.addInt(input.readUInt32());
                                }
                                input.popLimit(limit);
                                break;
                            }
                        case 98:
                            {
                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                                    chestPosList_ =
                                            new java.util.ArrayList<
                                                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                                            .MichiaeMatsuriChestPositionInfo>();
                                    mutable_bitField0_ |= 0x00000001;
                                }
                                chestPosList_.add(
                                        input.readMessage(
                                                emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                                        .MichiaeMatsuriChestPositionInfo.parser(),
                                                extensionRegistry));
                                break;
                            }
                        case 106:
                            {
                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                                    challengePosList_ =
                                            new java.util.ArrayList<
                                                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                                            .MichiaeMatsuriChallengePositionInfo>();
                                    mutable_bitField0_ |= 0x00000004;
                                }
                                challengePosList_.add(
                                        input.readMessage(
                                                emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                                        .MichiaeMatsuriChallengePositionInfo.parser(),
                                                extensionRegistry));
                                break;
                            }
                        case 114:
                            {
                                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                                    stageList_ =
                                            new java.util.ArrayList<
                                                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass
                                                            .MichiaeMatsuriStage>();
                                    mutable_bitField0_ |= 0x00000008;
                                }
                                stageList_.add(
                                        input.readMessage(
                                                emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage
                                                        .parser(),
                                                extensionRegistry));
                                break;
                            }
                        default:
                            {
                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                    done = true;
                                }
                                break;
                            }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000002) != 0)) {
                    unlockedCrystalSkillList_.makeImmutable(); // C
                }
                if (((mutable_bitField0_ & 0x00000001) != 0)) {
                    chestPosList_ = java.util.Collections.unmodifiableList(chestPosList_);
                }
                if (((mutable_bitField0_ & 0x00000004) != 0)) {
                    challengePosList_ = java.util.Collections.unmodifiableList(challengePosList_);
                }
                if (((mutable_bitField0_ & 0x00000008) != 0)) {
                    stageList_ = java.util.Collections.unmodifiableList(stageList_);
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                    .internal_static_MichiaeMatsuriActivityDetailInfo_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
                internalGetFieldAccessorTable() {
            return emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                    .internal_static_MichiaeMatsuriActivityDetailInfo_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                            emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                    .MichiaeMatsuriActivityDetailInfo.class,
                            emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                    .MichiaeMatsuriActivityDetailInfo.Builder.class);
        }

        public static final int CHEST_POS_LIST_FIELD_NUMBER = 12;
        private java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                .MichiaeMatsuriChestPositionInfo>
                chestPosList_;
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        @java.lang.Override
        public java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                .MichiaeMatsuriChestPositionInfo>
                getChestPosListList() {
            return chestPosList_;
        }
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        @java.lang.Override
        public java.util.List<
                        ? extends
                                emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                        .MichiaeMatsuriChestPositionInfoOrBuilder>
                getChestPosListOrBuilderList() {
            return chestPosList_;
        }
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        @java.lang.Override
        public int getChestPosListCount() {
            return chestPosList_.size();
        }
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                        .MichiaeMatsuriChestPositionInfo
                getChestPosList(int index) {
            return chestPosList_.get(index);
        }
        /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                        .MichiaeMatsuriChestPositionInfoOrBuilder
                getChestPosListOrBuilder(int index) {
            return chestPosList_.get(index);
        }

        public static final int UNLOCKED_CRYSTAL_SKILL_LIST_FIELD_NUMBER = 6;
        private com.google.protobuf.Internal.IntList unlockedCrystalSkillList_;
        /**
         * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
         *
         * @return A list containing the unlockedCrystalSkillList.
         */
        @java.lang.Override
        public java.util.List<java.lang.Integer> getUnlockedCrystalSkillListList() {
            return unlockedCrystalSkillList_;
        }
        /**
         * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
         *
         * @return The count of unlockedCrystalSkillList.
         */
        public int getUnlockedCrystalSkillListCount() {
            return unlockedCrystalSkillList_.size();
        }
        /**
         * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
         *
         * @param index The index of the element to return.
         * @return The unlockedCrystalSkillList at the given index.
         */
        public int getUnlockedCrystalSkillList(int index) {
            return unlockedCrystalSkillList_.getInt(index);
        }

        private int unlockedCrystalSkillListMemoizedSerializedSize = -1;

        public static final int CHALLENGE_POS_LIST_FIELD_NUMBER = 13;
        private java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                .MichiaeMatsuriChallengePositionInfo>
                challengePosList_;
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        @java.lang.Override
        public java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                .MichiaeMatsuriChallengePositionInfo>
                getChallengePosListList() {
            return challengePosList_;
        }
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        @java.lang.Override
        public java.util.List<
                        ? extends
                                emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                        .MichiaeMatsuriChallengePositionInfoOrBuilder>
                getChallengePosListOrBuilderList() {
            return challengePosList_;
        }
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        @java.lang.Override
        public int getChallengePosListCount() {
            return challengePosList_.size();
        }
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                        .MichiaeMatsuriChallengePositionInfo
                getChallengePosList(int index) {
            return challengePosList_.get(index);
        }
        /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                        .MichiaeMatsuriChallengePositionInfoOrBuilder
                getChallengePosListOrBuilder(int index) {
            return challengePosList_.get(index);
        }

        public static final int GAIN_CRYSTAL_EXP_FIELD_NUMBER = 4;
        private int gainCrystalExp_;
        /**
         * <code>uint32 gain_crystal_exp = 4;</code>
         *
         * @return The gainCrystalExp.
         */
        @java.lang.Override
        public int getGainCrystalExp() {
            return gainCrystalExp_;
        }

        public static final int STAGE_LIST_FIELD_NUMBER = 14;
        private java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>
                stageList_;
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        @java.lang.Override
        public java.util.List<
                        emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>
                getStageListList() {
            return stageList_;
        }
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        @java.lang.Override
        public java.util.List<
                        ? extends
                                emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass
                                        .MichiaeMatsuriStageOrBuilder>
                getStageListOrBuilderList() {
            return stageList_;
        }
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        @java.lang.Override
        public int getStageListCount() {
            return stageList_.size();
        }
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage getStageList(
                int index) {
            return stageList_.get(index);
        }
        /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
        @java.lang.Override
        public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStageOrBuilder
                getStageListOrBuilder(int index) {
            return stageList_.get(index);
        }

        private byte memoizedIsInitialized = -1;

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

            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            getSerializedSize();
            if (gainCrystalExp_ != 0) {
                output.writeUInt32(4, gainCrystalExp_);
            }
            if (getUnlockedCrystalSkillListList().size() > 0) {
                output.writeUInt32NoTag(50);
                output.writeUInt32NoTag(unlockedCrystalSkillListMemoizedSerializedSize);
            }
            for (int i = 0; i < unlockedCrystalSkillList_.size(); i++) {
                output.writeUInt32NoTag(unlockedCrystalSkillList_.getInt(i));
            }
            for (int i = 0; i < chestPosList_.size(); i++) {
                output.writeMessage(12, chestPosList_.get(i));
            }
            for (int i = 0; i < challengePosList_.size(); i++) {
                output.writeMessage(13, challengePosList_.get(i));
            }
            for (int i = 0; i < stageList_.size(); i++) {
                output.writeMessage(14, stageList_.get(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (gainCrystalExp_ != 0) {
                size += com.google.protobuf.CodedOutputStream.computeUInt32Size(4, gainCrystalExp_);
            }
            {
                int dataSize = 0;
                for (int i = 0; i < unlockedCrystalSkillList_.size(); i++) {
                    dataSize +=
                            com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(
                                    unlockedCrystalSkillList_.getInt(i));
                }
                size += dataSize;
                if (!getUnlockedCrystalSkillListList().isEmpty()) {
                    size += 1;
                    size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize);
                }
                unlockedCrystalSkillListMemoizedSerializedSize = dataSize;
            }
            for (int i = 0; i < chestPosList_.size(); i++) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, chestPosList_.get(i));
            }
            for (int i = 0; i < challengePosList_.size(); i++) {
                size +=
                        com.google.protobuf.CodedOutputStream.computeMessageSize(13, challengePosList_.get(i));
            }
            for (int i = 0; i < stageList_.size(); i++) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, stageList_.get(i));
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj
                    instanceof
                    emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                            .MichiaeMatsuriActivityDetailInfo)) {
                return super.equals(obj);
            }
            emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                            .MichiaeMatsuriActivityDetailInfo
                    other =
                            (emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                            .MichiaeMatsuriActivityDetailInfo)
                                    obj;

            if (!getChestPosListList().equals(other.getChestPosListList())) return false;
            if (!getUnlockedCrystalSkillListList().equals(other.getUnlockedCrystalSkillListList()))
                return false;
            if (!getChallengePosListList().equals(other.getChallengePosListList())) return false;
            if (getGainCrystalExp() != other.getGainCrystalExp()) return false;
            if (!getStageListList().equals(other.getStageListList())) return false;
            if (!unknownFields.equals(other.unknownFields)) return false;
            return true;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getChestPosListCount() > 0) {
                hash = (37 * hash) + CHEST_POS_LIST_FIELD_NUMBER;
                hash = (53 * hash) + getChestPosListList().hashCode();
            }
            if (getUnlockedCrystalSkillListCount() > 0) {
                hash = (37 * hash) + UNLOCKED_CRYSTAL_SKILL_LIST_FIELD_NUMBER;
                hash = (53 * hash) + getUnlockedCrystalSkillListList().hashCode();
            }
            if (getChallengePosListCount() > 0) {
                hash = (37 * hash) + CHALLENGE_POS_LIST_FIELD_NUMBER;
                hash = (53 * hash) + getChallengePosListList().hashCode();
            }
            hash = (37 * hash) + GAIN_CRYSTAL_EXP_FIELD_NUMBER;
            hash = (53 * hash) + getGainCrystalExp();
            if (getStageListCount() > 0) {
                hash = (37 * hash) + STAGE_LIST_FIELD_NUMBER;
                hash = (53 * hash) + getStageListList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseFrom(java.nio.ByteBuffer data)
                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                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.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseFrom(com.google.protobuf.ByteString data)
                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                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.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                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.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                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.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                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.MichiaeMatsuriActivityDetailInfoOuterClass
                                .MichiaeMatsuriActivityDetailInfo
                        prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        @java.lang.Override
        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
                com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }
        /**
         *
         *
         * <pre>
         * Name: HOFHJGEMMKL
         * </pre>
         *
         * Protobuf type {@code MichiaeMatsuriActivityDetailInfo}
         */
        public static final class Builder
                extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                implements
                // @@protoc_insertion_point(builder_implements:MichiaeMatsuriActivityDetailInfo)
                emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfoOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .internal_static_MichiaeMatsuriActivityDetailInfo_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
                    internalGetFieldAccessorTable() {
                return emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .internal_static_MichiaeMatsuriActivityDetailInfo_fieldAccessorTable
                        .ensureFieldAccessorsInitialized(
                                emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                        .MichiaeMatsuriActivityDetailInfo.class,
                                emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                        .MichiaeMatsuriActivityDetailInfo.Builder.class);
            }

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

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                    getChestPosListFieldBuilder();
                    getChallengePosListFieldBuilder();
                    getStageListFieldBuilder();
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                if (chestPosListBuilder_ == null) {
                    chestPosList_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000001);
                } else {
                    chestPosListBuilder_.clear();
                }
                unlockedCrystalSkillList_ = emptyIntList();
                bitField0_ = (bitField0_ & ~0x00000002);
                if (challengePosListBuilder_ == null) {
                    challengePosList_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000004);
                } else {
                    challengePosListBuilder_.clear();
                }
                gainCrystalExp_ = 0;

                if (stageListBuilder_ == null) {
                    stageList_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000008);
                } else {
                    stageListBuilder_.clear();
                }
                return this;
            }

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

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

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

            @java.lang.Override
            public emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                            .MichiaeMatsuriActivityDetailInfo
                    buildPartial() {
                emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                .MichiaeMatsuriActivityDetailInfo
                        result =
                                new emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                        .MichiaeMatsuriActivityDetailInfo(this);
                int from_bitField0_ = bitField0_;
                if (chestPosListBuilder_ == null) {
                    if (((bitField0_ & 0x00000001) != 0)) {
                        chestPosList_ = java.util.Collections.unmodifiableList(chestPosList_);
                        bitField0_ = (bitField0_ & ~0x00000001);
                    }
                    result.chestPosList_ = chestPosList_;
                } else {
                    result.chestPosList_ = chestPosListBuilder_.build();
                }
                if (((bitField0_ & 0x00000002) != 0)) {
                    unlockedCrystalSkillList_.makeImmutable();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.unlockedCrystalSkillList_ = unlockedCrystalSkillList_;
                if (challengePosListBuilder_ == null) {
                    if (((bitField0_ & 0x00000004) != 0)) {
                        challengePosList_ = java.util.Collections.unmodifiableList(challengePosList_);
                        bitField0_ = (bitField0_ & ~0x00000004);
                    }
                    result.challengePosList_ = challengePosList_;
                } else {
                    result.challengePosList_ = challengePosListBuilder_.build();
                }
                result.gainCrystalExp_ = gainCrystalExp_;
                if (stageListBuilder_ == null) {
                    if (((bitField0_ & 0x00000008) != 0)) {
                        stageList_ = java.util.Collections.unmodifiableList(stageList_);
                        bitField0_ = (bitField0_ & ~0x00000008);
                    }
                    result.stageList_ = stageList_;
                } else {
                    result.stageList_ = stageListBuilder_.build();
                }
                onBuilt();
                return result;
            }

            @java.lang.Override
            public Builder clone() {
                return super.clone();
            }

            @java.lang.Override
            public Builder setField(
                    com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return super.setField(field, value);
            }

            @java.lang.Override
            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return super.clearField(field);
            }

            @java.lang.Override
            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return super.clearOneof(oneof);
            }

            @java.lang.Override
            public Builder setRepeatedField(
                    com.google.protobuf.Descriptors.FieldDescriptor field,
                    int index,
                    java.lang.Object value) {
                return super.setRepeatedField(field, index, value);
            }

            @java.lang.Override
            public Builder addRepeatedField(
                    com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return super.addRepeatedField(field, value);
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other
                        instanceof
                        emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                .MichiaeMatsuriActivityDetailInfo) {
                    return mergeFrom(
                            (emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                            .MichiaeMatsuriActivityDetailInfo)
                                    other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(
                    emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                    .MichiaeMatsuriActivityDetailInfo
                            other) {
                if (other
                        == emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                .MichiaeMatsuriActivityDetailInfo.getDefaultInstance()) return this;
                if (chestPosListBuilder_ == null) {
                    if (!other.chestPosList_.isEmpty()) {
                        if (chestPosList_.isEmpty()) {
                            chestPosList_ = other.chestPosList_;
                            bitField0_ = (bitField0_ & ~0x00000001);
                        } else {
                            ensureChestPosListIsMutable();
                            chestPosList_.addAll(other.chestPosList_);
                        }
                        onChanged();
                    }
                } else {
                    if (!other.chestPosList_.isEmpty()) {
                        if (chestPosListBuilder_.isEmpty()) {
                            chestPosListBuilder_.dispose();
                            chestPosListBuilder_ = null;
                            chestPosList_ = other.chestPosList_;
                            bitField0_ = (bitField0_ & ~0x00000001);
                            chestPosListBuilder_ =
                                    com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                                            ? getChestPosListFieldBuilder()
                                            : null;
                        } else {
                            chestPosListBuilder_.addAllMessages(other.chestPosList_);
                        }
                    }
                }
                if (!other.unlockedCrystalSkillList_.isEmpty()) {
                    if (unlockedCrystalSkillList_.isEmpty()) {
                        unlockedCrystalSkillList_ = other.unlockedCrystalSkillList_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureUnlockedCrystalSkillListIsMutable();
                        unlockedCrystalSkillList_.addAll(other.unlockedCrystalSkillList_);
                    }
                    onChanged();
                }
                if (challengePosListBuilder_ == null) {
                    if (!other.challengePosList_.isEmpty()) {
                        if (challengePosList_.isEmpty()) {
                            challengePosList_ = other.challengePosList_;
                            bitField0_ = (bitField0_ & ~0x00000004);
                        } else {
                            ensureChallengePosListIsMutable();
                            challengePosList_.addAll(other.challengePosList_);
                        }
                        onChanged();
                    }
                } else {
                    if (!other.challengePosList_.isEmpty()) {
                        if (challengePosListBuilder_.isEmpty()) {
                            challengePosListBuilder_.dispose();
                            challengePosListBuilder_ = null;
                            challengePosList_ = other.challengePosList_;
                            bitField0_ = (bitField0_ & ~0x00000004);
                            challengePosListBuilder_ =
                                    com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                                            ? getChallengePosListFieldBuilder()
                                            : null;
                        } else {
                            challengePosListBuilder_.addAllMessages(other.challengePosList_);
                        }
                    }
                }
                if (other.getGainCrystalExp() != 0) {
                    setGainCrystalExp(other.getGainCrystalExp());
                }
                if (stageListBuilder_ == null) {
                    if (!other.stageList_.isEmpty()) {
                        if (stageList_.isEmpty()) {
                            stageList_ = other.stageList_;
                            bitField0_ = (bitField0_ & ~0x00000008);
                        } else {
                            ensureStageListIsMutable();
                            stageList_.addAll(other.stageList_);
                        }
                        onChanged();
                    }
                } else {
                    if (!other.stageList_.isEmpty()) {
                        if (stageListBuilder_.isEmpty()) {
                            stageListBuilder_.dispose();
                            stageListBuilder_ = null;
                            stageList_ = other.stageList_;
                            bitField0_ = (bitField0_ & ~0x00000008);
                            stageListBuilder_ =
                                    com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                                            ? getStageListFieldBuilder()
                                            : null;
                        } else {
                            stageListBuilder_.addAllMessages(other.stageList_);
                        }
                    }
                }
                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.MichiaeMatsuriActivityDetailInfoOuterClass
                                .MichiaeMatsuriActivityDetailInfo
                        parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage =
                            (emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                                            .MichiaeMatsuriActivityDetailInfo)
                                    e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int bitField0_;

            private java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo>
                    chestPosList_ = java.util.Collections.emptyList();

            private void ensureChestPosListIsMutable() {
                if (!((bitField0_ & 0x00000001) != 0)) {
                    chestPosList_ =
                            new java.util.ArrayList<
                                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                            .MichiaeMatsuriChestPositionInfo>(chestPosList_);
                    bitField0_ |= 0x00000001;
                }
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo,
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo.Builder,
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfoOrBuilder>
                    chestPosListBuilder_;

            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo>
                    getChestPosListList() {
                if (chestPosListBuilder_ == null) {
                    return java.util.Collections.unmodifiableList(chestPosList_);
                } else {
                    return chestPosListBuilder_.getMessageList();
                }
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public int getChestPosListCount() {
                if (chestPosListBuilder_ == null) {
                    return chestPosList_.size();
                } else {
                    return chestPosListBuilder_.getCount();
                }
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                            .MichiaeMatsuriChestPositionInfo
                    getChestPosList(int index) {
                if (chestPosListBuilder_ == null) {
                    return chestPosList_.get(index);
                } else {
                    return chestPosListBuilder_.getMessage(index);
                }
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder setChestPosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo
                            value) {
                if (chestPosListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureChestPosListIsMutable();
                    chestPosList_.set(index, value);
                    onChanged();
                } else {
                    chestPosListBuilder_.setMessage(index, value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder setChestPosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo.Builder
                            builderForValue) {
                if (chestPosListBuilder_ == null) {
                    ensureChestPosListIsMutable();
                    chestPosList_.set(index, builderForValue.build());
                    onChanged();
                } else {
                    chestPosListBuilder_.setMessage(index, builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder addChestPosList(
                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo
                            value) {
                if (chestPosListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureChestPosListIsMutable();
                    chestPosList_.add(value);
                    onChanged();
                } else {
                    chestPosListBuilder_.addMessage(value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder addChestPosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo
                            value) {
                if (chestPosListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureChestPosListIsMutable();
                    chestPosList_.add(index, value);
                    onChanged();
                } else {
                    chestPosListBuilder_.addMessage(index, value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder addChestPosList(
                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo.Builder
                            builderForValue) {
                if (chestPosListBuilder_ == null) {
                    ensureChestPosListIsMutable();
                    chestPosList_.add(builderForValue.build());
                    onChanged();
                } else {
                    chestPosListBuilder_.addMessage(builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder addChestPosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo.Builder
                            builderForValue) {
                if (chestPosListBuilder_ == null) {
                    ensureChestPosListIsMutable();
                    chestPosList_.add(index, builderForValue.build());
                    onChanged();
                } else {
                    chestPosListBuilder_.addMessage(index, builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder addAllChestPosList(
                    java.lang.Iterable<
                                    ? extends
                                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                                    .MichiaeMatsuriChestPositionInfo>
                            values) {
                if (chestPosListBuilder_ == null) {
                    ensureChestPosListIsMutable();
                    com.google.protobuf.AbstractMessageLite.Builder.addAll(values, chestPosList_);
                    onChanged();
                } else {
                    chestPosListBuilder_.addAllMessages(values);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder clearChestPosList() {
                if (chestPosListBuilder_ == null) {
                    chestPosList_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000001);
                    onChanged();
                } else {
                    chestPosListBuilder_.clear();
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public Builder removeChestPosList(int index) {
                if (chestPosListBuilder_ == null) {
                    ensureChestPosListIsMutable();
                    chestPosList_.remove(index);
                    onChanged();
                } else {
                    chestPosListBuilder_.remove(index);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                            .MichiaeMatsuriChestPositionInfo.Builder
                    getChestPosListBuilder(int index) {
                return getChestPosListFieldBuilder().getBuilder(index);
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                            .MichiaeMatsuriChestPositionInfoOrBuilder
                    getChestPosListOrBuilder(int index) {
                if (chestPosListBuilder_ == null) {
                    return chestPosList_.get(index);
                } else {
                    return chestPosListBuilder_.getMessageOrBuilder(index);
                }
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public java.util.List<
                            ? extends
                                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                            .MichiaeMatsuriChestPositionInfoOrBuilder>
                    getChestPosListOrBuilderList() {
                if (chestPosListBuilder_ != null) {
                    return chestPosListBuilder_.getMessageOrBuilderList();
                } else {
                    return java.util.Collections.unmodifiableList(chestPosList_);
                }
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                            .MichiaeMatsuriChestPositionInfo.Builder
                    addChestPosListBuilder() {
                return getChestPosListFieldBuilder()
                        .addBuilder(
                                emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                        .MichiaeMatsuriChestPositionInfo.getDefaultInstance());
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                            .MichiaeMatsuriChestPositionInfo.Builder
                    addChestPosListBuilder(int index) {
                return getChestPosListFieldBuilder()
                        .addBuilder(
                                index,
                                emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                        .MichiaeMatsuriChestPositionInfo.getDefaultInstance());
            }
            /** <code>repeated .MichiaeMatsuriChestPositionInfo chest_pos_list = 12;</code> */
            public java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo.Builder>
                    getChestPosListBuilderList() {
                return getChestPosListFieldBuilder().getBuilderList();
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo,
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfo.Builder,
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                    .MichiaeMatsuriChestPositionInfoOrBuilder>
                    getChestPosListFieldBuilder() {
                if (chestPosListBuilder_ == null) {
                    chestPosListBuilder_ =
                            new com.google.protobuf.RepeatedFieldBuilderV3<
                                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                            .MichiaeMatsuriChestPositionInfo,
                                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                            .MichiaeMatsuriChestPositionInfo.Builder,
                                    emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass
                                            .MichiaeMatsuriChestPositionInfoOrBuilder>(
                                    chestPosList_,
                                    ((bitField0_ & 0x00000001) != 0),
                                    getParentForChildren(),
                                    isClean());
                    chestPosList_ = null;
                }
                return chestPosListBuilder_;
            }

            private com.google.protobuf.Internal.IntList unlockedCrystalSkillList_ = emptyIntList();

            private void ensureUnlockedCrystalSkillListIsMutable() {
                if (!((bitField0_ & 0x00000002) != 0)) {
                    unlockedCrystalSkillList_ = mutableCopy(unlockedCrystalSkillList_);
                    bitField0_ |= 0x00000002;
                }
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @return A list containing the unlockedCrystalSkillList.
             */
            public java.util.List<java.lang.Integer> getUnlockedCrystalSkillListList() {
                return ((bitField0_ & 0x00000002) != 0)
                        ? java.util.Collections.unmodifiableList(unlockedCrystalSkillList_)
                        : unlockedCrystalSkillList_;
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @return The count of unlockedCrystalSkillList.
             */
            public int getUnlockedCrystalSkillListCount() {
                return unlockedCrystalSkillList_.size();
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @param index The index of the element to return.
             * @return The unlockedCrystalSkillList at the given index.
             */
            public int getUnlockedCrystalSkillList(int index) {
                return unlockedCrystalSkillList_.getInt(index);
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @param index The index to set the value at.
             * @param value The unlockedCrystalSkillList to set.
             * @return This builder for chaining.
             */
            public Builder setUnlockedCrystalSkillList(int index, int value) {
                ensureUnlockedCrystalSkillListIsMutable();
                unlockedCrystalSkillList_.setInt(index, value);
                onChanged();
                return this;
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @param value The unlockedCrystalSkillList to add.
             * @return This builder for chaining.
             */
            public Builder addUnlockedCrystalSkillList(int value) {
                ensureUnlockedCrystalSkillListIsMutable();
                unlockedCrystalSkillList_.addInt(value);
                onChanged();
                return this;
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @param values The unlockedCrystalSkillList to add.
             * @return This builder for chaining.
             */
            public Builder addAllUnlockedCrystalSkillList(
                    java.lang.Iterable<? extends java.lang.Integer> values) {
                ensureUnlockedCrystalSkillListIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, unlockedCrystalSkillList_);
                onChanged();
                return this;
            }
            /**
             * <code>repeated uint32 unlocked_crystal_skill_list = 6;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearUnlockedCrystalSkillList() {
                unlockedCrystalSkillList_ = emptyIntList();
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            private java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo>
                    challengePosList_ = java.util.Collections.emptyList();

            private void ensureChallengePosListIsMutable() {
                if (!((bitField0_ & 0x00000004) != 0)) {
                    challengePosList_ =
                            new java.util.ArrayList<
                                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                            .MichiaeMatsuriChallengePositionInfo>(challengePosList_);
                    bitField0_ |= 0x00000004;
                }
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo,
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo.Builder,
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfoOrBuilder>
                    challengePosListBuilder_;

            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo>
                    getChallengePosListList() {
                if (challengePosListBuilder_ == null) {
                    return java.util.Collections.unmodifiableList(challengePosList_);
                } else {
                    return challengePosListBuilder_.getMessageList();
                }
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public int getChallengePosListCount() {
                if (challengePosListBuilder_ == null) {
                    return challengePosList_.size();
                } else {
                    return challengePosListBuilder_.getCount();
                }
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                            .MichiaeMatsuriChallengePositionInfo
                    getChallengePosList(int index) {
                if (challengePosListBuilder_ == null) {
                    return challengePosList_.get(index);
                } else {
                    return challengePosListBuilder_.getMessage(index);
                }
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder setChallengePosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo
                            value) {
                if (challengePosListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureChallengePosListIsMutable();
                    challengePosList_.set(index, value);
                    onChanged();
                } else {
                    challengePosListBuilder_.setMessage(index, value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder setChallengePosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo.Builder
                            builderForValue) {
                if (challengePosListBuilder_ == null) {
                    ensureChallengePosListIsMutable();
                    challengePosList_.set(index, builderForValue.build());
                    onChanged();
                } else {
                    challengePosListBuilder_.setMessage(index, builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder addChallengePosList(
                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo
                            value) {
                if (challengePosListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureChallengePosListIsMutable();
                    challengePosList_.add(value);
                    onChanged();
                } else {
                    challengePosListBuilder_.addMessage(value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder addChallengePosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo
                            value) {
                if (challengePosListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureChallengePosListIsMutable();
                    challengePosList_.add(index, value);
                    onChanged();
                } else {
                    challengePosListBuilder_.addMessage(index, value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder addChallengePosList(
                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo.Builder
                            builderForValue) {
                if (challengePosListBuilder_ == null) {
                    ensureChallengePosListIsMutable();
                    challengePosList_.add(builderForValue.build());
                    onChanged();
                } else {
                    challengePosListBuilder_.addMessage(builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder addChallengePosList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo.Builder
                            builderForValue) {
                if (challengePosListBuilder_ == null) {
                    ensureChallengePosListIsMutable();
                    challengePosList_.add(index, builderForValue.build());
                    onChanged();
                } else {
                    challengePosListBuilder_.addMessage(index, builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder addAllChallengePosList(
                    java.lang.Iterable<
                                    ? extends
                                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                                    .MichiaeMatsuriChallengePositionInfo>
                            values) {
                if (challengePosListBuilder_ == null) {
                    ensureChallengePosListIsMutable();
                    com.google.protobuf.AbstractMessageLite.Builder.addAll(values, challengePosList_);
                    onChanged();
                } else {
                    challengePosListBuilder_.addAllMessages(values);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder clearChallengePosList() {
                if (challengePosListBuilder_ == null) {
                    challengePosList_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000004);
                    onChanged();
                } else {
                    challengePosListBuilder_.clear();
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public Builder removeChallengePosList(int index) {
                if (challengePosListBuilder_ == null) {
                    ensureChallengePosListIsMutable();
                    challengePosList_.remove(index);
                    onChanged();
                } else {
                    challengePosListBuilder_.remove(index);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                            .MichiaeMatsuriChallengePositionInfo.Builder
                    getChallengePosListBuilder(int index) {
                return getChallengePosListFieldBuilder().getBuilder(index);
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                            .MichiaeMatsuriChallengePositionInfoOrBuilder
                    getChallengePosListOrBuilder(int index) {
                if (challengePosListBuilder_ == null) {
                    return challengePosList_.get(index);
                } else {
                    return challengePosListBuilder_.getMessageOrBuilder(index);
                }
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public java.util.List<
                            ? extends
                                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                            .MichiaeMatsuriChallengePositionInfoOrBuilder>
                    getChallengePosListOrBuilderList() {
                if (challengePosListBuilder_ != null) {
                    return challengePosListBuilder_.getMessageOrBuilderList();
                } else {
                    return java.util.Collections.unmodifiableList(challengePosList_);
                }
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                            .MichiaeMatsuriChallengePositionInfo.Builder
                    addChallengePosListBuilder() {
                return getChallengePosListFieldBuilder()
                        .addBuilder(
                                emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                        .MichiaeMatsuriChallengePositionInfo.getDefaultInstance());
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                            .MichiaeMatsuriChallengePositionInfo.Builder
                    addChallengePosListBuilder(int index) {
                return getChallengePosListFieldBuilder()
                        .addBuilder(
                                index,
                                emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                        .MichiaeMatsuriChallengePositionInfo.getDefaultInstance());
            }
            /** <code>repeated .MichiaeMatsuriChallengePositionInfo challenge_pos_list = 13;</code> */
            public java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo.Builder>
                    getChallengePosListBuilderList() {
                return getChallengePosListFieldBuilder().getBuilderList();
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo,
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfo.Builder,
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .MichiaeMatsuriChallengePositionInfoOrBuilder>
                    getChallengePosListFieldBuilder() {
                if (challengePosListBuilder_ == null) {
                    challengePosListBuilder_ =
                            new com.google.protobuf.RepeatedFieldBuilderV3<
                                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                            .MichiaeMatsuriChallengePositionInfo,
                                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                            .MichiaeMatsuriChallengePositionInfo.Builder,
                                    emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                            .MichiaeMatsuriChallengePositionInfoOrBuilder>(
                                    challengePosList_,
                                    ((bitField0_ & 0x00000004) != 0),
                                    getParentForChildren(),
                                    isClean());
                    challengePosList_ = null;
                }
                return challengePosListBuilder_;
            }

            private int gainCrystalExp_;
            /**
             * <code>uint32 gain_crystal_exp = 4;</code>
             *
             * @return The gainCrystalExp.
             */
            @java.lang.Override
            public int getGainCrystalExp() {
                return gainCrystalExp_;
            }
            /**
             * <code>uint32 gain_crystal_exp = 4;</code>
             *
             * @param value The gainCrystalExp to set.
             * @return This builder for chaining.
             */
            public Builder setGainCrystalExp(int value) {

                gainCrystalExp_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>uint32 gain_crystal_exp = 4;</code>
             *
             * @return This builder for chaining.
             */
            public Builder clearGainCrystalExp() {

                gainCrystalExp_ = 0;
                onChanged();
                return this;
            }

            private java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>
                    stageList_ = java.util.Collections.emptyList();

            private void ensureStageListIsMutable() {
                if (!((bitField0_ & 0x00000008) != 0)) {
                    stageList_ =
                            new java.util.ArrayList<
                                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>(
                                    stageList_);
                    bitField0_ |= 0x00000008;
                }
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage,
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder,
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStageOrBuilder>
                    stageListBuilder_;

            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>
                    getStageListList() {
                if (stageListBuilder_ == null) {
                    return java.util.Collections.unmodifiableList(stageList_);
                } else {
                    return stageListBuilder_.getMessageList();
                }
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public int getStageListCount() {
                if (stageListBuilder_ == null) {
                    return stageList_.size();
                } else {
                    return stageListBuilder_.getCount();
                }
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage
                    getStageList(int index) {
                if (stageListBuilder_ == null) {
                    return stageList_.get(index);
                } else {
                    return stageListBuilder_.getMessage(index);
                }
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder setStageList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage value) {
                if (stageListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureStageListIsMutable();
                    stageList_.set(index, value);
                    onChanged();
                } else {
                    stageListBuilder_.setMessage(index, value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder setStageList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder
                            builderForValue) {
                if (stageListBuilder_ == null) {
                    ensureStageListIsMutable();
                    stageList_.set(index, builderForValue.build());
                    onChanged();
                } else {
                    stageListBuilder_.setMessage(index, builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder addStageList(
                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage value) {
                if (stageListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureStageListIsMutable();
                    stageList_.add(value);
                    onChanged();
                } else {
                    stageListBuilder_.addMessage(value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder addStageList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage value) {
                if (stageListBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureStageListIsMutable();
                    stageList_.add(index, value);
                    onChanged();
                } else {
                    stageListBuilder_.addMessage(index, value);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder addStageList(
                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder
                            builderForValue) {
                if (stageListBuilder_ == null) {
                    ensureStageListIsMutable();
                    stageList_.add(builderForValue.build());
                    onChanged();
                } else {
                    stageListBuilder_.addMessage(builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder addStageList(
                    int index,
                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder
                            builderForValue) {
                if (stageListBuilder_ == null) {
                    ensureStageListIsMutable();
                    stageList_.add(index, builderForValue.build());
                    onChanged();
                } else {
                    stageListBuilder_.addMessage(index, builderForValue.build());
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder addAllStageList(
                    java.lang.Iterable<
                                    ? extends
                                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage>
                            values) {
                if (stageListBuilder_ == null) {
                    ensureStageListIsMutable();
                    com.google.protobuf.AbstractMessageLite.Builder.addAll(values, stageList_);
                    onChanged();
                } else {
                    stageListBuilder_.addAllMessages(values);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder clearStageList() {
                if (stageListBuilder_ == null) {
                    stageList_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000008);
                    onChanged();
                } else {
                    stageListBuilder_.clear();
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public Builder removeStageList(int index) {
                if (stageListBuilder_ == null) {
                    ensureStageListIsMutable();
                    stageList_.remove(index);
                    onChanged();
                } else {
                    stageListBuilder_.remove(index);
                }
                return this;
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder
                    getStageListBuilder(int index) {
                return getStageListFieldBuilder().getBuilder(index);
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStageOrBuilder
                    getStageListOrBuilder(int index) {
                if (stageListBuilder_ == null) {
                    return stageList_.get(index);
                } else {
                    return stageListBuilder_.getMessageOrBuilder(index);
                }
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public java.util.List<
                            ? extends
                                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass
                                            .MichiaeMatsuriStageOrBuilder>
                    getStageListOrBuilderList() {
                if (stageListBuilder_ != null) {
                    return stageListBuilder_.getMessageOrBuilderList();
                } else {
                    return java.util.Collections.unmodifiableList(stageList_);
                }
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder
                    addStageListBuilder() {
                return getStageListFieldBuilder()
                        .addBuilder(
                                emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage
                                        .getDefaultInstance());
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder
                    addStageListBuilder(int index) {
                return getStageListFieldBuilder()
                        .addBuilder(
                                index,
                                emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage
                                        .getDefaultInstance());
            }
            /** <code>repeated .MichiaeMatsuriStage stage_list = 14;</code> */
            public java.util.List<
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder>
                    getStageListBuilderList() {
                return getStageListFieldBuilder().getBuilderList();
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage,
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage.Builder,
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStageOrBuilder>
                    getStageListFieldBuilder() {
                if (stageListBuilder_ == null) {
                    stageListBuilder_ =
                            new com.google.protobuf.RepeatedFieldBuilderV3<
                                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage,
                                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.MichiaeMatsuriStage
                                            .Builder,
                                    emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass
                                            .MichiaeMatsuriStageOrBuilder>(
                                    stageList_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
                    stageList_ = null;
                }
                return stageListBuilder_;
            }

            @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:MichiaeMatsuriActivityDetailInfo)
        }

        // @@protoc_insertion_point(class_scope:MichiaeMatsuriActivityDetailInfo)
        private static final emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                DEFAULT_INSTANCE;

        static {
            DEFAULT_INSTANCE =
                    new emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                            .MichiaeMatsuriActivityDetailInfo();
        }

        public static emu.grasscutter.net.proto.MichiaeMatsuriActivityDetailInfoOuterClass
                        .MichiaeMatsuriActivityDetailInfo
                getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

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

    private static final com.google.protobuf.Descriptors.Descriptor
            internal_static_MichiaeMatsuriActivityDetailInfo_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internal_static_MichiaeMatsuriActivityDetailInfo_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&MichiaeMatsuriActivityDetailInfo.proto"
                    + "\032)MichiaeMatsuriChallengePositionInfo.pr"
                    + "oto\032%MichiaeMatsuriChestPositionInfo.pro"
                    + "to\032\031MichiaeMatsuriStage.proto\"\207\002\n Michia"
                    + "eMatsuriActivityDetailInfo\0228\n\016chest_pos_"
                    + "list\030\014 \003(\0132 .MichiaeMatsuriChestPosition"
                    + "Info\022#\n\033unlocked_crystal_skill_list\030\006 \003("
                    + "\r\022@\n\022challenge_pos_list\030\r \003(\0132$.MichiaeM"
                    + "atsuriChallengePositionInfo\022\030\n\020gain_crys"
                    + "tal_exp\030\004 \001(\r\022(\n\nstage_list\030\016 \003(\0132\024.Mich"
                    + "iaeMatsuriStageB!\n\031emu.grasscutter.net.p"
                    + "rotoZ\004/genb\006proto3"
        };
        descriptor =
                com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
                        descriptorData,
                        new com.google.protobuf.Descriptors.FileDescriptor[] {
                            emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass
                                    .getDescriptor(),
                            emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass.getDescriptor(),
                            emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.getDescriptor(),
                        });
        internal_static_MichiaeMatsuriActivityDetailInfo_descriptor =
                getDescriptor().getMessageTypes().get(0);
        internal_static_MichiaeMatsuriActivityDetailInfo_fieldAccessorTable =
                new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
                        internal_static_MichiaeMatsuriActivityDetailInfo_descriptor,
                        new java.lang.String[] {
                            "ChestPosList",
                            "UnlockedCrystalSkillList",
                            "ChallengePosList",
                            "GainCrystalExp",
                            "StageList",
                        });
        emu.grasscutter.net.proto.MichiaeMatsuriChallengePositionInfoOuterClass.getDescriptor();
        emu.grasscutter.net.proto.MichiaeMatsuriChestPositionInfoOuterClass.getDescriptor();
        emu.grasscutter.net.proto.MichiaeMatsuriStageOuterClass.getDescriptor();
    }

    // @@protoc_insertion_point(outer_class_scope)
}
