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

// Protobuf Java Version: 3.25.1
public final class EventOuterClass {
  private EventOuterClass() {}
  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 EventOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Event)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int64 millis = 1;</code>
     * @return The millis.
     */
    long getMillis();

    /**
     * <code>string avatarID = 2;</code>
     * @return The avatarID.
     */
    java.lang.String getAvatarID();
    /**
     * <code>string avatarID = 2;</code>
     * @return The bytes for avatarID.
     */
    com.google.protobuf.ByteString
        getAvatarIDBytes();

    /**
     * <code>.Event.EventID eventID = 3;</code>
     * @return The enum numeric value on the wire for eventID.
     */
    int getEventIDValue();
    /**
     * <code>.Event.EventID eventID = 3;</code>
     * @return The eventID.
     */
    EventOuterClass.Event.EventID getEventID();

    /**
     * <code>string text = 4;</code>
     * @return The text.
     */
    java.lang.String getText();
    /**
     * <code>string text = 4;</code>
     * @return The bytes for text.
     */
    com.google.protobuf.ByteString
        getTextBytes();

    /**
     * <code>repeated bytes data = 5;</code>
     * @return A list containing the data.
     */
    java.util.List<com.google.protobuf.ByteString> getDataList();
    /**
     * <code>repeated bytes data = 5;</code>
     * @return The count of data.
     */
    int getDataCount();
    /**
     * <code>repeated bytes data = 5;</code>
     * @param index The index of the element to return.
     * @return The data at the given index.
     */
    com.google.protobuf.ByteString getData(int index);

    /**
     * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
     * @return Whether the qwilightCallNet field is set.
     */
    boolean hasQwilightCallNet();
    /**
     * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
     * @return The qwilightCallNet.
     */
    EventOuterClass.Event.QwilightCallNet getQwilightCallNet();
    /**
     * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
     */
    EventOuterClass.Event.QwilightCallNetOrBuilder getQwilightCallNetOrBuilder();

    /**
     * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
     * @return Whether the twilightCallNet field is set.
     */
    boolean hasTwilightCallNet();
    /**
     * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
     * @return The twilightCallNet.
     */
    EventOuterClass.Event.TwilightCallNet getTwilightCallNet();
    /**
     * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
     */
    EventOuterClass.Event.TwilightCallNetOrBuilder getTwilightCallNetOrBuilder();

    /**
     * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
     * @return Whether the qwilightIOInput field is set.
     */
    boolean hasQwilightIOInput();
    /**
     * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
     * @return The qwilightIOInput.
     */
    EventOuterClass.Event.QwilightIOInput getQwilightIOInput();
    /**
     * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
     */
    EventOuterClass.Event.QwilightIOInputOrBuilder getQwilightIOInputOrBuilder();

    /**
     * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
     * @return Whether the twilightIOInput field is set.
     */
    boolean hasTwilightIOInput();
    /**
     * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
     * @return The twilightIOInput.
     */
    EventOuterClass.Event.TwilightIOInput getTwilightIOInput();
    /**
     * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
     */
    EventOuterClass.Event.TwilightIOInputOrBuilder getTwilightIOInputOrBuilder();

    /**
     * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
     * @return Whether the qwilightIOJudge field is set.
     */
    boolean hasQwilightIOJudge();
    /**
     * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
     * @return The qwilightIOJudge.
     */
    EventOuterClass.Event.QwilightIOJudge getQwilightIOJudge();
    /**
     * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
     */
    EventOuterClass.Event.QwilightIOJudgeOrBuilder getQwilightIOJudgeOrBuilder();

    /**
     * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
     * @return Whether the twilightIOJudge field is set.
     */
    boolean hasTwilightIOJudge();
    /**
     * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
     * @return The twilightIOJudge.
     */
    EventOuterClass.Event.TwilightIOJudge getTwilightIOJudge();
    /**
     * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
     */
    EventOuterClass.Event.TwilightIOJudgeOrBuilder getTwilightIOJudgeOrBuilder();

    /**
     * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
     * @return Whether the qwilightIOJudgmentMeter field is set.
     */
    boolean hasQwilightIOJudgmentMeter();
    /**
     * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
     * @return The qwilightIOJudgmentMeter.
     */
    EventOuterClass.Event.QwilightIOJudgmentMeter getQwilightIOJudgmentMeter();
    /**
     * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
     */
    EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder getQwilightIOJudgmentMeterOrBuilder();

    /**
     * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
     * @return Whether the twilightIOJudgmentMeter field is set.
     */
    boolean hasTwilightIOJudgmentMeter();
    /**
     * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
     * @return The twilightIOJudgmentMeter.
     */
    EventOuterClass.Event.TwilightIOJudgmentMeter getTwilightIOJudgmentMeter();
    /**
     * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
     */
    EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder getTwilightIOJudgmentMeterOrBuilder();

    /**
     * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
     * @return Whether the qwilightIONoteVisibility field is set.
     */
    boolean hasQwilightIONoteVisibility();
    /**
     * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
     * @return The qwilightIONoteVisibility.
     */
    EventOuterClass.Event.QwilightIONoteVisibility getQwilightIONoteVisibility();
    /**
     * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
     */
    EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder getQwilightIONoteVisibilityOrBuilder();

    /**
     * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
     * @return Whether the twilightIONoteVisibility field is set.
     */
    boolean hasTwilightIONoteVisibility();
    /**
     * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
     * @return The twilightIONoteVisibility.
     */
    EventOuterClass.Event.TwilightIONoteVisibility getTwilightIONoteVisibility();
    /**
     * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
     */
    EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder getTwilightIONoteVisibilityOrBuilder();

    /**
     * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
     * @return Whether the qwilightIOMultiplier field is set.
     */
    boolean hasQwilightIOMultiplier();
    /**
     * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
     * @return The qwilightIOMultiplier.
     */
    EventOuterClass.Event.QwilightIOMultiplier getQwilightIOMultiplier();
    /**
     * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
     */
    EventOuterClass.Event.QwilightIOMultiplierOrBuilder getQwilightIOMultiplierOrBuilder();

    /**
     * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
     * @return Whether the twilightIOMultiplier field is set.
     */
    boolean hasTwilightIOMultiplier();
    /**
     * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
     * @return The twilightIOMultiplier.
     */
    EventOuterClass.Event.TwilightIOMultiplier getTwilightIOMultiplier();
    /**
     * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
     */
    EventOuterClass.Event.TwilightIOMultiplierOrBuilder getTwilightIOMultiplierOrBuilder();

    /**
     * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
     * @return Whether the qwilightIOAudioMultiplier field is set.
     */
    boolean hasQwilightIOAudioMultiplier();
    /**
     * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
     * @return The qwilightIOAudioMultiplier.
     */
    EventOuterClass.Event.QwilightIOAudioMultiplier getQwilightIOAudioMultiplier();
    /**
     * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
     */
    EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder getQwilightIOAudioMultiplierOrBuilder();

    /**
     * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
     * @return Whether the twilightIOAudioMultiplier field is set.
     */
    boolean hasTwilightIOAudioMultiplier();
    /**
     * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
     * @return The twilightIOAudioMultiplier.
     */
    EventOuterClass.Event.TwilightIOAudioMultiplier getTwilightIOAudioMultiplier();
    /**
     * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
     */
    EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder getTwilightIOAudioMultiplierOrBuilder();

    /**
     * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
     * @return Whether the twilightAudioInput field is set.
     */
    boolean hasTwilightAudioInput();
    /**
     * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
     * @return The twilightAudioInput.
     */
    EventOuterClass.Event.TwilightAudioInput getTwilightAudioInput();
    /**
     * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
     */
    EventOuterClass.Event.TwilightAudioInputOrBuilder getTwilightAudioInputOrBuilder();

    /**
     * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
     * @return Whether the qwilightPostItem field is set.
     */
    boolean hasQwilightPostItem();
    /**
     * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
     * @return The qwilightPostItem.
     */
    EventOuterClass.Event.QwilightPostItem getQwilightPostItem();
    /**
     * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
     */
    EventOuterClass.Event.QwilightPostItemOrBuilder getQwilightPostItemOrBuilder();

    /**
     * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
     * @return Whether the twilightPostItem field is set.
     */
    boolean hasTwilightPostItem();
    /**
     * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
     * @return The twilightPostItem.
     */
    EventOuterClass.Event.TwilightPostItem getTwilightPostItem();
    /**
     * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
     */
    EventOuterClass.Event.TwilightPostItemOrBuilder getTwilightPostItemOrBuilder();

    EventOuterClass.Event.FastTextCase getFastTextCase();
  }
  /**
   * Protobuf type {@code Event}
   */
  public static final class Event extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Event)
      EventOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Event.newBuilder() to construct.
    private Event(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Event() {
      avatarID_ = "";
      eventID_ = 0;
      text_ = "";
      data_ = emptyList(com.google.protobuf.ByteString.class);
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return EventOuterClass.internal_static_Event_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return EventOuterClass.internal_static_Event_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              EventOuterClass.Event.class, EventOuterClass.Event.Builder.class);
    }

    /**
     * Protobuf enum {@code Event.AvatarNetStatus}
     */
    public enum AvatarNetStatus
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>Default = 0;</code>
       */
      Default(0),
      /**
       * <code>Clear = 1;</code>
       */
      Clear(1),
      /**
       * <code>Failed = 2;</code>
       */
      Failed(2),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>Default = 0;</code>
       */
      public static final int Default_VALUE = 0;
      /**
       * <code>Clear = 1;</code>
       */
      public static final int Clear_VALUE = 1;
      /**
       * <code>Failed = 2;</code>
       */
      public static final int Failed_VALUE = 2;


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

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

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static AvatarNetStatus forNumber(int value) {
        switch (value) {
          case 0: return Default;
          case 1: return Clear;
          case 2: return Failed;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalStateException(
              "Can't get the descriptor of an unrecognized enum value.");
        }
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return EventOuterClass.Event.getDescriptor().getEnumTypes().get(0);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:Event.AvatarNetStatus)
    }

    /**
     * Protobuf enum {@code Event.EventID}
     */
    public enum EventID
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>SIGN_IN = 0;</code>
       */
      SIGN_IN(0),
      /**
       * <code>NOT_SIGN_IN = 1;</code>
       */
      NOT_SIGN_IN(1),
      /**
       * <code>WARNING = 2;</code>
       */
      WARNING(2),
      /**
       * <code>SITE_YELL = 3;</code>
       */
      SITE_YELL(3),
      /**
       * <code>CALL_BUNDLE = 4;</code>
       */
      CALL_BUNDLE(4),
      /**
       * <code>SAVE_AS_BUNDLE = 5;</code>
       */
      SAVE_AS_BUNDLE(5),
      /**
       * <code>SAVING_BUNDLE = 6;</code>
       */
      SAVING_BUNDLE(6),
      /**
       * <code>WIPE_BUNDLE = 7;</code>
       */
      WIPE_BUNDLE(7),
      /**
       * <code>SET_BUNDLE = 8;</code>
       */
      SET_BUNDLE(8),
      /**
       * <code>CALL_UBUNTU = 9;</code>
       */
      CALL_UBUNTU(9),
      /**
       * <code>CALL_SITE_AVATAR = 10;</code>
       */
      CALL_SITE_AVATAR(10),
      /**
       * <code>COMMENT = 11;</code>
       */
      COMMENT(11),
      /**
       * <code>SET_SITUATION = 12;</code>
       */
      SET_SITUATION(12),
      /**
       * <code>NEW_TITLE = 13;</code>
       */
      NEW_TITLE(13),
      /**
       * <code>STOP_SAVING_BUNDLE = 14;</code>
       */
      STOP_SAVING_BUNDLE(14),
      /**
       * <code>SAVED_BUNDLE = 15;</code>
       */
      SAVED_BUNDLE(15),
      /**
       * <code>SAVE_BUNDLE = 16;</code>
       */
      SAVE_BUNDLE(16),
      /**
       * <code>ENTER_SITE = 17;</code>
       */
      ENTER_SITE(17),
      /**
       * <code>QUIT_SITE = 18;</code>
       */
      QUIT_SITE(18),
      /**
       * <code>WIPE_UBUNTU = 19;</code>
       */
      WIPE_UBUNTU(19),
      /**
       * <code>NEW_SITE = 20;</code>
       */
      NEW_SITE(20),
      /**
       * <code>NEW_UBUNTU = 21;</code>
       */
      NEW_UBUNTU(21),
      /**
       * <code>EXILE_AVATAR = 22;</code>
       */
      EXILE_AVATAR(22),
      /**
       * <code>NEW_SILENT_SITE = 23;</code>
       */
      NEW_SILENT_SITE(23),
      /**
       * <code>ESTABLISH = 24;</code>
       */
      ESTABLISH(24),
      /**
       * <code>CALL_CONFIGURE = 25;</code>
       */
      CALL_CONFIGURE(25),
      /**
       * <code>SET_CONFIGURE = 26;</code>
       */
      SET_CONFIGURE(26),
      /**
       * <code>NOTIFY_INFO = 27;</code>
       */
      NOTIFY_INFO(27),
      /**
       * <code>LEVY_NET = 28;</code>
       */
      LEVY_NET(28),
      /**
       * <code>COMPILED = 29;</code>
       */
      COMPILED(29),
      /**
       * <code>CALL_NET = 30;</code>
       */
      CALL_NET(30),
      /**
       * <code>SET_MODE_COMPONENT = 31;</code>
       */
      SET_MODE_COMPONENT(31),
      /**
       * <code>SET_FAVOR_MODE_COMPONENT = 32;</code>
       */
      SET_FAVOR_MODE_COMPONENT(32),
      /**
       * <code>SET_VALID_HUNTER_MODE = 33;</code>
       */
      SET_VALID_HUNTER_MODE(33),
      /**
       * <code>CALL_NET_SITE_COMMENTS = 34;</code>
       */
      CALL_NET_SITE_COMMENTS(34),
      /**
       * <code>SET_NOTE_FILE = 35;</code>
       */
      SET_NOTE_FILE(35),
      /**
       * <code>SET_SITE_NAME = 36;</code>
       */
      SET_SITE_NAME(36),
      /**
       * <code>SET_SITE_HAND = 37;</code>
       */
      SET_SITE_HAND(37),
      /**
       * <code>QUIT_NET = 38;</code>
       */
      QUIT_NET(38),
      /**
       * <code>SAVING_AS_BUNDLE = 39;</code>
       */
      SAVING_AS_BUNDLE(39),
      /**
       * <code>SAVED_AS_BUNDLE = 40;</code>
       */
      SAVED_AS_BUNDLE(40),
      /**
       * <code>STOP_SAVING_AS_BUNDLE = 41;</code>
       */
      STOP_SAVING_AS_BUNDLE(41),
      /**
       * <code>SAVE_DEFAULT_NOTE = 42;</code>
       */
      SAVE_DEFAULT_NOTE(42),
      /**
       * <code>POST_FILE = 43;</code>
       */
      POST_FILE(43),
      /**
       * <code>SAVE_DEFAULT_UI = 44;</code>
       */
      SAVE_DEFAULT_UI(44),
      /**
       * <code>SET_FAVOR_AUDIO_MULTIPLIER = 45;</code>
       */
      SET_FAVOR_AUDIO_MULTIPLIER(45),
      /**
       * <code>CALL_SITE_NET = 46;</code>
       */
      CALL_SITE_NET(46),
      /**
       * <code>NOTIFY_YES = 47;</code>
       */
      NOTIFY_YES(47),
      /**
       * <code>CALL_IO = 48;</code>
       */
      CALL_IO(48),
      /**
       * <code>CALL_IO_COMPONENT = 49;</code>
       */
      CALL_IO_COMPONENT(49),
      /**
       * <code>COMPILED_IO = 50;</code>
       */
      COMPILED_IO(50),
      /**
       * <code>LEVY_IO = 51;</code>
       */
      LEVY_IO(51),
      /**
       * <code>IO_INPUT = 52;</code>
       */
      IO_INPUT(52),
      /**
       * <code>IO_JUDGE = 53;</code>
       */
      IO_JUDGE(53),
      /**
       * <code>IO_NOTE_VISIBILITY = 54;</code>
       */
      IO_NOTE_VISIBILITY(54),
      /**
       * <code>IO_JUDGMENT_METER = 56;</code>
       */
      IO_JUDGMENT_METER(56),
      /**
       * <code>IO_MULTIPLIER = 57;</code>
       */
      IO_MULTIPLIER(57),
      /**
       * <code>IO_AUDIO_MULTIPLIER = 58;</code>
       */
      IO_AUDIO_MULTIPLIER(58),
      /**
       * <code>IO_PAUSE = 59;</code>
       */
      IO_PAUSE(59),
      /**
       * <code>IO_QUIT = 60;</code>
       */
      IO_QUIT(60),
      /**
       * <code>IO_NOT = 61;</code>
       */
      IO_NOT(61),
      /**
       * <code>AUDIO_INPUT = 62;</code>
       */
      AUDIO_INPUT(62),
      /**
       * <code>CALL_SITE_MODE_COMPONENT = 63;</code>
       */
      CALL_SITE_MODE_COMPONENT(63),
      /**
       * <code>COMMENTARY = 65;</code>
       */
      COMMENTARY(65),
      /**
       * <code>WWW_LEVEL = 66;</code>
       */
      WWW_LEVEL(66),
      /**
       * <code>AVATAR_TITLE = 67;</code>
       */
      AVATAR_TITLE(67),
      /**
       * <code>INVALIDATE_AVATAR_DRAWING = 68;</code>
       */
      INVALIDATE_AVATAR_DRAWING(68),
      /**
       * <code>INVALIDATE_AVATAR_TITLE = 69;</code>
       */
      INVALIDATE_AVATAR_TITLE(69),
      /**
       * <code>LEVEL_UP = 70;</code>
       */
      LEVEL_UP(70),
      /**
       * <code>SET_FAVOR_NOTE_FILE = 71;</code>
       */
      SET_FAVOR_NOTE_FILE(71),
      /**
       * <code>GET_SITE_YELLS = 72;</code>
       */
      GET_SITE_YELLS(72),
      /**
       * <code>SET_LANGUAGE = 73;</code>
       */
      SET_LANGUAGE(73),
      /**
       * <code>VALVE_COMMENT = 74;</code>
       */
      VALVE_COMMENT(74),
      /**
       * <code>ABILITY_UP = 75;</code>
       */
      ABILITY_UP(75),
      /**
       * <code>CLOSE = 76;</code>
       */
      CLOSE(76),
      /**
       * <code>UNAVAILABLE_DATE = 77;</code>
       */
      UNAVAILABLE_DATE(77),
      /**
       * <code>AVATAR_EDGE = 78;</code>
       */
      AVATAR_EDGE(78),
      /**
       * <code>INVALIDATE_AVATAR_EDGE = 79;</code>
       */
      INVALIDATE_AVATAR_EDGE(79),
      /**
       * <code>FAILED_VALIDATE_TOTEM = 80;</code>
       */
      FAILED_VALIDATE_TOTEM(80),
      /**
       * <code>MODIFY_SITE_YELL = 81;</code>
       */
      MODIFY_SITE_YELL(81),
      /**
       * <code>WIPE_SITE_YELL = 82;</code>
       */
      WIPE_SITE_YELL(82),
      /**
       * <code>ALREADY_LOADING_BUNDLE = 83;</code>
       */
      ALREADY_LOADING_BUNDLE(83),
      /**
       * <code>SET_FAVOR = 84;</code>
       */
      SET_FAVOR(84),
      /**
       * <code>SET_AUTO_SITE_HAND = 85;</code>
       */
      SET_AUTO_SITE_HAND(85),
      /**
       * <code>SET_AVATAR_GROUP = 86;</code>
       */
      SET_AVATAR_GROUP(86),
      /**
       * <code>POST_ITEM = 87;</code>
       */
      POST_ITEM(87),
      /**
       * <code>SET_VALID_NET_MODE = 88;</code>
       */
      SET_VALID_NET_MODE(88),
      /**
       * <code>SET_ALLOWED_POSTABLE_ITEMS = 89;</code>
       */
      SET_ALLOWED_POSTABLE_ITEMS(89),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>SIGN_IN = 0;</code>
       */
      public static final int SIGN_IN_VALUE = 0;
      /**
       * <code>NOT_SIGN_IN = 1;</code>
       */
      public static final int NOT_SIGN_IN_VALUE = 1;
      /**
       * <code>WARNING = 2;</code>
       */
      public static final int WARNING_VALUE = 2;
      /**
       * <code>SITE_YELL = 3;</code>
       */
      public static final int SITE_YELL_VALUE = 3;
      /**
       * <code>CALL_BUNDLE = 4;</code>
       */
      public static final int CALL_BUNDLE_VALUE = 4;
      /**
       * <code>SAVE_AS_BUNDLE = 5;</code>
       */
      public static final int SAVE_AS_BUNDLE_VALUE = 5;
      /**
       * <code>SAVING_BUNDLE = 6;</code>
       */
      public static final int SAVING_BUNDLE_VALUE = 6;
      /**
       * <code>WIPE_BUNDLE = 7;</code>
       */
      public static final int WIPE_BUNDLE_VALUE = 7;
      /**
       * <code>SET_BUNDLE = 8;</code>
       */
      public static final int SET_BUNDLE_VALUE = 8;
      /**
       * <code>CALL_UBUNTU = 9;</code>
       */
      public static final int CALL_UBUNTU_VALUE = 9;
      /**
       * <code>CALL_SITE_AVATAR = 10;</code>
       */
      public static final int CALL_SITE_AVATAR_VALUE = 10;
      /**
       * <code>COMMENT = 11;</code>
       */
      public static final int COMMENT_VALUE = 11;
      /**
       * <code>SET_SITUATION = 12;</code>
       */
      public static final int SET_SITUATION_VALUE = 12;
      /**
       * <code>NEW_TITLE = 13;</code>
       */
      public static final int NEW_TITLE_VALUE = 13;
      /**
       * <code>STOP_SAVING_BUNDLE = 14;</code>
       */
      public static final int STOP_SAVING_BUNDLE_VALUE = 14;
      /**
       * <code>SAVED_BUNDLE = 15;</code>
       */
      public static final int SAVED_BUNDLE_VALUE = 15;
      /**
       * <code>SAVE_BUNDLE = 16;</code>
       */
      public static final int SAVE_BUNDLE_VALUE = 16;
      /**
       * <code>ENTER_SITE = 17;</code>
       */
      public static final int ENTER_SITE_VALUE = 17;
      /**
       * <code>QUIT_SITE = 18;</code>
       */
      public static final int QUIT_SITE_VALUE = 18;
      /**
       * <code>WIPE_UBUNTU = 19;</code>
       */
      public static final int WIPE_UBUNTU_VALUE = 19;
      /**
       * <code>NEW_SITE = 20;</code>
       */
      public static final int NEW_SITE_VALUE = 20;
      /**
       * <code>NEW_UBUNTU = 21;</code>
       */
      public static final int NEW_UBUNTU_VALUE = 21;
      /**
       * <code>EXILE_AVATAR = 22;</code>
       */
      public static final int EXILE_AVATAR_VALUE = 22;
      /**
       * <code>NEW_SILENT_SITE = 23;</code>
       */
      public static final int NEW_SILENT_SITE_VALUE = 23;
      /**
       * <code>ESTABLISH = 24;</code>
       */
      public static final int ESTABLISH_VALUE = 24;
      /**
       * <code>CALL_CONFIGURE = 25;</code>
       */
      public static final int CALL_CONFIGURE_VALUE = 25;
      /**
       * <code>SET_CONFIGURE = 26;</code>
       */
      public static final int SET_CONFIGURE_VALUE = 26;
      /**
       * <code>NOTIFY_INFO = 27;</code>
       */
      public static final int NOTIFY_INFO_VALUE = 27;
      /**
       * <code>LEVY_NET = 28;</code>
       */
      public static final int LEVY_NET_VALUE = 28;
      /**
       * <code>COMPILED = 29;</code>
       */
      public static final int COMPILED_VALUE = 29;
      /**
       * <code>CALL_NET = 30;</code>
       */
      public static final int CALL_NET_VALUE = 30;
      /**
       * <code>SET_MODE_COMPONENT = 31;</code>
       */
      public static final int SET_MODE_COMPONENT_VALUE = 31;
      /**
       * <code>SET_FAVOR_MODE_COMPONENT = 32;</code>
       */
      public static final int SET_FAVOR_MODE_COMPONENT_VALUE = 32;
      /**
       * <code>SET_VALID_HUNTER_MODE = 33;</code>
       */
      public static final int SET_VALID_HUNTER_MODE_VALUE = 33;
      /**
       * <code>CALL_NET_SITE_COMMENTS = 34;</code>
       */
      public static final int CALL_NET_SITE_COMMENTS_VALUE = 34;
      /**
       * <code>SET_NOTE_FILE = 35;</code>
       */
      public static final int SET_NOTE_FILE_VALUE = 35;
      /**
       * <code>SET_SITE_NAME = 36;</code>
       */
      public static final int SET_SITE_NAME_VALUE = 36;
      /**
       * <code>SET_SITE_HAND = 37;</code>
       */
      public static final int SET_SITE_HAND_VALUE = 37;
      /**
       * <code>QUIT_NET = 38;</code>
       */
      public static final int QUIT_NET_VALUE = 38;
      /**
       * <code>SAVING_AS_BUNDLE = 39;</code>
       */
      public static final int SAVING_AS_BUNDLE_VALUE = 39;
      /**
       * <code>SAVED_AS_BUNDLE = 40;</code>
       */
      public static final int SAVED_AS_BUNDLE_VALUE = 40;
      /**
       * <code>STOP_SAVING_AS_BUNDLE = 41;</code>
       */
      public static final int STOP_SAVING_AS_BUNDLE_VALUE = 41;
      /**
       * <code>SAVE_DEFAULT_NOTE = 42;</code>
       */
      public static final int SAVE_DEFAULT_NOTE_VALUE = 42;
      /**
       * <code>POST_FILE = 43;</code>
       */
      public static final int POST_FILE_VALUE = 43;
      /**
       * <code>SAVE_DEFAULT_UI = 44;</code>
       */
      public static final int SAVE_DEFAULT_UI_VALUE = 44;
      /**
       * <code>SET_FAVOR_AUDIO_MULTIPLIER = 45;</code>
       */
      public static final int SET_FAVOR_AUDIO_MULTIPLIER_VALUE = 45;
      /**
       * <code>CALL_SITE_NET = 46;</code>
       */
      public static final int CALL_SITE_NET_VALUE = 46;
      /**
       * <code>NOTIFY_YES = 47;</code>
       */
      public static final int NOTIFY_YES_VALUE = 47;
      /**
       * <code>CALL_IO = 48;</code>
       */
      public static final int CALL_IO_VALUE = 48;
      /**
       * <code>CALL_IO_COMPONENT = 49;</code>
       */
      public static final int CALL_IO_COMPONENT_VALUE = 49;
      /**
       * <code>COMPILED_IO = 50;</code>
       */
      public static final int COMPILED_IO_VALUE = 50;
      /**
       * <code>LEVY_IO = 51;</code>
       */
      public static final int LEVY_IO_VALUE = 51;
      /**
       * <code>IO_INPUT = 52;</code>
       */
      public static final int IO_INPUT_VALUE = 52;
      /**
       * <code>IO_JUDGE = 53;</code>
       */
      public static final int IO_JUDGE_VALUE = 53;
      /**
       * <code>IO_NOTE_VISIBILITY = 54;</code>
       */
      public static final int IO_NOTE_VISIBILITY_VALUE = 54;
      /**
       * <code>IO_JUDGMENT_METER = 56;</code>
       */
      public static final int IO_JUDGMENT_METER_VALUE = 56;
      /**
       * <code>IO_MULTIPLIER = 57;</code>
       */
      public static final int IO_MULTIPLIER_VALUE = 57;
      /**
       * <code>IO_AUDIO_MULTIPLIER = 58;</code>
       */
      public static final int IO_AUDIO_MULTIPLIER_VALUE = 58;
      /**
       * <code>IO_PAUSE = 59;</code>
       */
      public static final int IO_PAUSE_VALUE = 59;
      /**
       * <code>IO_QUIT = 60;</code>
       */
      public static final int IO_QUIT_VALUE = 60;
      /**
       * <code>IO_NOT = 61;</code>
       */
      public static final int IO_NOT_VALUE = 61;
      /**
       * <code>AUDIO_INPUT = 62;</code>
       */
      public static final int AUDIO_INPUT_VALUE = 62;
      /**
       * <code>CALL_SITE_MODE_COMPONENT = 63;</code>
       */
      public static final int CALL_SITE_MODE_COMPONENT_VALUE = 63;
      /**
       * <code>COMMENTARY = 65;</code>
       */
      public static final int COMMENTARY_VALUE = 65;
      /**
       * <code>WWW_LEVEL = 66;</code>
       */
      public static final int WWW_LEVEL_VALUE = 66;
      /**
       * <code>AVATAR_TITLE = 67;</code>
       */
      public static final int AVATAR_TITLE_VALUE = 67;
      /**
       * <code>INVALIDATE_AVATAR_DRAWING = 68;</code>
       */
      public static final int INVALIDATE_AVATAR_DRAWING_VALUE = 68;
      /**
       * <code>INVALIDATE_AVATAR_TITLE = 69;</code>
       */
      public static final int INVALIDATE_AVATAR_TITLE_VALUE = 69;
      /**
       * <code>LEVEL_UP = 70;</code>
       */
      public static final int LEVEL_UP_VALUE = 70;
      /**
       * <code>SET_FAVOR_NOTE_FILE = 71;</code>
       */
      public static final int SET_FAVOR_NOTE_FILE_VALUE = 71;
      /**
       * <code>GET_SITE_YELLS = 72;</code>
       */
      public static final int GET_SITE_YELLS_VALUE = 72;
      /**
       * <code>SET_LANGUAGE = 73;</code>
       */
      public static final int SET_LANGUAGE_VALUE = 73;
      /**
       * <code>VALVE_COMMENT = 74;</code>
       */
      public static final int VALVE_COMMENT_VALUE = 74;
      /**
       * <code>ABILITY_UP = 75;</code>
       */
      public static final int ABILITY_UP_VALUE = 75;
      /**
       * <code>CLOSE = 76;</code>
       */
      public static final int CLOSE_VALUE = 76;
      /**
       * <code>UNAVAILABLE_DATE = 77;</code>
       */
      public static final int UNAVAILABLE_DATE_VALUE = 77;
      /**
       * <code>AVATAR_EDGE = 78;</code>
       */
      public static final int AVATAR_EDGE_VALUE = 78;
      /**
       * <code>INVALIDATE_AVATAR_EDGE = 79;</code>
       */
      public static final int INVALIDATE_AVATAR_EDGE_VALUE = 79;
      /**
       * <code>FAILED_VALIDATE_TOTEM = 80;</code>
       */
      public static final int FAILED_VALIDATE_TOTEM_VALUE = 80;
      /**
       * <code>MODIFY_SITE_YELL = 81;</code>
       */
      public static final int MODIFY_SITE_YELL_VALUE = 81;
      /**
       * <code>WIPE_SITE_YELL = 82;</code>
       */
      public static final int WIPE_SITE_YELL_VALUE = 82;
      /**
       * <code>ALREADY_LOADING_BUNDLE = 83;</code>
       */
      public static final int ALREADY_LOADING_BUNDLE_VALUE = 83;
      /**
       * <code>SET_FAVOR = 84;</code>
       */
      public static final int SET_FAVOR_VALUE = 84;
      /**
       * <code>SET_AUTO_SITE_HAND = 85;</code>
       */
      public static final int SET_AUTO_SITE_HAND_VALUE = 85;
      /**
       * <code>SET_AVATAR_GROUP = 86;</code>
       */
      public static final int SET_AVATAR_GROUP_VALUE = 86;
      /**
       * <code>POST_ITEM = 87;</code>
       */
      public static final int POST_ITEM_VALUE = 87;
      /**
       * <code>SET_VALID_NET_MODE = 88;</code>
       */
      public static final int SET_VALID_NET_MODE_VALUE = 88;
      /**
       * <code>SET_ALLOWED_POSTABLE_ITEMS = 89;</code>
       */
      public static final int SET_ALLOWED_POSTABLE_ITEMS_VALUE = 89;


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

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

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static EventID forNumber(int value) {
        switch (value) {
          case 0: return SIGN_IN;
          case 1: return NOT_SIGN_IN;
          case 2: return WARNING;
          case 3: return SITE_YELL;
          case 4: return CALL_BUNDLE;
          case 5: return SAVE_AS_BUNDLE;
          case 6: return SAVING_BUNDLE;
          case 7: return WIPE_BUNDLE;
          case 8: return SET_BUNDLE;
          case 9: return CALL_UBUNTU;
          case 10: return CALL_SITE_AVATAR;
          case 11: return COMMENT;
          case 12: return SET_SITUATION;
          case 13: return NEW_TITLE;
          case 14: return STOP_SAVING_BUNDLE;
          case 15: return SAVED_BUNDLE;
          case 16: return SAVE_BUNDLE;
          case 17: return ENTER_SITE;
          case 18: return QUIT_SITE;
          case 19: return WIPE_UBUNTU;
          case 20: return NEW_SITE;
          case 21: return NEW_UBUNTU;
          case 22: return EXILE_AVATAR;
          case 23: return NEW_SILENT_SITE;
          case 24: return ESTABLISH;
          case 25: return CALL_CONFIGURE;
          case 26: return SET_CONFIGURE;
          case 27: return NOTIFY_INFO;
          case 28: return LEVY_NET;
          case 29: return COMPILED;
          case 30: return CALL_NET;
          case 31: return SET_MODE_COMPONENT;
          case 32: return SET_FAVOR_MODE_COMPONENT;
          case 33: return SET_VALID_HUNTER_MODE;
          case 34: return CALL_NET_SITE_COMMENTS;
          case 35: return SET_NOTE_FILE;
          case 36: return SET_SITE_NAME;
          case 37: return SET_SITE_HAND;
          case 38: return QUIT_NET;
          case 39: return SAVING_AS_BUNDLE;
          case 40: return SAVED_AS_BUNDLE;
          case 41: return STOP_SAVING_AS_BUNDLE;
          case 42: return SAVE_DEFAULT_NOTE;
          case 43: return POST_FILE;
          case 44: return SAVE_DEFAULT_UI;
          case 45: return SET_FAVOR_AUDIO_MULTIPLIER;
          case 46: return CALL_SITE_NET;
          case 47: return NOTIFY_YES;
          case 48: return CALL_IO;
          case 49: return CALL_IO_COMPONENT;
          case 50: return COMPILED_IO;
          case 51: return LEVY_IO;
          case 52: return IO_INPUT;
          case 53: return IO_JUDGE;
          case 54: return IO_NOTE_VISIBILITY;
          case 56: return IO_JUDGMENT_METER;
          case 57: return IO_MULTIPLIER;
          case 58: return IO_AUDIO_MULTIPLIER;
          case 59: return IO_PAUSE;
          case 60: return IO_QUIT;
          case 61: return IO_NOT;
          case 62: return AUDIO_INPUT;
          case 63: return CALL_SITE_MODE_COMPONENT;
          case 65: return COMMENTARY;
          case 66: return WWW_LEVEL;
          case 67: return AVATAR_TITLE;
          case 68: return INVALIDATE_AVATAR_DRAWING;
          case 69: return INVALIDATE_AVATAR_TITLE;
          case 70: return LEVEL_UP;
          case 71: return SET_FAVOR_NOTE_FILE;
          case 72: return GET_SITE_YELLS;
          case 73: return SET_LANGUAGE;
          case 74: return VALVE_COMMENT;
          case 75: return ABILITY_UP;
          case 76: return CLOSE;
          case 77: return UNAVAILABLE_DATE;
          case 78: return AVATAR_EDGE;
          case 79: return INVALIDATE_AVATAR_EDGE;
          case 80: return FAILED_VALIDATE_TOTEM;
          case 81: return MODIFY_SITE_YELL;
          case 82: return WIPE_SITE_YELL;
          case 83: return ALREADY_LOADING_BUNDLE;
          case 84: return SET_FAVOR;
          case 85: return SET_AUTO_SITE_HAND;
          case 86: return SET_AVATAR_GROUP;
          case 87: return POST_ITEM;
          case 88: return SET_VALID_NET_MODE;
          case 89: return SET_ALLOWED_POSTABLE_ITEMS;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalStateException(
              "Can't get the descriptor of an unrecognized enum value.");
        }
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return EventOuterClass.Event.getDescriptor().getEnumTypes().get(1);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:Event.EventID)
    }

    public interface TwilightCallNetOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightCallNet)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      java.util.List<EventOuterClass.Event.TwilightCallNet.CallNetItem> 
          getDataList();
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      EventOuterClass.Event.TwilightCallNet.CallNetItem getData(int index);
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      int getDataCount();
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      java.util.List<? extends EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder> 
          getDataOrBuilderList();
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder getDataOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code Event.TwilightCallNet}
     */
    public static final class TwilightCallNet extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightCallNet)
        TwilightCallNetOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightCallNet.newBuilder() to construct.
      private TwilightCallNet(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightCallNet() {
        handlerID_ = "";
        data_ = java.util.Collections.emptyList();
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightCallNet_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightCallNet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightCallNet.class, EventOuterClass.Event.TwilightCallNet.Builder.class);
      }

      public interface CallNetItemOrBuilder extends
          // @@protoc_insertion_point(interface_extends:Event.TwilightCallNet.CallNetItem)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
         * @return The enum numeric value on the wire for avatarNetStatus.
         */
        int getAvatarNetStatusValue();
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
         * @return The avatarNetStatus.
         */
        EventOuterClass.Event.AvatarNetStatus getAvatarNetStatus();

        /**
         * <code>string avatarID = 2;</code>
         * @return The avatarID.
         */
        java.lang.String getAvatarID();
        /**
         * <code>string avatarID = 2;</code>
         * @return The bytes for avatarID.
         */
        com.google.protobuf.ByteString
            getAvatarIDBytes();

        /**
         * <code>string avatarName = 3;</code>
         * @return The avatarName.
         */
        java.lang.String getAvatarName();
        /**
         * <code>string avatarName = 3;</code>
         * @return The bytes for avatarName.
         */
        com.google.protobuf.ByteString
            getAvatarNameBytes();

        /**
         * <code>int32 stand = 4;</code>
         * @return The stand.
         */
        int getStand();

        /**
         * <code>int32 band = 5;</code>
         * @return The band.
         */
        int getBand();

        /**
         * <code>double point = 6;</code>
         * @return The point.
         */
        double getPoint();

        /**
         * <code>double hitPoints = 7;</code>
         * @return The hitPoints.
         */
        double getHitPoints();

        /**
         * <code>bool isFailed = 8;</code>
         * @return The isFailed.
         */
        boolean getIsFailed();

        /**
         * <code>int32 lastJudged = 9;</code>
         * @return The lastJudged.
         */
        int getLastJudged();

        /**
         * <code>int32 hitPointsMode = 10;</code>
         * @return The hitPointsMode.
         */
        int getHitPointsMode();

        /**
         * <code>int32 targetPosition = 11;</code>
         * @return The targetPosition.
         */
        int getTargetPosition();

        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        java.util.List<EventOuterClass.Event.NetDrawing> 
            getDrawingsList();
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        EventOuterClass.Event.NetDrawing getDrawings(int index);
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        int getDrawingsCount();
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        java.util.List<? extends EventOuterClass.Event.NetDrawingOrBuilder> 
            getDrawingsOrBuilderList();
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        EventOuterClass.Event.NetDrawingOrBuilder getDrawingsOrBuilder(
            int index);

        /**
         * <code>.Event.DrawingComponent drawingComponent = 13;</code>
         * @return Whether the drawingComponent field is set.
         */
        boolean hasDrawingComponent();
        /**
         * <code>.Event.DrawingComponent drawingComponent = 13;</code>
         * @return The drawingComponent.
         */
        EventOuterClass.Event.DrawingComponent getDrawingComponent();
        /**
         * <code>.Event.DrawingComponent drawingComponent = 13;</code>
         */
        EventOuterClass.Event.DrawingComponentOrBuilder getDrawingComponentOrBuilder();
      }
      /**
       * Protobuf type {@code Event.TwilightCallNet.CallNetItem}
       */
      public static final class CallNetItem extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:Event.TwilightCallNet.CallNetItem)
          CallNetItemOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use CallNetItem.newBuilder() to construct.
        private CallNetItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private CallNetItem() {
          avatarNetStatus_ = 0;
          avatarID_ = "";
          avatarName_ = "";
          drawings_ = java.util.Collections.emptyList();
        }

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

        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightCallNet_CallNetItem_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightCallNet_CallNetItem_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightCallNet.CallNetItem.class, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder.class);
        }

        private int bitField0_;
        public static final int AVATARNETSTATUS_FIELD_NUMBER = 1;
        private int avatarNetStatus_ = 0;
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
         * @return The enum numeric value on the wire for avatarNetStatus.
         */
        @java.lang.Override public int getAvatarNetStatusValue() {
          return avatarNetStatus_;
        }
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
         * @return The avatarNetStatus.
         */
        @java.lang.Override public EventOuterClass.Event.AvatarNetStatus getAvatarNetStatus() {
          EventOuterClass.Event.AvatarNetStatus result = EventOuterClass.Event.AvatarNetStatus.forNumber(avatarNetStatus_);
          return result == null ? EventOuterClass.Event.AvatarNetStatus.UNRECOGNIZED : result;
        }

        public static final int AVATARID_FIELD_NUMBER = 2;
        @SuppressWarnings("serial")
        private volatile java.lang.Object avatarID_ = "";
        /**
         * <code>string avatarID = 2;</code>
         * @return The avatarID.
         */
        @java.lang.Override
        public java.lang.String getAvatarID() {
          java.lang.Object ref = avatarID_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            avatarID_ = s;
            return s;
          }
        }
        /**
         * <code>string avatarID = 2;</code>
         * @return The bytes for avatarID.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getAvatarIDBytes() {
          java.lang.Object ref = avatarID_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            avatarID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int AVATARNAME_FIELD_NUMBER = 3;
        @SuppressWarnings("serial")
        private volatile java.lang.Object avatarName_ = "";
        /**
         * <code>string avatarName = 3;</code>
         * @return The avatarName.
         */
        @java.lang.Override
        public java.lang.String getAvatarName() {
          java.lang.Object ref = avatarName_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            avatarName_ = s;
            return s;
          }
        }
        /**
         * <code>string avatarName = 3;</code>
         * @return The bytes for avatarName.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getAvatarNameBytes() {
          java.lang.Object ref = avatarName_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            avatarName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int STAND_FIELD_NUMBER = 4;
        private int stand_ = 0;
        /**
         * <code>int32 stand = 4;</code>
         * @return The stand.
         */
        @java.lang.Override
        public int getStand() {
          return stand_;
        }

        public static final int BAND_FIELD_NUMBER = 5;
        private int band_ = 0;
        /**
         * <code>int32 band = 5;</code>
         * @return The band.
         */
        @java.lang.Override
        public int getBand() {
          return band_;
        }

        public static final int POINT_FIELD_NUMBER = 6;
        private double point_ = 0D;
        /**
         * <code>double point = 6;</code>
         * @return The point.
         */
        @java.lang.Override
        public double getPoint() {
          return point_;
        }

        public static final int HITPOINTS_FIELD_NUMBER = 7;
        private double hitPoints_ = 0D;
        /**
         * <code>double hitPoints = 7;</code>
         * @return The hitPoints.
         */
        @java.lang.Override
        public double getHitPoints() {
          return hitPoints_;
        }

        public static final int ISFAILED_FIELD_NUMBER = 8;
        private boolean isFailed_ = false;
        /**
         * <code>bool isFailed = 8;</code>
         * @return The isFailed.
         */
        @java.lang.Override
        public boolean getIsFailed() {
          return isFailed_;
        }

        public static final int LASTJUDGED_FIELD_NUMBER = 9;
        private int lastJudged_ = 0;
        /**
         * <code>int32 lastJudged = 9;</code>
         * @return The lastJudged.
         */
        @java.lang.Override
        public int getLastJudged() {
          return lastJudged_;
        }

        public static final int HITPOINTSMODE_FIELD_NUMBER = 10;
        private int hitPointsMode_ = 0;
        /**
         * <code>int32 hitPointsMode = 10;</code>
         * @return The hitPointsMode.
         */
        @java.lang.Override
        public int getHitPointsMode() {
          return hitPointsMode_;
        }

        public static final int TARGETPOSITION_FIELD_NUMBER = 11;
        private int targetPosition_ = 0;
        /**
         * <code>int32 targetPosition = 11;</code>
         * @return The targetPosition.
         */
        @java.lang.Override
        public int getTargetPosition() {
          return targetPosition_;
        }

        public static final int DRAWINGS_FIELD_NUMBER = 12;
        @SuppressWarnings("serial")
        private java.util.List<EventOuterClass.Event.NetDrawing> drawings_;
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        @java.lang.Override
        public java.util.List<EventOuterClass.Event.NetDrawing> getDrawingsList() {
          return drawings_;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        @java.lang.Override
        public java.util.List<? extends EventOuterClass.Event.NetDrawingOrBuilder> 
            getDrawingsOrBuilderList() {
          return drawings_;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        @java.lang.Override
        public int getDrawingsCount() {
          return drawings_.size();
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        @java.lang.Override
        public EventOuterClass.Event.NetDrawing getDrawings(int index) {
          return drawings_.get(index);
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 12;</code>
         */
        @java.lang.Override
        public EventOuterClass.Event.NetDrawingOrBuilder getDrawingsOrBuilder(
            int index) {
          return drawings_.get(index);
        }

        public static final int DRAWINGCOMPONENT_FIELD_NUMBER = 13;
        private EventOuterClass.Event.DrawingComponent drawingComponent_;
        /**
         * <code>.Event.DrawingComponent drawingComponent = 13;</code>
         * @return Whether the drawingComponent field is set.
         */
        @java.lang.Override
        public boolean hasDrawingComponent() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 13;</code>
         * @return The drawingComponent.
         */
        @java.lang.Override
        public EventOuterClass.Event.DrawingComponent getDrawingComponent() {
          return drawingComponent_ == null ? EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 13;</code>
         */
        @java.lang.Override
        public EventOuterClass.Event.DrawingComponentOrBuilder getDrawingComponentOrBuilder() {
          return drawingComponent_ == null ? EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
        }

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

          memoizedIsInitialized = 1;
          return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (avatarNetStatus_ != EventOuterClass.Event.AvatarNetStatus.Default.getNumber()) {
            output.writeEnum(1, avatarNetStatus_);
          }
          if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarID_)) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 2, avatarID_);
          }
          if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarName_)) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 3, avatarName_);
          }
          if (stand_ != 0) {
            output.writeInt32(4, stand_);
          }
          if (band_ != 0) {
            output.writeInt32(5, band_);
          }
          if (java.lang.Double.doubleToRawLongBits(point_) != 0) {
            output.writeDouble(6, point_);
          }
          if (java.lang.Double.doubleToRawLongBits(hitPoints_) != 0) {
            output.writeDouble(7, hitPoints_);
          }
          if (isFailed_ != false) {
            output.writeBool(8, isFailed_);
          }
          if (lastJudged_ != 0) {
            output.writeInt32(9, lastJudged_);
          }
          if (hitPointsMode_ != 0) {
            output.writeInt32(10, hitPointsMode_);
          }
          if (targetPosition_ != 0) {
            output.writeInt32(11, targetPosition_);
          }
          for (int i = 0; i < drawings_.size(); i++) {
            output.writeMessage(12, drawings_.get(i));
          }
          if (((bitField0_ & 0x00000001) != 0)) {
            output.writeMessage(13, getDrawingComponent());
          }
          getUnknownFields().writeTo(output);
        }

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

          size = 0;
          if (avatarNetStatus_ != EventOuterClass.Event.AvatarNetStatus.Default.getNumber()) {
            size += com.google.protobuf.CodedOutputStream
              .computeEnumSize(1, avatarNetStatus_);
          }
          if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarID_)) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, avatarID_);
          }
          if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarName_)) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, avatarName_);
          }
          if (stand_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(4, stand_);
          }
          if (band_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(5, band_);
          }
          if (java.lang.Double.doubleToRawLongBits(point_) != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeDoubleSize(6, point_);
          }
          if (java.lang.Double.doubleToRawLongBits(hitPoints_) != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeDoubleSize(7, hitPoints_);
          }
          if (isFailed_ != false) {
            size += com.google.protobuf.CodedOutputStream
              .computeBoolSize(8, isFailed_);
          }
          if (lastJudged_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(9, lastJudged_);
          }
          if (hitPointsMode_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(10, hitPointsMode_);
          }
          if (targetPosition_ != 0) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(11, targetPosition_);
          }
          for (int i = 0; i < drawings_.size(); i++) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(12, drawings_.get(i));
          }
          if (((bitField0_ & 0x00000001) != 0)) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(13, getDrawingComponent());
          }
          size += getUnknownFields().getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof EventOuterClass.Event.TwilightCallNet.CallNetItem)) {
            return super.equals(obj);
          }
          EventOuterClass.Event.TwilightCallNet.CallNetItem other = (EventOuterClass.Event.TwilightCallNet.CallNetItem) obj;

          if (avatarNetStatus_ != other.avatarNetStatus_) return false;
          if (!getAvatarID()
              .equals(other.getAvatarID())) return false;
          if (!getAvatarName()
              .equals(other.getAvatarName())) return false;
          if (getStand()
              != other.getStand()) return false;
          if (getBand()
              != other.getBand()) return false;
          if (java.lang.Double.doubleToLongBits(getPoint())
              != java.lang.Double.doubleToLongBits(
                  other.getPoint())) return false;
          if (java.lang.Double.doubleToLongBits(getHitPoints())
              != java.lang.Double.doubleToLongBits(
                  other.getHitPoints())) return false;
          if (getIsFailed()
              != other.getIsFailed()) return false;
          if (getLastJudged()
              != other.getLastJudged()) return false;
          if (getHitPointsMode()
              != other.getHitPointsMode()) return false;
          if (getTargetPosition()
              != other.getTargetPosition()) return false;
          if (!getDrawingsList()
              .equals(other.getDrawingsList())) return false;
          if (hasDrawingComponent() != other.hasDrawingComponent()) return false;
          if (hasDrawingComponent()) {
            if (!getDrawingComponent()
                .equals(other.getDrawingComponent())) return false;
          }
          if (!getUnknownFields().equals(other.getUnknownFields())) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (37 * hash) + AVATARNETSTATUS_FIELD_NUMBER;
          hash = (53 * hash) + avatarNetStatus_;
          hash = (37 * hash) + AVATARID_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarID().hashCode();
          hash = (37 * hash) + AVATARNAME_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarName().hashCode();
          hash = (37 * hash) + STAND_FIELD_NUMBER;
          hash = (53 * hash) + getStand();
          hash = (37 * hash) + BAND_FIELD_NUMBER;
          hash = (53 * hash) + getBand();
          hash = (37 * hash) + POINT_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              java.lang.Double.doubleToLongBits(getPoint()));
          hash = (37 * hash) + HITPOINTS_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              java.lang.Double.doubleToLongBits(getHitPoints()));
          hash = (37 * hash) + ISFAILED_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
              getIsFailed());
          hash = (37 * hash) + LASTJUDGED_FIELD_NUMBER;
          hash = (53 * hash) + getLastJudged();
          hash = (37 * hash) + HITPOINTSMODE_FIELD_NUMBER;
          hash = (53 * hash) + getHitPointsMode();
          hash = (37 * hash) + TARGETPOSITION_FIELD_NUMBER;
          hash = (53 * hash) + getTargetPosition();
          if (getDrawingsCount() > 0) {
            hash = (37 * hash) + DRAWINGS_FIELD_NUMBER;
            hash = (53 * hash) + getDrawingsList().hashCode();
          }
          if (hasDrawingComponent()) {
            hash = (37 * hash) + DRAWINGCOMPONENT_FIELD_NUMBER;
            hash = (53 * hash) + getDrawingComponent().hashCode();
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem 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 EventOuterClass.Event.TwilightCallNet.CallNetItem parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }

        public static EventOuterClass.Event.TwilightCallNet.CallNetItem 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 EventOuterClass.Event.TwilightCallNet.CallNetItem parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static EventOuterClass.Event.TwilightCallNet.CallNetItem 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(EventOuterClass.Event.TwilightCallNet.CallNetItem prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        @java.lang.Override
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code Event.TwilightCallNet.CallNetItem}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:Event.TwilightCallNet.CallNetItem)
            EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return EventOuterClass.internal_static_Event_TwilightCallNet_CallNetItem_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return EventOuterClass.internal_static_Event_TwilightCallNet_CallNetItem_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    EventOuterClass.Event.TwilightCallNet.CallNetItem.class, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder.class);
          }

          // Construct using EventOuterClass.Event.TwilightCallNet.CallNetItem.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getDrawingsFieldBuilder();
              getDrawingComponentFieldBuilder();
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            avatarNetStatus_ = 0;
            avatarID_ = "";
            avatarName_ = "";
            stand_ = 0;
            band_ = 0;
            point_ = 0D;
            hitPoints_ = 0D;
            isFailed_ = false;
            lastJudged_ = 0;
            hitPointsMode_ = 0;
            targetPosition_ = 0;
            if (drawingsBuilder_ == null) {
              drawings_ = java.util.Collections.emptyList();
            } else {
              drawings_ = null;
              drawingsBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000800);
            drawingComponent_ = null;
            if (drawingComponentBuilder_ != null) {
              drawingComponentBuilder_.dispose();
              drawingComponentBuilder_ = null;
            }
            return this;
          }

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return EventOuterClass.internal_static_Event_TwilightCallNet_CallNetItem_descriptor;
          }

          @java.lang.Override
          public EventOuterClass.Event.TwilightCallNet.CallNetItem getDefaultInstanceForType() {
            return EventOuterClass.Event.TwilightCallNet.CallNetItem.getDefaultInstance();
          }

          @java.lang.Override
          public EventOuterClass.Event.TwilightCallNet.CallNetItem build() {
            EventOuterClass.Event.TwilightCallNet.CallNetItem result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public EventOuterClass.Event.TwilightCallNet.CallNetItem buildPartial() {
            EventOuterClass.Event.TwilightCallNet.CallNetItem result = new EventOuterClass.Event.TwilightCallNet.CallNetItem(this);
            buildPartialRepeatedFields(result);
            if (bitField0_ != 0) { buildPartial0(result); }
            onBuilt();
            return result;
          }

          private void buildPartialRepeatedFields(EventOuterClass.Event.TwilightCallNet.CallNetItem result) {
            if (drawingsBuilder_ == null) {
              if (((bitField0_ & 0x00000800) != 0)) {
                drawings_ = java.util.Collections.unmodifiableList(drawings_);
                bitField0_ = (bitField0_ & ~0x00000800);
              }
              result.drawings_ = drawings_;
            } else {
              result.drawings_ = drawingsBuilder_.build();
            }
          }

          private void buildPartial0(EventOuterClass.Event.TwilightCallNet.CallNetItem result) {
            int from_bitField0_ = bitField0_;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.avatarNetStatus_ = avatarNetStatus_;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.avatarID_ = avatarID_;
            }
            if (((from_bitField0_ & 0x00000004) != 0)) {
              result.avatarName_ = avatarName_;
            }
            if (((from_bitField0_ & 0x00000008) != 0)) {
              result.stand_ = stand_;
            }
            if (((from_bitField0_ & 0x00000010) != 0)) {
              result.band_ = band_;
            }
            if (((from_bitField0_ & 0x00000020) != 0)) {
              result.point_ = point_;
            }
            if (((from_bitField0_ & 0x00000040) != 0)) {
              result.hitPoints_ = hitPoints_;
            }
            if (((from_bitField0_ & 0x00000080) != 0)) {
              result.isFailed_ = isFailed_;
            }
            if (((from_bitField0_ & 0x00000100) != 0)) {
              result.lastJudged_ = lastJudged_;
            }
            if (((from_bitField0_ & 0x00000200) != 0)) {
              result.hitPointsMode_ = hitPointsMode_;
            }
            if (((from_bitField0_ & 0x00000400) != 0)) {
              result.targetPosition_ = targetPosition_;
            }
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00001000) != 0)) {
              result.drawingComponent_ = drawingComponentBuilder_ == null
                  ? drawingComponent_
                  : drawingComponentBuilder_.build();
              to_bitField0_ |= 0x00000001;
            }
            result.bitField0_ |= to_bitField0_;
          }

          @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 EventOuterClass.Event.TwilightCallNet.CallNetItem) {
              return mergeFrom((EventOuterClass.Event.TwilightCallNet.CallNetItem)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(EventOuterClass.Event.TwilightCallNet.CallNetItem other) {
            if (other == EventOuterClass.Event.TwilightCallNet.CallNetItem.getDefaultInstance()) return this;
            if (other.avatarNetStatus_ != 0) {
              setAvatarNetStatusValue(other.getAvatarNetStatusValue());
            }
            if (!other.getAvatarID().isEmpty()) {
              avatarID_ = other.avatarID_;
              bitField0_ |= 0x00000002;
              onChanged();
            }
            if (!other.getAvatarName().isEmpty()) {
              avatarName_ = other.avatarName_;
              bitField0_ |= 0x00000004;
              onChanged();
            }
            if (other.getStand() != 0) {
              setStand(other.getStand());
            }
            if (other.getBand() != 0) {
              setBand(other.getBand());
            }
            if (other.getPoint() != 0D) {
              setPoint(other.getPoint());
            }
            if (other.getHitPoints() != 0D) {
              setHitPoints(other.getHitPoints());
            }
            if (other.getIsFailed() != false) {
              setIsFailed(other.getIsFailed());
            }
            if (other.getLastJudged() != 0) {
              setLastJudged(other.getLastJudged());
            }
            if (other.getHitPointsMode() != 0) {
              setHitPointsMode(other.getHitPointsMode());
            }
            if (other.getTargetPosition() != 0) {
              setTargetPosition(other.getTargetPosition());
            }
            if (drawingsBuilder_ == null) {
              if (!other.drawings_.isEmpty()) {
                if (drawings_.isEmpty()) {
                  drawings_ = other.drawings_;
                  bitField0_ = (bitField0_ & ~0x00000800);
                } else {
                  ensureDrawingsIsMutable();
                  drawings_.addAll(other.drawings_);
                }
                onChanged();
              }
            } else {
              if (!other.drawings_.isEmpty()) {
                if (drawingsBuilder_.isEmpty()) {
                  drawingsBuilder_.dispose();
                  drawingsBuilder_ = null;
                  drawings_ = other.drawings_;
                  bitField0_ = (bitField0_ & ~0x00000800);
                  drawingsBuilder_ = 
                    com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                       getDrawingsFieldBuilder() : null;
                } else {
                  drawingsBuilder_.addAllMessages(other.drawings_);
                }
              }
            }
            if (other.hasDrawingComponent()) {
              mergeDrawingComponent(other.getDrawingComponent());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            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 {
            if (extensionRegistry == null) {
              throw new java.lang.NullPointerException();
            }
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  case 8: {
                    avatarNetStatus_ = input.readEnum();
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 8
                  case 18: {
                    avatarID_ = input.readStringRequireUtf8();
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                  case 26: {
                    avatarName_ = input.readStringRequireUtf8();
                    bitField0_ |= 0x00000004;
                    break;
                  } // case 26
                  case 32: {
                    stand_ = input.readInt32();
                    bitField0_ |= 0x00000008;
                    break;
                  } // case 32
                  case 40: {
                    band_ = input.readInt32();
                    bitField0_ |= 0x00000010;
                    break;
                  } // case 40
                  case 49: {
                    point_ = input.readDouble();
                    bitField0_ |= 0x00000020;
                    break;
                  } // case 49
                  case 57: {
                    hitPoints_ = input.readDouble();
                    bitField0_ |= 0x00000040;
                    break;
                  } // case 57
                  case 64: {
                    isFailed_ = input.readBool();
                    bitField0_ |= 0x00000080;
                    break;
                  } // case 64
                  case 72: {
                    lastJudged_ = input.readInt32();
                    bitField0_ |= 0x00000100;
                    break;
                  } // case 72
                  case 80: {
                    hitPointsMode_ = input.readInt32();
                    bitField0_ |= 0x00000200;
                    break;
                  } // case 80
                  case 88: {
                    targetPosition_ = input.readInt32();
                    bitField0_ |= 0x00000400;
                    break;
                  } // case 88
                  case 98: {
                    EventOuterClass.Event.NetDrawing m =
                        input.readMessage(
                            EventOuterClass.Event.NetDrawing.parser(),
                            extensionRegistry);
                    if (drawingsBuilder_ == null) {
                      ensureDrawingsIsMutable();
                      drawings_.add(m);
                    } else {
                      drawingsBuilder_.addMessage(m);
                    }
                    break;
                  } // case 98
                  case 106: {
                    input.readMessage(
                        getDrawingComponentFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00001000;
                    break;
                  } // case 106
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          private int bitField0_;

          private int avatarNetStatus_ = 0;
          /**
           * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
           * @return The enum numeric value on the wire for avatarNetStatus.
           */
          @java.lang.Override public int getAvatarNetStatusValue() {
            return avatarNetStatus_;
          }
          /**
           * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
           * @param value The enum numeric value on the wire for avatarNetStatus to set.
           * @return This builder for chaining.
           */
          public Builder setAvatarNetStatusValue(int value) {
            avatarNetStatus_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
           * @return The avatarNetStatus.
           */
          @java.lang.Override
          public EventOuterClass.Event.AvatarNetStatus getAvatarNetStatus() {
            EventOuterClass.Event.AvatarNetStatus result = EventOuterClass.Event.AvatarNetStatus.forNumber(avatarNetStatus_);
            return result == null ? EventOuterClass.Event.AvatarNetStatus.UNRECOGNIZED : result;
          }
          /**
           * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
           * @param value The avatarNetStatus to set.
           * @return This builder for chaining.
           */
          public Builder setAvatarNetStatus(EventOuterClass.Event.AvatarNetStatus value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            avatarNetStatus_ = value.getNumber();
            onChanged();
            return this;
          }
          /**
           * <code>.Event.AvatarNetStatus avatarNetStatus = 1;</code>
           * @return This builder for chaining.
           */
          public Builder clearAvatarNetStatus() {
            bitField0_ = (bitField0_ & ~0x00000001);
            avatarNetStatus_ = 0;
            onChanged();
            return this;
          }

          private java.lang.Object avatarID_ = "";
          /**
           * <code>string avatarID = 2;</code>
           * @return The avatarID.
           */
          public java.lang.String getAvatarID() {
            java.lang.Object ref = avatarID_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              avatarID_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>string avatarID = 2;</code>
           * @return The bytes for avatarID.
           */
          public com.google.protobuf.ByteString
              getAvatarIDBytes() {
            java.lang.Object ref = avatarID_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              avatarID_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <code>string avatarID = 2;</code>
           * @param value The avatarID to set.
           * @return This builder for chaining.
           */
          public Builder setAvatarID(
              java.lang.String value) {
            if (value == null) { throw new NullPointerException(); }
            avatarID_ = value;
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>string avatarID = 2;</code>
           * @return This builder for chaining.
           */
          public Builder clearAvatarID() {
            avatarID_ = getDefaultInstance().getAvatarID();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
            return this;
          }
          /**
           * <code>string avatarID = 2;</code>
           * @param value The bytes for avatarID to set.
           * @return This builder for chaining.
           */
          public Builder setAvatarIDBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            checkByteStringIsUtf8(value);
            avatarID_ = value;
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }

          private java.lang.Object avatarName_ = "";
          /**
           * <code>string avatarName = 3;</code>
           * @return The avatarName.
           */
          public java.lang.String getAvatarName() {
            java.lang.Object ref = avatarName_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              avatarName_ = s;
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>string avatarName = 3;</code>
           * @return The bytes for avatarName.
           */
          public com.google.protobuf.ByteString
              getAvatarNameBytes() {
            java.lang.Object ref = avatarName_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              avatarName_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <code>string avatarName = 3;</code>
           * @param value The avatarName to set.
           * @return This builder for chaining.
           */
          public Builder setAvatarName(
              java.lang.String value) {
            if (value == null) { throw new NullPointerException(); }
            avatarName_ = value;
            bitField0_ |= 0x00000004;
            onChanged();
            return this;
          }
          /**
           * <code>string avatarName = 3;</code>
           * @return This builder for chaining.
           */
          public Builder clearAvatarName() {
            avatarName_ = getDefaultInstance().getAvatarName();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
            return this;
          }
          /**
           * <code>string avatarName = 3;</code>
           * @param value The bytes for avatarName to set.
           * @return This builder for chaining.
           */
          public Builder setAvatarNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            checkByteStringIsUtf8(value);
            avatarName_ = value;
            bitField0_ |= 0x00000004;
            onChanged();
            return this;
          }

          private int stand_ ;
          /**
           * <code>int32 stand = 4;</code>
           * @return The stand.
           */
          @java.lang.Override
          public int getStand() {
            return stand_;
          }
          /**
           * <code>int32 stand = 4;</code>
           * @param value The stand to set.
           * @return This builder for chaining.
           */
          public Builder setStand(int value) {

            stand_ = value;
            bitField0_ |= 0x00000008;
            onChanged();
            return this;
          }
          /**
           * <code>int32 stand = 4;</code>
           * @return This builder for chaining.
           */
          public Builder clearStand() {
            bitField0_ = (bitField0_ & ~0x00000008);
            stand_ = 0;
            onChanged();
            return this;
          }

          private int band_ ;
          /**
           * <code>int32 band = 5;</code>
           * @return The band.
           */
          @java.lang.Override
          public int getBand() {
            return band_;
          }
          /**
           * <code>int32 band = 5;</code>
           * @param value The band to set.
           * @return This builder for chaining.
           */
          public Builder setBand(int value) {

            band_ = value;
            bitField0_ |= 0x00000010;
            onChanged();
            return this;
          }
          /**
           * <code>int32 band = 5;</code>
           * @return This builder for chaining.
           */
          public Builder clearBand() {
            bitField0_ = (bitField0_ & ~0x00000010);
            band_ = 0;
            onChanged();
            return this;
          }

          private double point_ ;
          /**
           * <code>double point = 6;</code>
           * @return The point.
           */
          @java.lang.Override
          public double getPoint() {
            return point_;
          }
          /**
           * <code>double point = 6;</code>
           * @param value The point to set.
           * @return This builder for chaining.
           */
          public Builder setPoint(double value) {

            point_ = value;
            bitField0_ |= 0x00000020;
            onChanged();
            return this;
          }
          /**
           * <code>double point = 6;</code>
           * @return This builder for chaining.
           */
          public Builder clearPoint() {
            bitField0_ = (bitField0_ & ~0x00000020);
            point_ = 0D;
            onChanged();
            return this;
          }

          private double hitPoints_ ;
          /**
           * <code>double hitPoints = 7;</code>
           * @return The hitPoints.
           */
          @java.lang.Override
          public double getHitPoints() {
            return hitPoints_;
          }
          /**
           * <code>double hitPoints = 7;</code>
           * @param value The hitPoints to set.
           * @return This builder for chaining.
           */
          public Builder setHitPoints(double value) {

            hitPoints_ = value;
            bitField0_ |= 0x00000040;
            onChanged();
            return this;
          }
          /**
           * <code>double hitPoints = 7;</code>
           * @return This builder for chaining.
           */
          public Builder clearHitPoints() {
            bitField0_ = (bitField0_ & ~0x00000040);
            hitPoints_ = 0D;
            onChanged();
            return this;
          }

          private boolean isFailed_ ;
          /**
           * <code>bool isFailed = 8;</code>
           * @return The isFailed.
           */
          @java.lang.Override
          public boolean getIsFailed() {
            return isFailed_;
          }
          /**
           * <code>bool isFailed = 8;</code>
           * @param value The isFailed to set.
           * @return This builder for chaining.
           */
          public Builder setIsFailed(boolean value) {

            isFailed_ = value;
            bitField0_ |= 0x00000080;
            onChanged();
            return this;
          }
          /**
           * <code>bool isFailed = 8;</code>
           * @return This builder for chaining.
           */
          public Builder clearIsFailed() {
            bitField0_ = (bitField0_ & ~0x00000080);
            isFailed_ = false;
            onChanged();
            return this;
          }

          private int lastJudged_ ;
          /**
           * <code>int32 lastJudged = 9;</code>
           * @return The lastJudged.
           */
          @java.lang.Override
          public int getLastJudged() {
            return lastJudged_;
          }
          /**
           * <code>int32 lastJudged = 9;</code>
           * @param value The lastJudged to set.
           * @return This builder for chaining.
           */
          public Builder setLastJudged(int value) {

            lastJudged_ = value;
            bitField0_ |= 0x00000100;
            onChanged();
            return this;
          }
          /**
           * <code>int32 lastJudged = 9;</code>
           * @return This builder for chaining.
           */
          public Builder clearLastJudged() {
            bitField0_ = (bitField0_ & ~0x00000100);
            lastJudged_ = 0;
            onChanged();
            return this;
          }

          private int hitPointsMode_ ;
          /**
           * <code>int32 hitPointsMode = 10;</code>
           * @return The hitPointsMode.
           */
          @java.lang.Override
          public int getHitPointsMode() {
            return hitPointsMode_;
          }
          /**
           * <code>int32 hitPointsMode = 10;</code>
           * @param value The hitPointsMode to set.
           * @return This builder for chaining.
           */
          public Builder setHitPointsMode(int value) {

            hitPointsMode_ = value;
            bitField0_ |= 0x00000200;
            onChanged();
            return this;
          }
          /**
           * <code>int32 hitPointsMode = 10;</code>
           * @return This builder for chaining.
           */
          public Builder clearHitPointsMode() {
            bitField0_ = (bitField0_ & ~0x00000200);
            hitPointsMode_ = 0;
            onChanged();
            return this;
          }

          private int targetPosition_ ;
          /**
           * <code>int32 targetPosition = 11;</code>
           * @return The targetPosition.
           */
          @java.lang.Override
          public int getTargetPosition() {
            return targetPosition_;
          }
          /**
           * <code>int32 targetPosition = 11;</code>
           * @param value The targetPosition to set.
           * @return This builder for chaining.
           */
          public Builder setTargetPosition(int value) {

            targetPosition_ = value;
            bitField0_ |= 0x00000400;
            onChanged();
            return this;
          }
          /**
           * <code>int32 targetPosition = 11;</code>
           * @return This builder for chaining.
           */
          public Builder clearTargetPosition() {
            bitField0_ = (bitField0_ & ~0x00000400);
            targetPosition_ = 0;
            onChanged();
            return this;
          }

          private java.util.List<EventOuterClass.Event.NetDrawing> drawings_ =
            java.util.Collections.emptyList();
          private void ensureDrawingsIsMutable() {
            if (!((bitField0_ & 0x00000800) != 0)) {
              drawings_ = new java.util.ArrayList<EventOuterClass.Event.NetDrawing>(drawings_);
              bitField0_ |= 0x00000800;
             }
          }

          private com.google.protobuf.RepeatedFieldBuilderV3<
              EventOuterClass.Event.NetDrawing, EventOuterClass.Event.NetDrawing.Builder, EventOuterClass.Event.NetDrawingOrBuilder> drawingsBuilder_;

          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public java.util.List<EventOuterClass.Event.NetDrawing> getDrawingsList() {
            if (drawingsBuilder_ == null) {
              return java.util.Collections.unmodifiableList(drawings_);
            } else {
              return drawingsBuilder_.getMessageList();
            }
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public int getDrawingsCount() {
            if (drawingsBuilder_ == null) {
              return drawings_.size();
            } else {
              return drawingsBuilder_.getCount();
            }
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public EventOuterClass.Event.NetDrawing getDrawings(int index) {
            if (drawingsBuilder_ == null) {
              return drawings_.get(index);
            } else {
              return drawingsBuilder_.getMessage(index);
            }
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder setDrawings(
              int index, EventOuterClass.Event.NetDrawing value) {
            if (drawingsBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureDrawingsIsMutable();
              drawings_.set(index, value);
              onChanged();
            } else {
              drawingsBuilder_.setMessage(index, value);
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder setDrawings(
              int index, EventOuterClass.Event.NetDrawing.Builder builderForValue) {
            if (drawingsBuilder_ == null) {
              ensureDrawingsIsMutable();
              drawings_.set(index, builderForValue.build());
              onChanged();
            } else {
              drawingsBuilder_.setMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder addDrawings(EventOuterClass.Event.NetDrawing value) {
            if (drawingsBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureDrawingsIsMutable();
              drawings_.add(value);
              onChanged();
            } else {
              drawingsBuilder_.addMessage(value);
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder addDrawings(
              int index, EventOuterClass.Event.NetDrawing value) {
            if (drawingsBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureDrawingsIsMutable();
              drawings_.add(index, value);
              onChanged();
            } else {
              drawingsBuilder_.addMessage(index, value);
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder addDrawings(
              EventOuterClass.Event.NetDrawing.Builder builderForValue) {
            if (drawingsBuilder_ == null) {
              ensureDrawingsIsMutable();
              drawings_.add(builderForValue.build());
              onChanged();
            } else {
              drawingsBuilder_.addMessage(builderForValue.build());
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder addDrawings(
              int index, EventOuterClass.Event.NetDrawing.Builder builderForValue) {
            if (drawingsBuilder_ == null) {
              ensureDrawingsIsMutable();
              drawings_.add(index, builderForValue.build());
              onChanged();
            } else {
              drawingsBuilder_.addMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder addAllDrawings(
              java.lang.Iterable<? extends EventOuterClass.Event.NetDrawing> values) {
            if (drawingsBuilder_ == null) {
              ensureDrawingsIsMutable();
              com.google.protobuf.AbstractMessageLite.Builder.addAll(
                  values, drawings_);
              onChanged();
            } else {
              drawingsBuilder_.addAllMessages(values);
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder clearDrawings() {
            if (drawingsBuilder_ == null) {
              drawings_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000800);
              onChanged();
            } else {
              drawingsBuilder_.clear();
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public Builder removeDrawings(int index) {
            if (drawingsBuilder_ == null) {
              ensureDrawingsIsMutable();
              drawings_.remove(index);
              onChanged();
            } else {
              drawingsBuilder_.remove(index);
            }
            return this;
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public EventOuterClass.Event.NetDrawing.Builder getDrawingsBuilder(
              int index) {
            return getDrawingsFieldBuilder().getBuilder(index);
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public EventOuterClass.Event.NetDrawingOrBuilder getDrawingsOrBuilder(
              int index) {
            if (drawingsBuilder_ == null) {
              return drawings_.get(index);  } else {
              return drawingsBuilder_.getMessageOrBuilder(index);
            }
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public java.util.List<? extends EventOuterClass.Event.NetDrawingOrBuilder> 
               getDrawingsOrBuilderList() {
            if (drawingsBuilder_ != null) {
              return drawingsBuilder_.getMessageOrBuilderList();
            } else {
              return java.util.Collections.unmodifiableList(drawings_);
            }
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public EventOuterClass.Event.NetDrawing.Builder addDrawingsBuilder() {
            return getDrawingsFieldBuilder().addBuilder(
                EventOuterClass.Event.NetDrawing.getDefaultInstance());
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public EventOuterClass.Event.NetDrawing.Builder addDrawingsBuilder(
              int index) {
            return getDrawingsFieldBuilder().addBuilder(
                index, EventOuterClass.Event.NetDrawing.getDefaultInstance());
          }
          /**
           * <code>repeated .Event.NetDrawing drawings = 12;</code>
           */
          public java.util.List<EventOuterClass.Event.NetDrawing.Builder> 
               getDrawingsBuilderList() {
            return getDrawingsFieldBuilder().getBuilderList();
          }
          private com.google.protobuf.RepeatedFieldBuilderV3<
              EventOuterClass.Event.NetDrawing, EventOuterClass.Event.NetDrawing.Builder, EventOuterClass.Event.NetDrawingOrBuilder> 
              getDrawingsFieldBuilder() {
            if (drawingsBuilder_ == null) {
              drawingsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                  EventOuterClass.Event.NetDrawing, EventOuterClass.Event.NetDrawing.Builder, EventOuterClass.Event.NetDrawingOrBuilder>(
                      drawings_,
                      ((bitField0_ & 0x00000800) != 0),
                      getParentForChildren(),
                      isClean());
              drawings_ = null;
            }
            return drawingsBuilder_;
          }

          private EventOuterClass.Event.DrawingComponent drawingComponent_;
          private com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.DrawingComponent, EventOuterClass.Event.DrawingComponent.Builder, EventOuterClass.Event.DrawingComponentOrBuilder> drawingComponentBuilder_;
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           * @return Whether the drawingComponent field is set.
           */
          public boolean hasDrawingComponent() {
            return ((bitField0_ & 0x00001000) != 0);
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           * @return The drawingComponent.
           */
          public EventOuterClass.Event.DrawingComponent getDrawingComponent() {
            if (drawingComponentBuilder_ == null) {
              return drawingComponent_ == null ? EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
            } else {
              return drawingComponentBuilder_.getMessage();
            }
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          public Builder setDrawingComponent(EventOuterClass.Event.DrawingComponent value) {
            if (drawingComponentBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              drawingComponent_ = value;
            } else {
              drawingComponentBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00001000;
            onChanged();
            return this;
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          public Builder setDrawingComponent(
              EventOuterClass.Event.DrawingComponent.Builder builderForValue) {
            if (drawingComponentBuilder_ == null) {
              drawingComponent_ = builderForValue.build();
            } else {
              drawingComponentBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00001000;
            onChanged();
            return this;
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          public Builder mergeDrawingComponent(EventOuterClass.Event.DrawingComponent value) {
            if (drawingComponentBuilder_ == null) {
              if (((bitField0_ & 0x00001000) != 0) &&
                drawingComponent_ != null &&
                drawingComponent_ != EventOuterClass.Event.DrawingComponent.getDefaultInstance()) {
                getDrawingComponentBuilder().mergeFrom(value);
              } else {
                drawingComponent_ = value;
              }
            } else {
              drawingComponentBuilder_.mergeFrom(value);
            }
            if (drawingComponent_ != null) {
              bitField0_ |= 0x00001000;
              onChanged();
            }
            return this;
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          public Builder clearDrawingComponent() {
            bitField0_ = (bitField0_ & ~0x00001000);
            drawingComponent_ = null;
            if (drawingComponentBuilder_ != null) {
              drawingComponentBuilder_.dispose();
              drawingComponentBuilder_ = null;
            }
            onChanged();
            return this;
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          public EventOuterClass.Event.DrawingComponent.Builder getDrawingComponentBuilder() {
            bitField0_ |= 0x00001000;
            onChanged();
            return getDrawingComponentFieldBuilder().getBuilder();
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          public EventOuterClass.Event.DrawingComponentOrBuilder getDrawingComponentOrBuilder() {
            if (drawingComponentBuilder_ != null) {
              return drawingComponentBuilder_.getMessageOrBuilder();
            } else {
              return drawingComponent_ == null ?
                  EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
            }
          }
          /**
           * <code>.Event.DrawingComponent drawingComponent = 13;</code>
           */
          private com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.DrawingComponent, EventOuterClass.Event.DrawingComponent.Builder, EventOuterClass.Event.DrawingComponentOrBuilder> 
              getDrawingComponentFieldBuilder() {
            if (drawingComponentBuilder_ == null) {
              drawingComponentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                  EventOuterClass.Event.DrawingComponent, EventOuterClass.Event.DrawingComponent.Builder, EventOuterClass.Event.DrawingComponentOrBuilder>(
                      getDrawingComponent(),
                      getParentForChildren(),
                      isClean());
              drawingComponent_ = null;
            }
            return drawingComponentBuilder_;
          }
          @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:Event.TwilightCallNet.CallNetItem)
        }

        // @@protoc_insertion_point(class_scope:Event.TwilightCallNet.CallNetItem)
        private static final EventOuterClass.Event.TwilightCallNet.CallNetItem DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightCallNet.CallNetItem();
        }

        public static EventOuterClass.Event.TwilightCallNet.CallNetItem getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<CallNetItem>
            PARSER = new com.google.protobuf.AbstractParser<CallNetItem>() {
          @java.lang.Override
          public CallNetItem parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (com.google.protobuf.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };

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

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

        @java.lang.Override
        public EventOuterClass.Event.TwilightCallNet.CallNetItem getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int DATA_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List<EventOuterClass.Event.TwilightCallNet.CallNetItem> data_;
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      @java.lang.Override
      public java.util.List<EventOuterClass.Event.TwilightCallNet.CallNetItem> getDataList() {
        return data_;
      }
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      @java.lang.Override
      public java.util.List<? extends EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder> 
          getDataOrBuilderList() {
        return data_;
      }
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      @java.lang.Override
      public int getDataCount() {
        return data_.size();
      }
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightCallNet.CallNetItem getData(int index) {
        return data_.get(index);
      }
      /**
       * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder getDataOrBuilder(
          int index) {
        return data_.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 {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        for (int i = 0; i < data_.size(); i++) {
          output.writeMessage(2, data_.get(i));
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        for (int i = 0; i < data_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, data_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightCallNet)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightCallNet other = (EventOuterClass.Event.TwilightCallNet) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (!getDataList()
            .equals(other.getDataList())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        if (getDataCount() > 0) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getDataList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightCallNet parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightCallNet parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightCallNet parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightCallNet parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightCallNet parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightCallNet parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightCallNet parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightCallNet 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 EventOuterClass.Event.TwilightCallNet parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightCallNet 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 EventOuterClass.Event.TwilightCallNet parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightCallNet 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(EventOuterClass.Event.TwilightCallNet prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightCallNet}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightCallNet)
          EventOuterClass.Event.TwilightCallNetOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightCallNet_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightCallNet_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightCallNet.class, EventOuterClass.Event.TwilightCallNet.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightCallNet.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          if (dataBuilder_ == null) {
            data_ = java.util.Collections.emptyList();
          } else {
            data_ = null;
            dataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightCallNet_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightCallNet getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightCallNet build() {
          EventOuterClass.Event.TwilightCallNet result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightCallNet buildPartial() {
          EventOuterClass.Event.TwilightCallNet result = new EventOuterClass.Event.TwilightCallNet(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartialRepeatedFields(EventOuterClass.Event.TwilightCallNet result) {
          if (dataBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              data_ = java.util.Collections.unmodifiableList(data_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.data_ = data_;
          } else {
            result.data_ = dataBuilder_.build();
          }
        }

        private void buildPartial0(EventOuterClass.Event.TwilightCallNet result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
        }

        @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 EventOuterClass.Event.TwilightCallNet) {
            return mergeFrom((EventOuterClass.Event.TwilightCallNet)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightCallNet other) {
          if (other == EventOuterClass.Event.TwilightCallNet.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (dataBuilder_ == null) {
            if (!other.data_.isEmpty()) {
              if (data_.isEmpty()) {
                data_ = other.data_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureDataIsMutable();
                data_.addAll(other.data_);
              }
              onChanged();
            }
          } else {
            if (!other.data_.isEmpty()) {
              if (dataBuilder_.isEmpty()) {
                dataBuilder_.dispose();
                dataBuilder_ = null;
                data_ = other.data_;
                bitField0_ = (bitField0_ & ~0x00000002);
                dataBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getDataFieldBuilder() : null;
              } else {
                dataBuilder_.addAllMessages(other.data_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  EventOuterClass.Event.TwilightCallNet.CallNetItem m =
                      input.readMessage(
                          EventOuterClass.Event.TwilightCallNet.CallNetItem.parser(),
                          extensionRegistry);
                  if (dataBuilder_ == null) {
                    ensureDataIsMutable();
                    data_.add(m);
                  } else {
                    dataBuilder_.addMessage(m);
                  }
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.util.List<EventOuterClass.Event.TwilightCallNet.CallNetItem> data_ =
          java.util.Collections.emptyList();
        private void ensureDataIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            data_ = new java.util.ArrayList<EventOuterClass.Event.TwilightCallNet.CallNetItem>(data_);
            bitField0_ |= 0x00000002;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            EventOuterClass.Event.TwilightCallNet.CallNetItem, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder, EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder> dataBuilder_;

        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public java.util.List<EventOuterClass.Event.TwilightCallNet.CallNetItem> getDataList() {
          if (dataBuilder_ == null) {
            return java.util.Collections.unmodifiableList(data_);
          } else {
            return dataBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public int getDataCount() {
          if (dataBuilder_ == null) {
            return data_.size();
          } else {
            return dataBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public EventOuterClass.Event.TwilightCallNet.CallNetItem getData(int index) {
          if (dataBuilder_ == null) {
            return data_.get(index);
          } else {
            return dataBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder setData(
            int index, EventOuterClass.Event.TwilightCallNet.CallNetItem value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDataIsMutable();
            data_.set(index, value);
            onChanged();
          } else {
            dataBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder setData(
            int index, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder builderForValue) {
          if (dataBuilder_ == null) {
            ensureDataIsMutable();
            data_.set(index, builderForValue.build());
            onChanged();
          } else {
            dataBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder addData(EventOuterClass.Event.TwilightCallNet.CallNetItem value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDataIsMutable();
            data_.add(value);
            onChanged();
          } else {
            dataBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder addData(
            int index, EventOuterClass.Event.TwilightCallNet.CallNetItem value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDataIsMutable();
            data_.add(index, value);
            onChanged();
          } else {
            dataBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder addData(
            EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder builderForValue) {
          if (dataBuilder_ == null) {
            ensureDataIsMutable();
            data_.add(builderForValue.build());
            onChanged();
          } else {
            dataBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder addData(
            int index, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder builderForValue) {
          if (dataBuilder_ == null) {
            ensureDataIsMutable();
            data_.add(index, builderForValue.build());
            onChanged();
          } else {
            dataBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder addAllData(
            java.lang.Iterable<? extends EventOuterClass.Event.TwilightCallNet.CallNetItem> values) {
          if (dataBuilder_ == null) {
            ensureDataIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, data_);
            onChanged();
          } else {
            dataBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder clearData() {
          if (dataBuilder_ == null) {
            data_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            dataBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public Builder removeData(int index) {
          if (dataBuilder_ == null) {
            ensureDataIsMutable();
            data_.remove(index);
            onChanged();
          } else {
            dataBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder getDataBuilder(
            int index) {
          return getDataFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder getDataOrBuilder(
            int index) {
          if (dataBuilder_ == null) {
            return data_.get(index);  } else {
            return dataBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public java.util.List<? extends EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder> 
             getDataOrBuilderList() {
          if (dataBuilder_ != null) {
            return dataBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(data_);
          }
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder addDataBuilder() {
          return getDataFieldBuilder().addBuilder(
              EventOuterClass.Event.TwilightCallNet.CallNetItem.getDefaultInstance());
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder addDataBuilder(
            int index) {
          return getDataFieldBuilder().addBuilder(
              index, EventOuterClass.Event.TwilightCallNet.CallNetItem.getDefaultInstance());
        }
        /**
         * <code>repeated .Event.TwilightCallNet.CallNetItem data = 2;</code>
         */
        public java.util.List<EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder> 
             getDataBuilderList() {
          return getDataFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            EventOuterClass.Event.TwilightCallNet.CallNetItem, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder, EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder> 
            getDataFieldBuilder() {
          if (dataBuilder_ == null) {
            dataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                EventOuterClass.Event.TwilightCallNet.CallNetItem, EventOuterClass.Event.TwilightCallNet.CallNetItem.Builder, EventOuterClass.Event.TwilightCallNet.CallNetItemOrBuilder>(
                    data_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            data_ = null;
          }
          return dataBuilder_;
        }
        @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:Event.TwilightCallNet)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightCallNet)
      private static final EventOuterClass.Event.TwilightCallNet DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightCallNet();
      }

      public static EventOuterClass.Event.TwilightCallNet getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightCallNet>
          PARSER = new com.google.protobuf.AbstractParser<TwilightCallNet>() {
        @java.lang.Override
        public TwilightCallNet parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightCallNet getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightCallNetOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightCallNet)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string siteID = 1;</code>
       * @return The siteID.
       */
      java.lang.String getSiteID();
      /**
       * <code>string siteID = 1;</code>
       * @return The bytes for siteID.
       */
      com.google.protobuf.ByteString
          getSiteIDBytes();

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
       * @return The enum numeric value on the wire for avatarNetStatus.
       */
      int getAvatarNetStatusValue();
      /**
       * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
       * @return The avatarNetStatus.
       */
      EventOuterClass.Event.AvatarNetStatus getAvatarNetStatus();

      /**
       * <code>int32 stand = 4;</code>
       * @return The stand.
       */
      int getStand();

      /**
       * <code>int32 highestBand = 5;</code>
       * @return The highestBand.
       */
      int getHighestBand();

      /**
       * <code>double point = 6;</code>
       * @return The point.
       */
      double getPoint();

      /**
       * <code>double hitPoints = 7;</code>
       * @return The hitPoints.
       */
      double getHitPoints();

      /**
       * <code>bool isFailed = 8;</code>
       * @return The isFailed.
       */
      boolean getIsFailed();

      /**
       * <code>int32 lastJudged = 9;</code>
       * @return The lastJudged.
       */
      int getLastJudged();

      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      java.util.List<EventOuterClass.Event.NetDrawing> 
          getDrawingsList();
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      EventOuterClass.Event.NetDrawing getDrawings(int index);
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      int getDrawingsCount();
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      java.util.List<? extends EventOuterClass.Event.NetDrawingOrBuilder> 
          getDrawingsOrBuilderList();
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      EventOuterClass.Event.NetDrawingOrBuilder getDrawingsOrBuilder(
          int index);

      /**
       * <code>.Event.DrawingComponent drawingComponent = 11;</code>
       * @return Whether the drawingComponent field is set.
       */
      boolean hasDrawingComponent();
      /**
       * <code>.Event.DrawingComponent drawingComponent = 11;</code>
       * @return The drawingComponent.
       */
      EventOuterClass.Event.DrawingComponent getDrawingComponent();
      /**
       * <code>.Event.DrawingComponent drawingComponent = 11;</code>
       */
      EventOuterClass.Event.DrawingComponentOrBuilder getDrawingComponentOrBuilder();

      /**
       * <code>string title = 12;</code>
       * @return The title.
       */
      java.lang.String getTitle();
      /**
       * <code>string title = 12;</code>
       * @return The bytes for title.
       */
      com.google.protobuf.ByteString
          getTitleBytes();

      /**
       * <code>string artist = 13;</code>
       * @return The artist.
       */
      java.lang.String getArtist();
      /**
       * <code>string artist = 13;</code>
       * @return The bytes for artist.
       */
      com.google.protobuf.ByteString
          getArtistBytes();

      /**
       * <code>string genre = 14;</code>
       * @return The genre.
       */
      java.lang.String getGenre();
      /**
       * <code>string genre = 14;</code>
       * @return The bytes for genre.
       */
      com.google.protobuf.ByteString
          getGenreBytes();

      /**
       * <code>int32 level = 15;</code>
       * @return The level.
       */
      int getLevel();

      /**
       * <code>string levelText = 16;</code>
       * @return The levelText.
       */
      java.lang.String getLevelText();
      /**
       * <code>string levelText = 16;</code>
       * @return The bytes for levelText.
       */
      com.google.protobuf.ByteString
          getLevelTextBytes();

      /**
       * <code>string wantLevelID = 17;</code>
       * @return The wantLevelID.
       */
      java.lang.String getWantLevelID();
      /**
       * <code>string wantLevelID = 17;</code>
       * @return The bytes for wantLevelID.
       */
      com.google.protobuf.ByteString
          getWantLevelIDBytes();

      /**
       * <code>int32 autoMode = 18;</code>
       * @return The autoMode.
       */
      int getAutoMode();

      /**
       * <code>int32 noteSaltMode = 19;</code>
       * @return The noteSaltMode.
       */
      int getNoteSaltMode();

      /**
       * <code>double audioMultiplier = 20;</code>
       * @return The audioMultiplier.
       */
      double getAudioMultiplier();

      /**
       * <code>int32 faintNoteMode = 21;</code>
       * @return The faintNoteMode.
       */
      int getFaintNoteMode();

      /**
       * <code>int32 judgmentMode = 22;</code>
       * @return The judgmentMode.
       */
      int getJudgmentMode();

      /**
       * <code>int32 hitPointsMode = 23;</code>
       * @return The hitPointsMode.
       */
      int getHitPointsMode();

      /**
       * <code>int32 noteMobilityMode = 24;</code>
       * @return The noteMobilityMode.
       */
      int getNoteMobilityMode();

      /**
       * <code>int32 longNoteMode = 25;</code>
       * @return The longNoteMode.
       */
      int getLongNoteMode();

      /**
       * <code>int32 inputFavorMode = 26;</code>
       * @return The inputFavorMode.
       */
      int getInputFavorMode();

      /**
       * <code>int32 noteModifyMode = 27;</code>
       * @return The noteModifyMode.
       */
      int getNoteModifyMode();

      /**
       * <code>int32 bpmMode = 28;</code>
       * @return The bpmMode.
       */
      int getBpmMode();

      /**
       * <code>int32 waveMode = 29;</code>
       * @return The waveMode.
       */
      int getWaveMode();

      /**
       * <code>int32 setNoteMode = 30;</code>
       * @return The setNoteMode.
       */
      int getSetNoteMode();

      /**
       * <code>int32 lowestJudgmentConditionMode = 31;</code>
       * @return The lowestJudgmentConditionMode.
       */
      int getLowestJudgmentConditionMode();

      /**
       * <code>int32 totalNotes = 32;</code>
       * @return The totalNotes.
       */
      int getTotalNotes();

      /**
       * <code>double judgmentStage = 33;</code>
       * @return The judgmentStage.
       */
      double getJudgmentStage();

      /**
       * <code>double hitPointsValue = 34;</code>
       * @return The hitPointsValue.
       */
      double getHitPointsValue();

      /**
       * <code>int32 highestInputCount = 35;</code>
       * @return The highestInputCount.
       */
      int getHighestInputCount();

      /**
       * <code>double length = 36;</code>
       * @return The length.
       */
      double getLength();

      /**
       * <code>double bpm = 37;</code>
       * @return The bpm.
       */
      double getBpm();

      /**
       * <code>double multiplier = 38;</code>
       * @return The multiplier.
       */
      double getMultiplier();

      /**
       * <code>int32 inputMode = 39;</code>
       * @return The inputMode.
       */
      int getInputMode();

      /**
       * <code>double highestJudgment0 = 40;</code>
       * @return The highestJudgment0.
       */
      double getHighestJudgment0();

      /**
       * <code>double higherJudgment0 = 41;</code>
       * @return The higherJudgment0.
       */
      double getHigherJudgment0();

      /**
       * <code>double highJudgment0 = 42;</code>
       * @return The highJudgment0.
       */
      double getHighJudgment0();

      /**
       * <code>double lowJudgment0 = 43;</code>
       * @return The lowJudgment0.
       */
      double getLowJudgment0();

      /**
       * <code>double lowerJudgment0 = 44;</code>
       * @return The lowerJudgment0.
       */
      double getLowerJudgment0();

      /**
       * <code>double lowestJudgment0 = 45;</code>
       * @return The lowestJudgment0.
       */
      double getLowestJudgment0();

      /**
       * <code>double highestJudgment1 = 46;</code>
       * @return The highestJudgment1.
       */
      double getHighestJudgment1();

      /**
       * <code>double higherJudgment1 = 47;</code>
       * @return The higherJudgment1.
       */
      double getHigherJudgment1();

      /**
       * <code>double highJudgment1 = 48;</code>
       * @return The highJudgment1.
       */
      double getHighJudgment1();

      /**
       * <code>double lowJudgment1 = 49;</code>
       * @return The lowJudgment1.
       */
      double getLowJudgment1();

      /**
       * <code>double lowerJudgment1 = 50;</code>
       * @return The lowerJudgment1.
       */
      double getLowerJudgment1();

      /**
       * <code>double lowestJudgment1 = 51;</code>
       * @return The lowestJudgment1.
       */
      double getLowestJudgment1();

      /**
       * <code>int32 highestJudgment = 52;</code>
       * @return The highestJudgment.
       */
      int getHighestJudgment();

      /**
       * <code>int32 higherJudgment = 53;</code>
       * @return The higherJudgment.
       */
      int getHigherJudgment();

      /**
       * <code>int32 highJudgment = 54;</code>
       * @return The highJudgment.
       */
      int getHighJudgment();

      /**
       * <code>int32 lowJudgment = 55;</code>
       * @return The lowJudgment.
       */
      int getLowJudgment();

      /**
       * <code>int32 lowerJudgment = 56;</code>
       * @return The lowerJudgment.
       */
      int getLowerJudgment();

      /**
       * <code>int32 lowestJudgment = 57;</code>
       * @return The lowestJudgment.
       */
      int getLowestJudgment();
    }
    /**
     * Protobuf type {@code Event.QwilightCallNet}
     */
    public static final class QwilightCallNet extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightCallNet)
        QwilightCallNetOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightCallNet.newBuilder() to construct.
      private QwilightCallNet(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightCallNet() {
        siteID_ = "";
        handlerID_ = "";
        avatarNetStatus_ = 0;
        drawings_ = java.util.Collections.emptyList();
        title_ = "";
        artist_ = "";
        genre_ = "";
        levelText_ = "";
        wantLevelID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightCallNet_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightCallNet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightCallNet.class, EventOuterClass.Event.QwilightCallNet.Builder.class);
      }

      private int bitField0_;
      public static final int SITEID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object siteID_ = "";
      /**
       * <code>string siteID = 1;</code>
       * @return The siteID.
       */
      @java.lang.Override
      public java.lang.String getSiteID() {
        java.lang.Object ref = siteID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          siteID_ = s;
          return s;
        }
      }
      /**
       * <code>string siteID = 1;</code>
       * @return The bytes for siteID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSiteIDBytes() {
        java.lang.Object ref = siteID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          siteID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int AVATARNETSTATUS_FIELD_NUMBER = 3;
      private int avatarNetStatus_ = 0;
      /**
       * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
       * @return The enum numeric value on the wire for avatarNetStatus.
       */
      @java.lang.Override public int getAvatarNetStatusValue() {
        return avatarNetStatus_;
      }
      /**
       * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
       * @return The avatarNetStatus.
       */
      @java.lang.Override public EventOuterClass.Event.AvatarNetStatus getAvatarNetStatus() {
        EventOuterClass.Event.AvatarNetStatus result = EventOuterClass.Event.AvatarNetStatus.forNumber(avatarNetStatus_);
        return result == null ? EventOuterClass.Event.AvatarNetStatus.UNRECOGNIZED : result;
      }

      public static final int STAND_FIELD_NUMBER = 4;
      private int stand_ = 0;
      /**
       * <code>int32 stand = 4;</code>
       * @return The stand.
       */
      @java.lang.Override
      public int getStand() {
        return stand_;
      }

      public static final int HIGHESTBAND_FIELD_NUMBER = 5;
      private int highestBand_ = 0;
      /**
       * <code>int32 highestBand = 5;</code>
       * @return The highestBand.
       */
      @java.lang.Override
      public int getHighestBand() {
        return highestBand_;
      }

      public static final int POINT_FIELD_NUMBER = 6;
      private double point_ = 0D;
      /**
       * <code>double point = 6;</code>
       * @return The point.
       */
      @java.lang.Override
      public double getPoint() {
        return point_;
      }

      public static final int HITPOINTS_FIELD_NUMBER = 7;
      private double hitPoints_ = 0D;
      /**
       * <code>double hitPoints = 7;</code>
       * @return The hitPoints.
       */
      @java.lang.Override
      public double getHitPoints() {
        return hitPoints_;
      }

      public static final int ISFAILED_FIELD_NUMBER = 8;
      private boolean isFailed_ = false;
      /**
       * <code>bool isFailed = 8;</code>
       * @return The isFailed.
       */
      @java.lang.Override
      public boolean getIsFailed() {
        return isFailed_;
      }

      public static final int LASTJUDGED_FIELD_NUMBER = 9;
      private int lastJudged_ = 0;
      /**
       * <code>int32 lastJudged = 9;</code>
       * @return The lastJudged.
       */
      @java.lang.Override
      public int getLastJudged() {
        return lastJudged_;
      }

      public static final int DRAWINGS_FIELD_NUMBER = 10;
      @SuppressWarnings("serial")
      private java.util.List<EventOuterClass.Event.NetDrawing> drawings_;
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      @java.lang.Override
      public java.util.List<EventOuterClass.Event.NetDrawing> getDrawingsList() {
        return drawings_;
      }
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      @java.lang.Override
      public java.util.List<? extends EventOuterClass.Event.NetDrawingOrBuilder> 
          getDrawingsOrBuilderList() {
        return drawings_;
      }
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      @java.lang.Override
      public int getDrawingsCount() {
        return drawings_.size();
      }
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.NetDrawing getDrawings(int index) {
        return drawings_.get(index);
      }
      /**
       * <code>repeated .Event.NetDrawing drawings = 10;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.NetDrawingOrBuilder getDrawingsOrBuilder(
          int index) {
        return drawings_.get(index);
      }

      public static final int DRAWINGCOMPONENT_FIELD_NUMBER = 11;
      private EventOuterClass.Event.DrawingComponent drawingComponent_;
      /**
       * <code>.Event.DrawingComponent drawingComponent = 11;</code>
       * @return Whether the drawingComponent field is set.
       */
      @java.lang.Override
      public boolean hasDrawingComponent() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>.Event.DrawingComponent drawingComponent = 11;</code>
       * @return The drawingComponent.
       */
      @java.lang.Override
      public EventOuterClass.Event.DrawingComponent getDrawingComponent() {
        return drawingComponent_ == null ? EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
      }
      /**
       * <code>.Event.DrawingComponent drawingComponent = 11;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.DrawingComponentOrBuilder getDrawingComponentOrBuilder() {
        return drawingComponent_ == null ? EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
      }

      public static final int TITLE_FIELD_NUMBER = 12;
      @SuppressWarnings("serial")
      private volatile java.lang.Object title_ = "";
      /**
       * <code>string title = 12;</code>
       * @return The title.
       */
      @java.lang.Override
      public java.lang.String getTitle() {
        java.lang.Object ref = title_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          title_ = s;
          return s;
        }
      }
      /**
       * <code>string title = 12;</code>
       * @return The bytes for title.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTitleBytes() {
        java.lang.Object ref = title_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          title_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ARTIST_FIELD_NUMBER = 13;
      @SuppressWarnings("serial")
      private volatile java.lang.Object artist_ = "";
      /**
       * <code>string artist = 13;</code>
       * @return The artist.
       */
      @java.lang.Override
      public java.lang.String getArtist() {
        java.lang.Object ref = artist_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          artist_ = s;
          return s;
        }
      }
      /**
       * <code>string artist = 13;</code>
       * @return The bytes for artist.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getArtistBytes() {
        java.lang.Object ref = artist_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          artist_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int GENRE_FIELD_NUMBER = 14;
      @SuppressWarnings("serial")
      private volatile java.lang.Object genre_ = "";
      /**
       * <code>string genre = 14;</code>
       * @return The genre.
       */
      @java.lang.Override
      public java.lang.String getGenre() {
        java.lang.Object ref = genre_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          genre_ = s;
          return s;
        }
      }
      /**
       * <code>string genre = 14;</code>
       * @return The bytes for genre.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGenreBytes() {
        java.lang.Object ref = genre_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          genre_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int LEVEL_FIELD_NUMBER = 15;
      private int level_ = 0;
      /**
       * <code>int32 level = 15;</code>
       * @return The level.
       */
      @java.lang.Override
      public int getLevel() {
        return level_;
      }

      public static final int LEVELTEXT_FIELD_NUMBER = 16;
      @SuppressWarnings("serial")
      private volatile java.lang.Object levelText_ = "";
      /**
       * <code>string levelText = 16;</code>
       * @return The levelText.
       */
      @java.lang.Override
      public java.lang.String getLevelText() {
        java.lang.Object ref = levelText_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          levelText_ = s;
          return s;
        }
      }
      /**
       * <code>string levelText = 16;</code>
       * @return The bytes for levelText.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLevelTextBytes() {
        java.lang.Object ref = levelText_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          levelText_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int WANTLEVELID_FIELD_NUMBER = 17;
      @SuppressWarnings("serial")
      private volatile java.lang.Object wantLevelID_ = "";
      /**
       * <code>string wantLevelID = 17;</code>
       * @return The wantLevelID.
       */
      @java.lang.Override
      public java.lang.String getWantLevelID() {
        java.lang.Object ref = wantLevelID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          wantLevelID_ = s;
          return s;
        }
      }
      /**
       * <code>string wantLevelID = 17;</code>
       * @return The bytes for wantLevelID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getWantLevelIDBytes() {
        java.lang.Object ref = wantLevelID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          wantLevelID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int AUTOMODE_FIELD_NUMBER = 18;
      private int autoMode_ = 0;
      /**
       * <code>int32 autoMode = 18;</code>
       * @return The autoMode.
       */
      @java.lang.Override
      public int getAutoMode() {
        return autoMode_;
      }

      public static final int NOTESALTMODE_FIELD_NUMBER = 19;
      private int noteSaltMode_ = 0;
      /**
       * <code>int32 noteSaltMode = 19;</code>
       * @return The noteSaltMode.
       */
      @java.lang.Override
      public int getNoteSaltMode() {
        return noteSaltMode_;
      }

      public static final int AUDIOMULTIPLIER_FIELD_NUMBER = 20;
      private double audioMultiplier_ = 0D;
      /**
       * <code>double audioMultiplier = 20;</code>
       * @return The audioMultiplier.
       */
      @java.lang.Override
      public double getAudioMultiplier() {
        return audioMultiplier_;
      }

      public static final int FAINTNOTEMODE_FIELD_NUMBER = 21;
      private int faintNoteMode_ = 0;
      /**
       * <code>int32 faintNoteMode = 21;</code>
       * @return The faintNoteMode.
       */
      @java.lang.Override
      public int getFaintNoteMode() {
        return faintNoteMode_;
      }

      public static final int JUDGMENTMODE_FIELD_NUMBER = 22;
      private int judgmentMode_ = 0;
      /**
       * <code>int32 judgmentMode = 22;</code>
       * @return The judgmentMode.
       */
      @java.lang.Override
      public int getJudgmentMode() {
        return judgmentMode_;
      }

      public static final int HITPOINTSMODE_FIELD_NUMBER = 23;
      private int hitPointsMode_ = 0;
      /**
       * <code>int32 hitPointsMode = 23;</code>
       * @return The hitPointsMode.
       */
      @java.lang.Override
      public int getHitPointsMode() {
        return hitPointsMode_;
      }

      public static final int NOTEMOBILITYMODE_FIELD_NUMBER = 24;
      private int noteMobilityMode_ = 0;
      /**
       * <code>int32 noteMobilityMode = 24;</code>
       * @return The noteMobilityMode.
       */
      @java.lang.Override
      public int getNoteMobilityMode() {
        return noteMobilityMode_;
      }

      public static final int LONGNOTEMODE_FIELD_NUMBER = 25;
      private int longNoteMode_ = 0;
      /**
       * <code>int32 longNoteMode = 25;</code>
       * @return The longNoteMode.
       */
      @java.lang.Override
      public int getLongNoteMode() {
        return longNoteMode_;
      }

      public static final int INPUTFAVORMODE_FIELD_NUMBER = 26;
      private int inputFavorMode_ = 0;
      /**
       * <code>int32 inputFavorMode = 26;</code>
       * @return The inputFavorMode.
       */
      @java.lang.Override
      public int getInputFavorMode() {
        return inputFavorMode_;
      }

      public static final int NOTEMODIFYMODE_FIELD_NUMBER = 27;
      private int noteModifyMode_ = 0;
      /**
       * <code>int32 noteModifyMode = 27;</code>
       * @return The noteModifyMode.
       */
      @java.lang.Override
      public int getNoteModifyMode() {
        return noteModifyMode_;
      }

      public static final int BPMMODE_FIELD_NUMBER = 28;
      private int bpmMode_ = 0;
      /**
       * <code>int32 bpmMode = 28;</code>
       * @return The bpmMode.
       */
      @java.lang.Override
      public int getBpmMode() {
        return bpmMode_;
      }

      public static final int WAVEMODE_FIELD_NUMBER = 29;
      private int waveMode_ = 0;
      /**
       * <code>int32 waveMode = 29;</code>
       * @return The waveMode.
       */
      @java.lang.Override
      public int getWaveMode() {
        return waveMode_;
      }

      public static final int SETNOTEMODE_FIELD_NUMBER = 30;
      private int setNoteMode_ = 0;
      /**
       * <code>int32 setNoteMode = 30;</code>
       * @return The setNoteMode.
       */
      @java.lang.Override
      public int getSetNoteMode() {
        return setNoteMode_;
      }

      public static final int LOWESTJUDGMENTCONDITIONMODE_FIELD_NUMBER = 31;
      private int lowestJudgmentConditionMode_ = 0;
      /**
       * <code>int32 lowestJudgmentConditionMode = 31;</code>
       * @return The lowestJudgmentConditionMode.
       */
      @java.lang.Override
      public int getLowestJudgmentConditionMode() {
        return lowestJudgmentConditionMode_;
      }

      public static final int TOTALNOTES_FIELD_NUMBER = 32;
      private int totalNotes_ = 0;
      /**
       * <code>int32 totalNotes = 32;</code>
       * @return The totalNotes.
       */
      @java.lang.Override
      public int getTotalNotes() {
        return totalNotes_;
      }

      public static final int JUDGMENTSTAGE_FIELD_NUMBER = 33;
      private double judgmentStage_ = 0D;
      /**
       * <code>double judgmentStage = 33;</code>
       * @return The judgmentStage.
       */
      @java.lang.Override
      public double getJudgmentStage() {
        return judgmentStage_;
      }

      public static final int HITPOINTSVALUE_FIELD_NUMBER = 34;
      private double hitPointsValue_ = 0D;
      /**
       * <code>double hitPointsValue = 34;</code>
       * @return The hitPointsValue.
       */
      @java.lang.Override
      public double getHitPointsValue() {
        return hitPointsValue_;
      }

      public static final int HIGHESTINPUTCOUNT_FIELD_NUMBER = 35;
      private int highestInputCount_ = 0;
      /**
       * <code>int32 highestInputCount = 35;</code>
       * @return The highestInputCount.
       */
      @java.lang.Override
      public int getHighestInputCount() {
        return highestInputCount_;
      }

      public static final int LENGTH_FIELD_NUMBER = 36;
      private double length_ = 0D;
      /**
       * <code>double length = 36;</code>
       * @return The length.
       */
      @java.lang.Override
      public double getLength() {
        return length_;
      }

      public static final int BPM_FIELD_NUMBER = 37;
      private double bpm_ = 0D;
      /**
       * <code>double bpm = 37;</code>
       * @return The bpm.
       */
      @java.lang.Override
      public double getBpm() {
        return bpm_;
      }

      public static final int MULTIPLIER_FIELD_NUMBER = 38;
      private double multiplier_ = 0D;
      /**
       * <code>double multiplier = 38;</code>
       * @return The multiplier.
       */
      @java.lang.Override
      public double getMultiplier() {
        return multiplier_;
      }

      public static final int INPUTMODE_FIELD_NUMBER = 39;
      private int inputMode_ = 0;
      /**
       * <code>int32 inputMode = 39;</code>
       * @return The inputMode.
       */
      @java.lang.Override
      public int getInputMode() {
        return inputMode_;
      }

      public static final int HIGHESTJUDGMENT0_FIELD_NUMBER = 40;
      private double highestJudgment0_ = 0D;
      /**
       * <code>double highestJudgment0 = 40;</code>
       * @return The highestJudgment0.
       */
      @java.lang.Override
      public double getHighestJudgment0() {
        return highestJudgment0_;
      }

      public static final int HIGHERJUDGMENT0_FIELD_NUMBER = 41;
      private double higherJudgment0_ = 0D;
      /**
       * <code>double higherJudgment0 = 41;</code>
       * @return The higherJudgment0.
       */
      @java.lang.Override
      public double getHigherJudgment0() {
        return higherJudgment0_;
      }

      public static final int HIGHJUDGMENT0_FIELD_NUMBER = 42;
      private double highJudgment0_ = 0D;
      /**
       * <code>double highJudgment0 = 42;</code>
       * @return The highJudgment0.
       */
      @java.lang.Override
      public double getHighJudgment0() {
        return highJudgment0_;
      }

      public static final int LOWJUDGMENT0_FIELD_NUMBER = 43;
      private double lowJudgment0_ = 0D;
      /**
       * <code>double lowJudgment0 = 43;</code>
       * @return The lowJudgment0.
       */
      @java.lang.Override
      public double getLowJudgment0() {
        return lowJudgment0_;
      }

      public static final int LOWERJUDGMENT0_FIELD_NUMBER = 44;
      private double lowerJudgment0_ = 0D;
      /**
       * <code>double lowerJudgment0 = 44;</code>
       * @return The lowerJudgment0.
       */
      @java.lang.Override
      public double getLowerJudgment0() {
        return lowerJudgment0_;
      }

      public static final int LOWESTJUDGMENT0_FIELD_NUMBER = 45;
      private double lowestJudgment0_ = 0D;
      /**
       * <code>double lowestJudgment0 = 45;</code>
       * @return The lowestJudgment0.
       */
      @java.lang.Override
      public double getLowestJudgment0() {
        return lowestJudgment0_;
      }

      public static final int HIGHESTJUDGMENT1_FIELD_NUMBER = 46;
      private double highestJudgment1_ = 0D;
      /**
       * <code>double highestJudgment1 = 46;</code>
       * @return The highestJudgment1.
       */
      @java.lang.Override
      public double getHighestJudgment1() {
        return highestJudgment1_;
      }

      public static final int HIGHERJUDGMENT1_FIELD_NUMBER = 47;
      private double higherJudgment1_ = 0D;
      /**
       * <code>double higherJudgment1 = 47;</code>
       * @return The higherJudgment1.
       */
      @java.lang.Override
      public double getHigherJudgment1() {
        return higherJudgment1_;
      }

      public static final int HIGHJUDGMENT1_FIELD_NUMBER = 48;
      private double highJudgment1_ = 0D;
      /**
       * <code>double highJudgment1 = 48;</code>
       * @return The highJudgment1.
       */
      @java.lang.Override
      public double getHighJudgment1() {
        return highJudgment1_;
      }

      public static final int LOWJUDGMENT1_FIELD_NUMBER = 49;
      private double lowJudgment1_ = 0D;
      /**
       * <code>double lowJudgment1 = 49;</code>
       * @return The lowJudgment1.
       */
      @java.lang.Override
      public double getLowJudgment1() {
        return lowJudgment1_;
      }

      public static final int LOWERJUDGMENT1_FIELD_NUMBER = 50;
      private double lowerJudgment1_ = 0D;
      /**
       * <code>double lowerJudgment1 = 50;</code>
       * @return The lowerJudgment1.
       */
      @java.lang.Override
      public double getLowerJudgment1() {
        return lowerJudgment1_;
      }

      public static final int LOWESTJUDGMENT1_FIELD_NUMBER = 51;
      private double lowestJudgment1_ = 0D;
      /**
       * <code>double lowestJudgment1 = 51;</code>
       * @return The lowestJudgment1.
       */
      @java.lang.Override
      public double getLowestJudgment1() {
        return lowestJudgment1_;
      }

      public static final int HIGHESTJUDGMENT_FIELD_NUMBER = 52;
      private int highestJudgment_ = 0;
      /**
       * <code>int32 highestJudgment = 52;</code>
       * @return The highestJudgment.
       */
      @java.lang.Override
      public int getHighestJudgment() {
        return highestJudgment_;
      }

      public static final int HIGHERJUDGMENT_FIELD_NUMBER = 53;
      private int higherJudgment_ = 0;
      /**
       * <code>int32 higherJudgment = 53;</code>
       * @return The higherJudgment.
       */
      @java.lang.Override
      public int getHigherJudgment() {
        return higherJudgment_;
      }

      public static final int HIGHJUDGMENT_FIELD_NUMBER = 54;
      private int highJudgment_ = 0;
      /**
       * <code>int32 highJudgment = 54;</code>
       * @return The highJudgment.
       */
      @java.lang.Override
      public int getHighJudgment() {
        return highJudgment_;
      }

      public static final int LOWJUDGMENT_FIELD_NUMBER = 55;
      private int lowJudgment_ = 0;
      /**
       * <code>int32 lowJudgment = 55;</code>
       * @return The lowJudgment.
       */
      @java.lang.Override
      public int getLowJudgment() {
        return lowJudgment_;
      }

      public static final int LOWERJUDGMENT_FIELD_NUMBER = 56;
      private int lowerJudgment_ = 0;
      /**
       * <code>int32 lowerJudgment = 56;</code>
       * @return The lowerJudgment.
       */
      @java.lang.Override
      public int getLowerJudgment() {
        return lowerJudgment_;
      }

      public static final int LOWESTJUDGMENT_FIELD_NUMBER = 57;
      private int lowestJudgment_ = 0;
      /**
       * <code>int32 lowestJudgment = 57;</code>
       * @return The lowestJudgment.
       */
      @java.lang.Override
      public int getLowestJudgment() {
        return lowestJudgment_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(siteID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, siteID_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (avatarNetStatus_ != EventOuterClass.Event.AvatarNetStatus.Default.getNumber()) {
          output.writeEnum(3, avatarNetStatus_);
        }
        if (stand_ != 0) {
          output.writeInt32(4, stand_);
        }
        if (highestBand_ != 0) {
          output.writeInt32(5, highestBand_);
        }
        if (java.lang.Double.doubleToRawLongBits(point_) != 0) {
          output.writeDouble(6, point_);
        }
        if (java.lang.Double.doubleToRawLongBits(hitPoints_) != 0) {
          output.writeDouble(7, hitPoints_);
        }
        if (isFailed_ != false) {
          output.writeBool(8, isFailed_);
        }
        if (lastJudged_ != 0) {
          output.writeInt32(9, lastJudged_);
        }
        for (int i = 0; i < drawings_.size(); i++) {
          output.writeMessage(10, drawings_.get(i));
        }
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(11, getDrawingComponent());
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 12, title_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(artist_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 13, artist_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(genre_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 14, genre_);
        }
        if (level_ != 0) {
          output.writeInt32(15, level_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(levelText_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 16, levelText_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(wantLevelID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 17, wantLevelID_);
        }
        if (autoMode_ != 0) {
          output.writeInt32(18, autoMode_);
        }
        if (noteSaltMode_ != 0) {
          output.writeInt32(19, noteSaltMode_);
        }
        if (java.lang.Double.doubleToRawLongBits(audioMultiplier_) != 0) {
          output.writeDouble(20, audioMultiplier_);
        }
        if (faintNoteMode_ != 0) {
          output.writeInt32(21, faintNoteMode_);
        }
        if (judgmentMode_ != 0) {
          output.writeInt32(22, judgmentMode_);
        }
        if (hitPointsMode_ != 0) {
          output.writeInt32(23, hitPointsMode_);
        }
        if (noteMobilityMode_ != 0) {
          output.writeInt32(24, noteMobilityMode_);
        }
        if (longNoteMode_ != 0) {
          output.writeInt32(25, longNoteMode_);
        }
        if (inputFavorMode_ != 0) {
          output.writeInt32(26, inputFavorMode_);
        }
        if (noteModifyMode_ != 0) {
          output.writeInt32(27, noteModifyMode_);
        }
        if (bpmMode_ != 0) {
          output.writeInt32(28, bpmMode_);
        }
        if (waveMode_ != 0) {
          output.writeInt32(29, waveMode_);
        }
        if (setNoteMode_ != 0) {
          output.writeInt32(30, setNoteMode_);
        }
        if (lowestJudgmentConditionMode_ != 0) {
          output.writeInt32(31, lowestJudgmentConditionMode_);
        }
        if (totalNotes_ != 0) {
          output.writeInt32(32, totalNotes_);
        }
        if (java.lang.Double.doubleToRawLongBits(judgmentStage_) != 0) {
          output.writeDouble(33, judgmentStage_);
        }
        if (java.lang.Double.doubleToRawLongBits(hitPointsValue_) != 0) {
          output.writeDouble(34, hitPointsValue_);
        }
        if (highestInputCount_ != 0) {
          output.writeInt32(35, highestInputCount_);
        }
        if (java.lang.Double.doubleToRawLongBits(length_) != 0) {
          output.writeDouble(36, length_);
        }
        if (java.lang.Double.doubleToRawLongBits(bpm_) != 0) {
          output.writeDouble(37, bpm_);
        }
        if (java.lang.Double.doubleToRawLongBits(multiplier_) != 0) {
          output.writeDouble(38, multiplier_);
        }
        if (inputMode_ != 0) {
          output.writeInt32(39, inputMode_);
        }
        if (java.lang.Double.doubleToRawLongBits(highestJudgment0_) != 0) {
          output.writeDouble(40, highestJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(higherJudgment0_) != 0) {
          output.writeDouble(41, higherJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(highJudgment0_) != 0) {
          output.writeDouble(42, highJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowJudgment0_) != 0) {
          output.writeDouble(43, lowJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowerJudgment0_) != 0) {
          output.writeDouble(44, lowerJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowestJudgment0_) != 0) {
          output.writeDouble(45, lowestJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(highestJudgment1_) != 0) {
          output.writeDouble(46, highestJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(higherJudgment1_) != 0) {
          output.writeDouble(47, higherJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(highJudgment1_) != 0) {
          output.writeDouble(48, highJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowJudgment1_) != 0) {
          output.writeDouble(49, lowJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowerJudgment1_) != 0) {
          output.writeDouble(50, lowerJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowestJudgment1_) != 0) {
          output.writeDouble(51, lowestJudgment1_);
        }
        if (highestJudgment_ != 0) {
          output.writeInt32(52, highestJudgment_);
        }
        if (higherJudgment_ != 0) {
          output.writeInt32(53, higherJudgment_);
        }
        if (highJudgment_ != 0) {
          output.writeInt32(54, highJudgment_);
        }
        if (lowJudgment_ != 0) {
          output.writeInt32(55, lowJudgment_);
        }
        if (lowerJudgment_ != 0) {
          output.writeInt32(56, lowerJudgment_);
        }
        if (lowestJudgment_ != 0) {
          output.writeInt32(57, lowestJudgment_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(siteID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, siteID_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (avatarNetStatus_ != EventOuterClass.Event.AvatarNetStatus.Default.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(3, avatarNetStatus_);
        }
        if (stand_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, stand_);
        }
        if (highestBand_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(5, highestBand_);
        }
        if (java.lang.Double.doubleToRawLongBits(point_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(6, point_);
        }
        if (java.lang.Double.doubleToRawLongBits(hitPoints_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(7, hitPoints_);
        }
        if (isFailed_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(8, isFailed_);
        }
        if (lastJudged_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(9, lastJudged_);
        }
        for (int i = 0; i < drawings_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(10, drawings_.get(i));
        }
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(11, getDrawingComponent());
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, title_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(artist_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, artist_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(genre_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, genre_);
        }
        if (level_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(15, level_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(levelText_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(16, levelText_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(wantLevelID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, wantLevelID_);
        }
        if (autoMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(18, autoMode_);
        }
        if (noteSaltMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(19, noteSaltMode_);
        }
        if (java.lang.Double.doubleToRawLongBits(audioMultiplier_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(20, audioMultiplier_);
        }
        if (faintNoteMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(21, faintNoteMode_);
        }
        if (judgmentMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(22, judgmentMode_);
        }
        if (hitPointsMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(23, hitPointsMode_);
        }
        if (noteMobilityMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(24, noteMobilityMode_);
        }
        if (longNoteMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(25, longNoteMode_);
        }
        if (inputFavorMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(26, inputFavorMode_);
        }
        if (noteModifyMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(27, noteModifyMode_);
        }
        if (bpmMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(28, bpmMode_);
        }
        if (waveMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(29, waveMode_);
        }
        if (setNoteMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(30, setNoteMode_);
        }
        if (lowestJudgmentConditionMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(31, lowestJudgmentConditionMode_);
        }
        if (totalNotes_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(32, totalNotes_);
        }
        if (java.lang.Double.doubleToRawLongBits(judgmentStage_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(33, judgmentStage_);
        }
        if (java.lang.Double.doubleToRawLongBits(hitPointsValue_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(34, hitPointsValue_);
        }
        if (highestInputCount_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(35, highestInputCount_);
        }
        if (java.lang.Double.doubleToRawLongBits(length_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(36, length_);
        }
        if (java.lang.Double.doubleToRawLongBits(bpm_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(37, bpm_);
        }
        if (java.lang.Double.doubleToRawLongBits(multiplier_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(38, multiplier_);
        }
        if (inputMode_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(39, inputMode_);
        }
        if (java.lang.Double.doubleToRawLongBits(highestJudgment0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(40, highestJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(higherJudgment0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(41, higherJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(highJudgment0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(42, highJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowJudgment0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(43, lowJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowerJudgment0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(44, lowerJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowestJudgment0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(45, lowestJudgment0_);
        }
        if (java.lang.Double.doubleToRawLongBits(highestJudgment1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(46, highestJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(higherJudgment1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(47, higherJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(highJudgment1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(48, highJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowJudgment1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(49, lowJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowerJudgment1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(50, lowerJudgment1_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowestJudgment1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(51, lowestJudgment1_);
        }
        if (highestJudgment_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(52, highestJudgment_);
        }
        if (higherJudgment_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(53, higherJudgment_);
        }
        if (highJudgment_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(54, highJudgment_);
        }
        if (lowJudgment_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(55, lowJudgment_);
        }
        if (lowerJudgment_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(56, lowerJudgment_);
        }
        if (lowestJudgment_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(57, lowestJudgment_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightCallNet)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightCallNet other = (EventOuterClass.Event.QwilightCallNet) obj;

        if (!getSiteID()
            .equals(other.getSiteID())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (avatarNetStatus_ != other.avatarNetStatus_) return false;
        if (getStand()
            != other.getStand()) return false;
        if (getHighestBand()
            != other.getHighestBand()) return false;
        if (java.lang.Double.doubleToLongBits(getPoint())
            != java.lang.Double.doubleToLongBits(
                other.getPoint())) return false;
        if (java.lang.Double.doubleToLongBits(getHitPoints())
            != java.lang.Double.doubleToLongBits(
                other.getHitPoints())) return false;
        if (getIsFailed()
            != other.getIsFailed()) return false;
        if (getLastJudged()
            != other.getLastJudged()) return false;
        if (!getDrawingsList()
            .equals(other.getDrawingsList())) return false;
        if (hasDrawingComponent() != other.hasDrawingComponent()) return false;
        if (hasDrawingComponent()) {
          if (!getDrawingComponent()
              .equals(other.getDrawingComponent())) return false;
        }
        if (!getTitle()
            .equals(other.getTitle())) return false;
        if (!getArtist()
            .equals(other.getArtist())) return false;
        if (!getGenre()
            .equals(other.getGenre())) return false;
        if (getLevel()
            != other.getLevel()) return false;
        if (!getLevelText()
            .equals(other.getLevelText())) return false;
        if (!getWantLevelID()
            .equals(other.getWantLevelID())) return false;
        if (getAutoMode()
            != other.getAutoMode()) return false;
        if (getNoteSaltMode()
            != other.getNoteSaltMode()) return false;
        if (java.lang.Double.doubleToLongBits(getAudioMultiplier())
            != java.lang.Double.doubleToLongBits(
                other.getAudioMultiplier())) return false;
        if (getFaintNoteMode()
            != other.getFaintNoteMode()) return false;
        if (getJudgmentMode()
            != other.getJudgmentMode()) return false;
        if (getHitPointsMode()
            != other.getHitPointsMode()) return false;
        if (getNoteMobilityMode()
            != other.getNoteMobilityMode()) return false;
        if (getLongNoteMode()
            != other.getLongNoteMode()) return false;
        if (getInputFavorMode()
            != other.getInputFavorMode()) return false;
        if (getNoteModifyMode()
            != other.getNoteModifyMode()) return false;
        if (getBpmMode()
            != other.getBpmMode()) return false;
        if (getWaveMode()
            != other.getWaveMode()) return false;
        if (getSetNoteMode()
            != other.getSetNoteMode()) return false;
        if (getLowestJudgmentConditionMode()
            != other.getLowestJudgmentConditionMode()) return false;
        if (getTotalNotes()
            != other.getTotalNotes()) return false;
        if (java.lang.Double.doubleToLongBits(getJudgmentStage())
            != java.lang.Double.doubleToLongBits(
                other.getJudgmentStage())) return false;
        if (java.lang.Double.doubleToLongBits(getHitPointsValue())
            != java.lang.Double.doubleToLongBits(
                other.getHitPointsValue())) return false;
        if (getHighestInputCount()
            != other.getHighestInputCount()) return false;
        if (java.lang.Double.doubleToLongBits(getLength())
            != java.lang.Double.doubleToLongBits(
                other.getLength())) return false;
        if (java.lang.Double.doubleToLongBits(getBpm())
            != java.lang.Double.doubleToLongBits(
                other.getBpm())) return false;
        if (java.lang.Double.doubleToLongBits(getMultiplier())
            != java.lang.Double.doubleToLongBits(
                other.getMultiplier())) return false;
        if (getInputMode()
            != other.getInputMode()) return false;
        if (java.lang.Double.doubleToLongBits(getHighestJudgment0())
            != java.lang.Double.doubleToLongBits(
                other.getHighestJudgment0())) return false;
        if (java.lang.Double.doubleToLongBits(getHigherJudgment0())
            != java.lang.Double.doubleToLongBits(
                other.getHigherJudgment0())) return false;
        if (java.lang.Double.doubleToLongBits(getHighJudgment0())
            != java.lang.Double.doubleToLongBits(
                other.getHighJudgment0())) return false;
        if (java.lang.Double.doubleToLongBits(getLowJudgment0())
            != java.lang.Double.doubleToLongBits(
                other.getLowJudgment0())) return false;
        if (java.lang.Double.doubleToLongBits(getLowerJudgment0())
            != java.lang.Double.doubleToLongBits(
                other.getLowerJudgment0())) return false;
        if (java.lang.Double.doubleToLongBits(getLowestJudgment0())
            != java.lang.Double.doubleToLongBits(
                other.getLowestJudgment0())) return false;
        if (java.lang.Double.doubleToLongBits(getHighestJudgment1())
            != java.lang.Double.doubleToLongBits(
                other.getHighestJudgment1())) return false;
        if (java.lang.Double.doubleToLongBits(getHigherJudgment1())
            != java.lang.Double.doubleToLongBits(
                other.getHigherJudgment1())) return false;
        if (java.lang.Double.doubleToLongBits(getHighJudgment1())
            != java.lang.Double.doubleToLongBits(
                other.getHighJudgment1())) return false;
        if (java.lang.Double.doubleToLongBits(getLowJudgment1())
            != java.lang.Double.doubleToLongBits(
                other.getLowJudgment1())) return false;
        if (java.lang.Double.doubleToLongBits(getLowerJudgment1())
            != java.lang.Double.doubleToLongBits(
                other.getLowerJudgment1())) return false;
        if (java.lang.Double.doubleToLongBits(getLowestJudgment1())
            != java.lang.Double.doubleToLongBits(
                other.getLowestJudgment1())) return false;
        if (getHighestJudgment()
            != other.getHighestJudgment()) return false;
        if (getHigherJudgment()
            != other.getHigherJudgment()) return false;
        if (getHighJudgment()
            != other.getHighJudgment()) return false;
        if (getLowJudgment()
            != other.getLowJudgment()) return false;
        if (getLowerJudgment()
            != other.getLowerJudgment()) return false;
        if (getLowestJudgment()
            != other.getLowestJudgment()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + SITEID_FIELD_NUMBER;
        hash = (53 * hash) + getSiteID().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + AVATARNETSTATUS_FIELD_NUMBER;
        hash = (53 * hash) + avatarNetStatus_;
        hash = (37 * hash) + STAND_FIELD_NUMBER;
        hash = (53 * hash) + getStand();
        hash = (37 * hash) + HIGHESTBAND_FIELD_NUMBER;
        hash = (53 * hash) + getHighestBand();
        hash = (37 * hash) + POINT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getPoint()));
        hash = (37 * hash) + HITPOINTS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHitPoints()));
        hash = (37 * hash) + ISFAILED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsFailed());
        hash = (37 * hash) + LASTJUDGED_FIELD_NUMBER;
        hash = (53 * hash) + getLastJudged();
        if (getDrawingsCount() > 0) {
          hash = (37 * hash) + DRAWINGS_FIELD_NUMBER;
          hash = (53 * hash) + getDrawingsList().hashCode();
        }
        if (hasDrawingComponent()) {
          hash = (37 * hash) + DRAWINGCOMPONENT_FIELD_NUMBER;
          hash = (53 * hash) + getDrawingComponent().hashCode();
        }
        hash = (37 * hash) + TITLE_FIELD_NUMBER;
        hash = (53 * hash) + getTitle().hashCode();
        hash = (37 * hash) + ARTIST_FIELD_NUMBER;
        hash = (53 * hash) + getArtist().hashCode();
        hash = (37 * hash) + GENRE_FIELD_NUMBER;
        hash = (53 * hash) + getGenre().hashCode();
        hash = (37 * hash) + LEVEL_FIELD_NUMBER;
        hash = (53 * hash) + getLevel();
        hash = (37 * hash) + LEVELTEXT_FIELD_NUMBER;
        hash = (53 * hash) + getLevelText().hashCode();
        hash = (37 * hash) + WANTLEVELID_FIELD_NUMBER;
        hash = (53 * hash) + getWantLevelID().hashCode();
        hash = (37 * hash) + AUTOMODE_FIELD_NUMBER;
        hash = (53 * hash) + getAutoMode();
        hash = (37 * hash) + NOTESALTMODE_FIELD_NUMBER;
        hash = (53 * hash) + getNoteSaltMode();
        hash = (37 * hash) + AUDIOMULTIPLIER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getAudioMultiplier()));
        hash = (37 * hash) + FAINTNOTEMODE_FIELD_NUMBER;
        hash = (53 * hash) + getFaintNoteMode();
        hash = (37 * hash) + JUDGMENTMODE_FIELD_NUMBER;
        hash = (53 * hash) + getJudgmentMode();
        hash = (37 * hash) + HITPOINTSMODE_FIELD_NUMBER;
        hash = (53 * hash) + getHitPointsMode();
        hash = (37 * hash) + NOTEMOBILITYMODE_FIELD_NUMBER;
        hash = (53 * hash) + getNoteMobilityMode();
        hash = (37 * hash) + LONGNOTEMODE_FIELD_NUMBER;
        hash = (53 * hash) + getLongNoteMode();
        hash = (37 * hash) + INPUTFAVORMODE_FIELD_NUMBER;
        hash = (53 * hash) + getInputFavorMode();
        hash = (37 * hash) + NOTEMODIFYMODE_FIELD_NUMBER;
        hash = (53 * hash) + getNoteModifyMode();
        hash = (37 * hash) + BPMMODE_FIELD_NUMBER;
        hash = (53 * hash) + getBpmMode();
        hash = (37 * hash) + WAVEMODE_FIELD_NUMBER;
        hash = (53 * hash) + getWaveMode();
        hash = (37 * hash) + SETNOTEMODE_FIELD_NUMBER;
        hash = (53 * hash) + getSetNoteMode();
        hash = (37 * hash) + LOWESTJUDGMENTCONDITIONMODE_FIELD_NUMBER;
        hash = (53 * hash) + getLowestJudgmentConditionMode();
        hash = (37 * hash) + TOTALNOTES_FIELD_NUMBER;
        hash = (53 * hash) + getTotalNotes();
        hash = (37 * hash) + JUDGMENTSTAGE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getJudgmentStage()));
        hash = (37 * hash) + HITPOINTSVALUE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHitPointsValue()));
        hash = (37 * hash) + HIGHESTINPUTCOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getHighestInputCount();
        hash = (37 * hash) + LENGTH_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLength()));
        hash = (37 * hash) + BPM_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getBpm()));
        hash = (37 * hash) + MULTIPLIER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getMultiplier()));
        hash = (37 * hash) + INPUTMODE_FIELD_NUMBER;
        hash = (53 * hash) + getInputMode();
        hash = (37 * hash) + HIGHESTJUDGMENT0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHighestJudgment0()));
        hash = (37 * hash) + HIGHERJUDGMENT0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHigherJudgment0()));
        hash = (37 * hash) + HIGHJUDGMENT0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHighJudgment0()));
        hash = (37 * hash) + LOWJUDGMENT0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowJudgment0()));
        hash = (37 * hash) + LOWERJUDGMENT0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowerJudgment0()));
        hash = (37 * hash) + LOWESTJUDGMENT0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowestJudgment0()));
        hash = (37 * hash) + HIGHESTJUDGMENT1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHighestJudgment1()));
        hash = (37 * hash) + HIGHERJUDGMENT1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHigherJudgment1()));
        hash = (37 * hash) + HIGHJUDGMENT1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHighJudgment1()));
        hash = (37 * hash) + LOWJUDGMENT1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowJudgment1()));
        hash = (37 * hash) + LOWERJUDGMENT1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowerJudgment1()));
        hash = (37 * hash) + LOWESTJUDGMENT1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowestJudgment1()));
        hash = (37 * hash) + HIGHESTJUDGMENT_FIELD_NUMBER;
        hash = (53 * hash) + getHighestJudgment();
        hash = (37 * hash) + HIGHERJUDGMENT_FIELD_NUMBER;
        hash = (53 * hash) + getHigherJudgment();
        hash = (37 * hash) + HIGHJUDGMENT_FIELD_NUMBER;
        hash = (53 * hash) + getHighJudgment();
        hash = (37 * hash) + LOWJUDGMENT_FIELD_NUMBER;
        hash = (53 * hash) + getLowJudgment();
        hash = (37 * hash) + LOWERJUDGMENT_FIELD_NUMBER;
        hash = (53 * hash) + getLowerJudgment();
        hash = (37 * hash) + LOWESTJUDGMENT_FIELD_NUMBER;
        hash = (53 * hash) + getLowestJudgment();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightCallNet parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightCallNet parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightCallNet parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightCallNet parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightCallNet parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightCallNet parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightCallNet parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightCallNet 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 EventOuterClass.Event.QwilightCallNet parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightCallNet 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 EventOuterClass.Event.QwilightCallNet parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightCallNet 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(EventOuterClass.Event.QwilightCallNet prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightCallNet}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightCallNet)
          EventOuterClass.Event.QwilightCallNetOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightCallNet_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightCallNet_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightCallNet.class, EventOuterClass.Event.QwilightCallNet.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightCallNet.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getDrawingsFieldBuilder();
            getDrawingComponentFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          bitField1_ = 0;
          siteID_ = "";
          handlerID_ = "";
          avatarNetStatus_ = 0;
          stand_ = 0;
          highestBand_ = 0;
          point_ = 0D;
          hitPoints_ = 0D;
          isFailed_ = false;
          lastJudged_ = 0;
          if (drawingsBuilder_ == null) {
            drawings_ = java.util.Collections.emptyList();
          } else {
            drawings_ = null;
            drawingsBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000200);
          drawingComponent_ = null;
          if (drawingComponentBuilder_ != null) {
            drawingComponentBuilder_.dispose();
            drawingComponentBuilder_ = null;
          }
          title_ = "";
          artist_ = "";
          genre_ = "";
          level_ = 0;
          levelText_ = "";
          wantLevelID_ = "";
          autoMode_ = 0;
          noteSaltMode_ = 0;
          audioMultiplier_ = 0D;
          faintNoteMode_ = 0;
          judgmentMode_ = 0;
          hitPointsMode_ = 0;
          noteMobilityMode_ = 0;
          longNoteMode_ = 0;
          inputFavorMode_ = 0;
          noteModifyMode_ = 0;
          bpmMode_ = 0;
          waveMode_ = 0;
          setNoteMode_ = 0;
          lowestJudgmentConditionMode_ = 0;
          totalNotes_ = 0;
          judgmentStage_ = 0D;
          hitPointsValue_ = 0D;
          highestInputCount_ = 0;
          length_ = 0D;
          bpm_ = 0D;
          multiplier_ = 0D;
          inputMode_ = 0;
          highestJudgment0_ = 0D;
          higherJudgment0_ = 0D;
          highJudgment0_ = 0D;
          lowJudgment0_ = 0D;
          lowerJudgment0_ = 0D;
          lowestJudgment0_ = 0D;
          highestJudgment1_ = 0D;
          higherJudgment1_ = 0D;
          highJudgment1_ = 0D;
          lowJudgment1_ = 0D;
          lowerJudgment1_ = 0D;
          lowestJudgment1_ = 0D;
          highestJudgment_ = 0;
          higherJudgment_ = 0;
          highJudgment_ = 0;
          lowJudgment_ = 0;
          lowerJudgment_ = 0;
          lowestJudgment_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightCallNet_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightCallNet getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightCallNet build() {
          EventOuterClass.Event.QwilightCallNet result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightCallNet buildPartial() {
          EventOuterClass.Event.QwilightCallNet result = new EventOuterClass.Event.QwilightCallNet(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          if (bitField1_ != 0) { buildPartial1(result); }
          onBuilt();
          return result;
        }

        private void buildPartialRepeatedFields(EventOuterClass.Event.QwilightCallNet result) {
          if (drawingsBuilder_ == null) {
            if (((bitField0_ & 0x00000200) != 0)) {
              drawings_ = java.util.Collections.unmodifiableList(drawings_);
              bitField0_ = (bitField0_ & ~0x00000200);
            }
            result.drawings_ = drawings_;
          } else {
            result.drawings_ = drawingsBuilder_.build();
          }
        }

        private void buildPartial0(EventOuterClass.Event.QwilightCallNet result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.siteID_ = siteID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.avatarNetStatus_ = avatarNetStatus_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.stand_ = stand_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.highestBand_ = highestBand_;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.point_ = point_;
          }
          if (((from_bitField0_ & 0x00000040) != 0)) {
            result.hitPoints_ = hitPoints_;
          }
          if (((from_bitField0_ & 0x00000080) != 0)) {
            result.isFailed_ = isFailed_;
          }
          if (((from_bitField0_ & 0x00000100) != 0)) {
            result.lastJudged_ = lastJudged_;
          }
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000400) != 0)) {
            result.drawingComponent_ = drawingComponentBuilder_ == null
                ? drawingComponent_
                : drawingComponentBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000800) != 0)) {
            result.title_ = title_;
          }
          if (((from_bitField0_ & 0x00001000) != 0)) {
            result.artist_ = artist_;
          }
          if (((from_bitField0_ & 0x00002000) != 0)) {
            result.genre_ = genre_;
          }
          if (((from_bitField0_ & 0x00004000) != 0)) {
            result.level_ = level_;
          }
          if (((from_bitField0_ & 0x00008000) != 0)) {
            result.levelText_ = levelText_;
          }
          if (((from_bitField0_ & 0x00010000) != 0)) {
            result.wantLevelID_ = wantLevelID_;
          }
          if (((from_bitField0_ & 0x00020000) != 0)) {
            result.autoMode_ = autoMode_;
          }
          if (((from_bitField0_ & 0x00040000) != 0)) {
            result.noteSaltMode_ = noteSaltMode_;
          }
          if (((from_bitField0_ & 0x00080000) != 0)) {
            result.audioMultiplier_ = audioMultiplier_;
          }
          if (((from_bitField0_ & 0x00100000) != 0)) {
            result.faintNoteMode_ = faintNoteMode_;
          }
          if (((from_bitField0_ & 0x00200000) != 0)) {
            result.judgmentMode_ = judgmentMode_;
          }
          if (((from_bitField0_ & 0x00400000) != 0)) {
            result.hitPointsMode_ = hitPointsMode_;
          }
          if (((from_bitField0_ & 0x00800000) != 0)) {
            result.noteMobilityMode_ = noteMobilityMode_;
          }
          if (((from_bitField0_ & 0x01000000) != 0)) {
            result.longNoteMode_ = longNoteMode_;
          }
          if (((from_bitField0_ & 0x02000000) != 0)) {
            result.inputFavorMode_ = inputFavorMode_;
          }
          if (((from_bitField0_ & 0x04000000) != 0)) {
            result.noteModifyMode_ = noteModifyMode_;
          }
          if (((from_bitField0_ & 0x08000000) != 0)) {
            result.bpmMode_ = bpmMode_;
          }
          if (((from_bitField0_ & 0x10000000) != 0)) {
            result.waveMode_ = waveMode_;
          }
          if (((from_bitField0_ & 0x20000000) != 0)) {
            result.setNoteMode_ = setNoteMode_;
          }
          if (((from_bitField0_ & 0x40000000) != 0)) {
            result.lowestJudgmentConditionMode_ = lowestJudgmentConditionMode_;
          }
          if (((from_bitField0_ & 0x80000000) != 0)) {
            result.totalNotes_ = totalNotes_;
          }
          result.bitField0_ |= to_bitField0_;
        }

        private void buildPartial1(EventOuterClass.Event.QwilightCallNet result) {
          int from_bitField1_ = bitField1_;
          if (((from_bitField1_ & 0x00000001) != 0)) {
            result.judgmentStage_ = judgmentStage_;
          }
          if (((from_bitField1_ & 0x00000002) != 0)) {
            result.hitPointsValue_ = hitPointsValue_;
          }
          if (((from_bitField1_ & 0x00000004) != 0)) {
            result.highestInputCount_ = highestInputCount_;
          }
          if (((from_bitField1_ & 0x00000008) != 0)) {
            result.length_ = length_;
          }
          if (((from_bitField1_ & 0x00000010) != 0)) {
            result.bpm_ = bpm_;
          }
          if (((from_bitField1_ & 0x00000020) != 0)) {
            result.multiplier_ = multiplier_;
          }
          if (((from_bitField1_ & 0x00000040) != 0)) {
            result.inputMode_ = inputMode_;
          }
          if (((from_bitField1_ & 0x00000080) != 0)) {
            result.highestJudgment0_ = highestJudgment0_;
          }
          if (((from_bitField1_ & 0x00000100) != 0)) {
            result.higherJudgment0_ = higherJudgment0_;
          }
          if (((from_bitField1_ & 0x00000200) != 0)) {
            result.highJudgment0_ = highJudgment0_;
          }
          if (((from_bitField1_ & 0x00000400) != 0)) {
            result.lowJudgment0_ = lowJudgment0_;
          }
          if (((from_bitField1_ & 0x00000800) != 0)) {
            result.lowerJudgment0_ = lowerJudgment0_;
          }
          if (((from_bitField1_ & 0x00001000) != 0)) {
            result.lowestJudgment0_ = lowestJudgment0_;
          }
          if (((from_bitField1_ & 0x00002000) != 0)) {
            result.highestJudgment1_ = highestJudgment1_;
          }
          if (((from_bitField1_ & 0x00004000) != 0)) {
            result.higherJudgment1_ = higherJudgment1_;
          }
          if (((from_bitField1_ & 0x00008000) != 0)) {
            result.highJudgment1_ = highJudgment1_;
          }
          if (((from_bitField1_ & 0x00010000) != 0)) {
            result.lowJudgment1_ = lowJudgment1_;
          }
          if (((from_bitField1_ & 0x00020000) != 0)) {
            result.lowerJudgment1_ = lowerJudgment1_;
          }
          if (((from_bitField1_ & 0x00040000) != 0)) {
            result.lowestJudgment1_ = lowestJudgment1_;
          }
          if (((from_bitField1_ & 0x00080000) != 0)) {
            result.highestJudgment_ = highestJudgment_;
          }
          if (((from_bitField1_ & 0x00100000) != 0)) {
            result.higherJudgment_ = higherJudgment_;
          }
          if (((from_bitField1_ & 0x00200000) != 0)) {
            result.highJudgment_ = highJudgment_;
          }
          if (((from_bitField1_ & 0x00400000) != 0)) {
            result.lowJudgment_ = lowJudgment_;
          }
          if (((from_bitField1_ & 0x00800000) != 0)) {
            result.lowerJudgment_ = lowerJudgment_;
          }
          if (((from_bitField1_ & 0x01000000) != 0)) {
            result.lowestJudgment_ = lowestJudgment_;
          }
        }

        @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 EventOuterClass.Event.QwilightCallNet) {
            return mergeFrom((EventOuterClass.Event.QwilightCallNet)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightCallNet other) {
          if (other == EventOuterClass.Event.QwilightCallNet.getDefaultInstance()) return this;
          if (!other.getSiteID().isEmpty()) {
            siteID_ = other.siteID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.avatarNetStatus_ != 0) {
            setAvatarNetStatusValue(other.getAvatarNetStatusValue());
          }
          if (other.getStand() != 0) {
            setStand(other.getStand());
          }
          if (other.getHighestBand() != 0) {
            setHighestBand(other.getHighestBand());
          }
          if (other.getPoint() != 0D) {
            setPoint(other.getPoint());
          }
          if (other.getHitPoints() != 0D) {
            setHitPoints(other.getHitPoints());
          }
          if (other.getIsFailed() != false) {
            setIsFailed(other.getIsFailed());
          }
          if (other.getLastJudged() != 0) {
            setLastJudged(other.getLastJudged());
          }
          if (drawingsBuilder_ == null) {
            if (!other.drawings_.isEmpty()) {
              if (drawings_.isEmpty()) {
                drawings_ = other.drawings_;
                bitField0_ = (bitField0_ & ~0x00000200);
              } else {
                ensureDrawingsIsMutable();
                drawings_.addAll(other.drawings_);
              }
              onChanged();
            }
          } else {
            if (!other.drawings_.isEmpty()) {
              if (drawingsBuilder_.isEmpty()) {
                drawingsBuilder_.dispose();
                drawingsBuilder_ = null;
                drawings_ = other.drawings_;
                bitField0_ = (bitField0_ & ~0x00000200);
                drawingsBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getDrawingsFieldBuilder() : null;
              } else {
                drawingsBuilder_.addAllMessages(other.drawings_);
              }
            }
          }
          if (other.hasDrawingComponent()) {
            mergeDrawingComponent(other.getDrawingComponent());
          }
          if (!other.getTitle().isEmpty()) {
            title_ = other.title_;
            bitField0_ |= 0x00000800;
            onChanged();
          }
          if (!other.getArtist().isEmpty()) {
            artist_ = other.artist_;
            bitField0_ |= 0x00001000;
            onChanged();
          }
          if (!other.getGenre().isEmpty()) {
            genre_ = other.genre_;
            bitField0_ |= 0x00002000;
            onChanged();
          }
          if (other.getLevel() != 0) {
            setLevel(other.getLevel());
          }
          if (!other.getLevelText().isEmpty()) {
            levelText_ = other.levelText_;
            bitField0_ |= 0x00008000;
            onChanged();
          }
          if (!other.getWantLevelID().isEmpty()) {
            wantLevelID_ = other.wantLevelID_;
            bitField0_ |= 0x00010000;
            onChanged();
          }
          if (other.getAutoMode() != 0) {
            setAutoMode(other.getAutoMode());
          }
          if (other.getNoteSaltMode() != 0) {
            setNoteSaltMode(other.getNoteSaltMode());
          }
          if (other.getAudioMultiplier() != 0D) {
            setAudioMultiplier(other.getAudioMultiplier());
          }
          if (other.getFaintNoteMode() != 0) {
            setFaintNoteMode(other.getFaintNoteMode());
          }
          if (other.getJudgmentMode() != 0) {
            setJudgmentMode(other.getJudgmentMode());
          }
          if (other.getHitPointsMode() != 0) {
            setHitPointsMode(other.getHitPointsMode());
          }
          if (other.getNoteMobilityMode() != 0) {
            setNoteMobilityMode(other.getNoteMobilityMode());
          }
          if (other.getLongNoteMode() != 0) {
            setLongNoteMode(other.getLongNoteMode());
          }
          if (other.getInputFavorMode() != 0) {
            setInputFavorMode(other.getInputFavorMode());
          }
          if (other.getNoteModifyMode() != 0) {
            setNoteModifyMode(other.getNoteModifyMode());
          }
          if (other.getBpmMode() != 0) {
            setBpmMode(other.getBpmMode());
          }
          if (other.getWaveMode() != 0) {
            setWaveMode(other.getWaveMode());
          }
          if (other.getSetNoteMode() != 0) {
            setSetNoteMode(other.getSetNoteMode());
          }
          if (other.getLowestJudgmentConditionMode() != 0) {
            setLowestJudgmentConditionMode(other.getLowestJudgmentConditionMode());
          }
          if (other.getTotalNotes() != 0) {
            setTotalNotes(other.getTotalNotes());
          }
          if (other.getJudgmentStage() != 0D) {
            setJudgmentStage(other.getJudgmentStage());
          }
          if (other.getHitPointsValue() != 0D) {
            setHitPointsValue(other.getHitPointsValue());
          }
          if (other.getHighestInputCount() != 0) {
            setHighestInputCount(other.getHighestInputCount());
          }
          if (other.getLength() != 0D) {
            setLength(other.getLength());
          }
          if (other.getBpm() != 0D) {
            setBpm(other.getBpm());
          }
          if (other.getMultiplier() != 0D) {
            setMultiplier(other.getMultiplier());
          }
          if (other.getInputMode() != 0) {
            setInputMode(other.getInputMode());
          }
          if (other.getHighestJudgment0() != 0D) {
            setHighestJudgment0(other.getHighestJudgment0());
          }
          if (other.getHigherJudgment0() != 0D) {
            setHigherJudgment0(other.getHigherJudgment0());
          }
          if (other.getHighJudgment0() != 0D) {
            setHighJudgment0(other.getHighJudgment0());
          }
          if (other.getLowJudgment0() != 0D) {
            setLowJudgment0(other.getLowJudgment0());
          }
          if (other.getLowerJudgment0() != 0D) {
            setLowerJudgment0(other.getLowerJudgment0());
          }
          if (other.getLowestJudgment0() != 0D) {
            setLowestJudgment0(other.getLowestJudgment0());
          }
          if (other.getHighestJudgment1() != 0D) {
            setHighestJudgment1(other.getHighestJudgment1());
          }
          if (other.getHigherJudgment1() != 0D) {
            setHigherJudgment1(other.getHigherJudgment1());
          }
          if (other.getHighJudgment1() != 0D) {
            setHighJudgment1(other.getHighJudgment1());
          }
          if (other.getLowJudgment1() != 0D) {
            setLowJudgment1(other.getLowJudgment1());
          }
          if (other.getLowerJudgment1() != 0D) {
            setLowerJudgment1(other.getLowerJudgment1());
          }
          if (other.getLowestJudgment1() != 0D) {
            setLowestJudgment1(other.getLowestJudgment1());
          }
          if (other.getHighestJudgment() != 0) {
            setHighestJudgment(other.getHighestJudgment());
          }
          if (other.getHigherJudgment() != 0) {
            setHigherJudgment(other.getHigherJudgment());
          }
          if (other.getHighJudgment() != 0) {
            setHighJudgment(other.getHighJudgment());
          }
          if (other.getLowJudgment() != 0) {
            setLowJudgment(other.getLowJudgment());
          }
          if (other.getLowerJudgment() != 0) {
            setLowerJudgment(other.getLowerJudgment());
          }
          if (other.getLowestJudgment() != 0) {
            setLowestJudgment(other.getLowestJudgment());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  siteID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  avatarNetStatus_ = input.readEnum();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  stand_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 40: {
                  highestBand_ = input.readInt32();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 40
                case 49: {
                  point_ = input.readDouble();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 49
                case 57: {
                  hitPoints_ = input.readDouble();
                  bitField0_ |= 0x00000040;
                  break;
                } // case 57
                case 64: {
                  isFailed_ = input.readBool();
                  bitField0_ |= 0x00000080;
                  break;
                } // case 64
                case 72: {
                  lastJudged_ = input.readInt32();
                  bitField0_ |= 0x00000100;
                  break;
                } // case 72
                case 82: {
                  EventOuterClass.Event.NetDrawing m =
                      input.readMessage(
                          EventOuterClass.Event.NetDrawing.parser(),
                          extensionRegistry);
                  if (drawingsBuilder_ == null) {
                    ensureDrawingsIsMutable();
                    drawings_.add(m);
                  } else {
                    drawingsBuilder_.addMessage(m);
                  }
                  break;
                } // case 82
                case 90: {
                  input.readMessage(
                      getDrawingComponentFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000400;
                  break;
                } // case 90
                case 98: {
                  title_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000800;
                  break;
                } // case 98
                case 106: {
                  artist_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00001000;
                  break;
                } // case 106
                case 114: {
                  genre_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00002000;
                  break;
                } // case 114
                case 120: {
                  level_ = input.readInt32();
                  bitField0_ |= 0x00004000;
                  break;
                } // case 120
                case 130: {
                  levelText_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00008000;
                  break;
                } // case 130
                case 138: {
                  wantLevelID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00010000;
                  break;
                } // case 138
                case 144: {
                  autoMode_ = input.readInt32();
                  bitField0_ |= 0x00020000;
                  break;
                } // case 144
                case 152: {
                  noteSaltMode_ = input.readInt32();
                  bitField0_ |= 0x00040000;
                  break;
                } // case 152
                case 161: {
                  audioMultiplier_ = input.readDouble();
                  bitField0_ |= 0x00080000;
                  break;
                } // case 161
                case 168: {
                  faintNoteMode_ = input.readInt32();
                  bitField0_ |= 0x00100000;
                  break;
                } // case 168
                case 176: {
                  judgmentMode_ = input.readInt32();
                  bitField0_ |= 0x00200000;
                  break;
                } // case 176
                case 184: {
                  hitPointsMode_ = input.readInt32();
                  bitField0_ |= 0x00400000;
                  break;
                } // case 184
                case 192: {
                  noteMobilityMode_ = input.readInt32();
                  bitField0_ |= 0x00800000;
                  break;
                } // case 192
                case 200: {
                  longNoteMode_ = input.readInt32();
                  bitField0_ |= 0x01000000;
                  break;
                } // case 200
                case 208: {
                  inputFavorMode_ = input.readInt32();
                  bitField0_ |= 0x02000000;
                  break;
                } // case 208
                case 216: {
                  noteModifyMode_ = input.readInt32();
                  bitField0_ |= 0x04000000;
                  break;
                } // case 216
                case 224: {
                  bpmMode_ = input.readInt32();
                  bitField0_ |= 0x08000000;
                  break;
                } // case 224
                case 232: {
                  waveMode_ = input.readInt32();
                  bitField0_ |= 0x10000000;
                  break;
                } // case 232
                case 240: {
                  setNoteMode_ = input.readInt32();
                  bitField0_ |= 0x20000000;
                  break;
                } // case 240
                case 248: {
                  lowestJudgmentConditionMode_ = input.readInt32();
                  bitField0_ |= 0x40000000;
                  break;
                } // case 248
                case 256: {
                  totalNotes_ = input.readInt32();
                  bitField0_ |= 0x80000000;
                  break;
                } // case 256
                case 265: {
                  judgmentStage_ = input.readDouble();
                  bitField1_ |= 0x00000001;
                  break;
                } // case 265
                case 273: {
                  hitPointsValue_ = input.readDouble();
                  bitField1_ |= 0x00000002;
                  break;
                } // case 273
                case 280: {
                  highestInputCount_ = input.readInt32();
                  bitField1_ |= 0x00000004;
                  break;
                } // case 280
                case 289: {
                  length_ = input.readDouble();
                  bitField1_ |= 0x00000008;
                  break;
                } // case 289
                case 297: {
                  bpm_ = input.readDouble();
                  bitField1_ |= 0x00000010;
                  break;
                } // case 297
                case 305: {
                  multiplier_ = input.readDouble();
                  bitField1_ |= 0x00000020;
                  break;
                } // case 305
                case 312: {
                  inputMode_ = input.readInt32();
                  bitField1_ |= 0x00000040;
                  break;
                } // case 312
                case 321: {
                  highestJudgment0_ = input.readDouble();
                  bitField1_ |= 0x00000080;
                  break;
                } // case 321
                case 329: {
                  higherJudgment0_ = input.readDouble();
                  bitField1_ |= 0x00000100;
                  break;
                } // case 329
                case 337: {
                  highJudgment0_ = input.readDouble();
                  bitField1_ |= 0x00000200;
                  break;
                } // case 337
                case 345: {
                  lowJudgment0_ = input.readDouble();
                  bitField1_ |= 0x00000400;
                  break;
                } // case 345
                case 353: {
                  lowerJudgment0_ = input.readDouble();
                  bitField1_ |= 0x00000800;
                  break;
                } // case 353
                case 361: {
                  lowestJudgment0_ = input.readDouble();
                  bitField1_ |= 0x00001000;
                  break;
                } // case 361
                case 369: {
                  highestJudgment1_ = input.readDouble();
                  bitField1_ |= 0x00002000;
                  break;
                } // case 369
                case 377: {
                  higherJudgment1_ = input.readDouble();
                  bitField1_ |= 0x00004000;
                  break;
                } // case 377
                case 385: {
                  highJudgment1_ = input.readDouble();
                  bitField1_ |= 0x00008000;
                  break;
                } // case 385
                case 393: {
                  lowJudgment1_ = input.readDouble();
                  bitField1_ |= 0x00010000;
                  break;
                } // case 393
                case 401: {
                  lowerJudgment1_ = input.readDouble();
                  bitField1_ |= 0x00020000;
                  break;
                } // case 401
                case 409: {
                  lowestJudgment1_ = input.readDouble();
                  bitField1_ |= 0x00040000;
                  break;
                } // case 409
                case 416: {
                  highestJudgment_ = input.readInt32();
                  bitField1_ |= 0x00080000;
                  break;
                } // case 416
                case 424: {
                  higherJudgment_ = input.readInt32();
                  bitField1_ |= 0x00100000;
                  break;
                } // case 424
                case 432: {
                  highJudgment_ = input.readInt32();
                  bitField1_ |= 0x00200000;
                  break;
                } // case 432
                case 440: {
                  lowJudgment_ = input.readInt32();
                  bitField1_ |= 0x00400000;
                  break;
                } // case 440
                case 448: {
                  lowerJudgment_ = input.readInt32();
                  bitField1_ |= 0x00800000;
                  break;
                } // case 448
                case 456: {
                  lowestJudgment_ = input.readInt32();
                  bitField1_ |= 0x01000000;
                  break;
                } // case 456
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
        private int bitField1_;

        private java.lang.Object siteID_ = "";
        /**
         * <code>string siteID = 1;</code>
         * @return The siteID.
         */
        public java.lang.String getSiteID() {
          java.lang.Object ref = siteID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            siteID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string siteID = 1;</code>
         * @return The bytes for siteID.
         */
        public com.google.protobuf.ByteString
            getSiteIDBytes() {
          java.lang.Object ref = siteID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            siteID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string siteID = 1;</code>
         * @param value The siteID to set.
         * @return This builder for chaining.
         */
        public Builder setSiteID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          siteID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string siteID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearSiteID() {
          siteID_ = getDefaultInstance().getSiteID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string siteID = 1;</code>
         * @param value The bytes for siteID to set.
         * @return This builder for chaining.
         */
        public Builder setSiteIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          siteID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private int avatarNetStatus_ = 0;
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
         * @return The enum numeric value on the wire for avatarNetStatus.
         */
        @java.lang.Override public int getAvatarNetStatusValue() {
          return avatarNetStatus_;
        }
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
         * @param value The enum numeric value on the wire for avatarNetStatus to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarNetStatusValue(int value) {
          avatarNetStatus_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
         * @return The avatarNetStatus.
         */
        @java.lang.Override
        public EventOuterClass.Event.AvatarNetStatus getAvatarNetStatus() {
          EventOuterClass.Event.AvatarNetStatus result = EventOuterClass.Event.AvatarNetStatus.forNumber(avatarNetStatus_);
          return result == null ? EventOuterClass.Event.AvatarNetStatus.UNRECOGNIZED : result;
        }
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
         * @param value The avatarNetStatus to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarNetStatus(EventOuterClass.Event.AvatarNetStatus value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000004;
          avatarNetStatus_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>.Event.AvatarNetStatus avatarNetStatus = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarNetStatus() {
          bitField0_ = (bitField0_ & ~0x00000004);
          avatarNetStatus_ = 0;
          onChanged();
          return this;
        }

        private int stand_ ;
        /**
         * <code>int32 stand = 4;</code>
         * @return The stand.
         */
        @java.lang.Override
        public int getStand() {
          return stand_;
        }
        /**
         * <code>int32 stand = 4;</code>
         * @param value The stand to set.
         * @return This builder for chaining.
         */
        public Builder setStand(int value) {

          stand_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>int32 stand = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearStand() {
          bitField0_ = (bitField0_ & ~0x00000008);
          stand_ = 0;
          onChanged();
          return this;
        }

        private int highestBand_ ;
        /**
         * <code>int32 highestBand = 5;</code>
         * @return The highestBand.
         */
        @java.lang.Override
        public int getHighestBand() {
          return highestBand_;
        }
        /**
         * <code>int32 highestBand = 5;</code>
         * @param value The highestBand to set.
         * @return This builder for chaining.
         */
        public Builder setHighestBand(int value) {

          highestBand_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>int32 highestBand = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestBand() {
          bitField0_ = (bitField0_ & ~0x00000010);
          highestBand_ = 0;
          onChanged();
          return this;
        }

        private double point_ ;
        /**
         * <code>double point = 6;</code>
         * @return The point.
         */
        @java.lang.Override
        public double getPoint() {
          return point_;
        }
        /**
         * <code>double point = 6;</code>
         * @param value The point to set.
         * @return This builder for chaining.
         */
        public Builder setPoint(double value) {

          point_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>double point = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearPoint() {
          bitField0_ = (bitField0_ & ~0x00000020);
          point_ = 0D;
          onChanged();
          return this;
        }

        private double hitPoints_ ;
        /**
         * <code>double hitPoints = 7;</code>
         * @return The hitPoints.
         */
        @java.lang.Override
        public double getHitPoints() {
          return hitPoints_;
        }
        /**
         * <code>double hitPoints = 7;</code>
         * @param value The hitPoints to set.
         * @return This builder for chaining.
         */
        public Builder setHitPoints(double value) {

          hitPoints_ = value;
          bitField0_ |= 0x00000040;
          onChanged();
          return this;
        }
        /**
         * <code>double hitPoints = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearHitPoints() {
          bitField0_ = (bitField0_ & ~0x00000040);
          hitPoints_ = 0D;
          onChanged();
          return this;
        }

        private boolean isFailed_ ;
        /**
         * <code>bool isFailed = 8;</code>
         * @return The isFailed.
         */
        @java.lang.Override
        public boolean getIsFailed() {
          return isFailed_;
        }
        /**
         * <code>bool isFailed = 8;</code>
         * @param value The isFailed to set.
         * @return This builder for chaining.
         */
        public Builder setIsFailed(boolean value) {

          isFailed_ = value;
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <code>bool isFailed = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearIsFailed() {
          bitField0_ = (bitField0_ & ~0x00000080);
          isFailed_ = false;
          onChanged();
          return this;
        }

        private int lastJudged_ ;
        /**
         * <code>int32 lastJudged = 9;</code>
         * @return The lastJudged.
         */
        @java.lang.Override
        public int getLastJudged() {
          return lastJudged_;
        }
        /**
         * <code>int32 lastJudged = 9;</code>
         * @param value The lastJudged to set.
         * @return This builder for chaining.
         */
        public Builder setLastJudged(int value) {

          lastJudged_ = value;
          bitField0_ |= 0x00000100;
          onChanged();
          return this;
        }
        /**
         * <code>int32 lastJudged = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearLastJudged() {
          bitField0_ = (bitField0_ & ~0x00000100);
          lastJudged_ = 0;
          onChanged();
          return this;
        }

        private java.util.List<EventOuterClass.Event.NetDrawing> drawings_ =
          java.util.Collections.emptyList();
        private void ensureDrawingsIsMutable() {
          if (!((bitField0_ & 0x00000200) != 0)) {
            drawings_ = new java.util.ArrayList<EventOuterClass.Event.NetDrawing>(drawings_);
            bitField0_ |= 0x00000200;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            EventOuterClass.Event.NetDrawing, EventOuterClass.Event.NetDrawing.Builder, EventOuterClass.Event.NetDrawingOrBuilder> drawingsBuilder_;

        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public java.util.List<EventOuterClass.Event.NetDrawing> getDrawingsList() {
          if (drawingsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(drawings_);
          } else {
            return drawingsBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public int getDrawingsCount() {
          if (drawingsBuilder_ == null) {
            return drawings_.size();
          } else {
            return drawingsBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public EventOuterClass.Event.NetDrawing getDrawings(int index) {
          if (drawingsBuilder_ == null) {
            return drawings_.get(index);
          } else {
            return drawingsBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder setDrawings(
            int index, EventOuterClass.Event.NetDrawing value) {
          if (drawingsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDrawingsIsMutable();
            drawings_.set(index, value);
            onChanged();
          } else {
            drawingsBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder setDrawings(
            int index, EventOuterClass.Event.NetDrawing.Builder builderForValue) {
          if (drawingsBuilder_ == null) {
            ensureDrawingsIsMutable();
            drawings_.set(index, builderForValue.build());
            onChanged();
          } else {
            drawingsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder addDrawings(EventOuterClass.Event.NetDrawing value) {
          if (drawingsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDrawingsIsMutable();
            drawings_.add(value);
            onChanged();
          } else {
            drawingsBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder addDrawings(
            int index, EventOuterClass.Event.NetDrawing value) {
          if (drawingsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDrawingsIsMutable();
            drawings_.add(index, value);
            onChanged();
          } else {
            drawingsBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder addDrawings(
            EventOuterClass.Event.NetDrawing.Builder builderForValue) {
          if (drawingsBuilder_ == null) {
            ensureDrawingsIsMutable();
            drawings_.add(builderForValue.build());
            onChanged();
          } else {
            drawingsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder addDrawings(
            int index, EventOuterClass.Event.NetDrawing.Builder builderForValue) {
          if (drawingsBuilder_ == null) {
            ensureDrawingsIsMutable();
            drawings_.add(index, builderForValue.build());
            onChanged();
          } else {
            drawingsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder addAllDrawings(
            java.lang.Iterable<? extends EventOuterClass.Event.NetDrawing> values) {
          if (drawingsBuilder_ == null) {
            ensureDrawingsIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, drawings_);
            onChanged();
          } else {
            drawingsBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder clearDrawings() {
          if (drawingsBuilder_ == null) {
            drawings_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000200);
            onChanged();
          } else {
            drawingsBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public Builder removeDrawings(int index) {
          if (drawingsBuilder_ == null) {
            ensureDrawingsIsMutable();
            drawings_.remove(index);
            onChanged();
          } else {
            drawingsBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public EventOuterClass.Event.NetDrawing.Builder getDrawingsBuilder(
            int index) {
          return getDrawingsFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public EventOuterClass.Event.NetDrawingOrBuilder getDrawingsOrBuilder(
            int index) {
          if (drawingsBuilder_ == null) {
            return drawings_.get(index);  } else {
            return drawingsBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public java.util.List<? extends EventOuterClass.Event.NetDrawingOrBuilder> 
             getDrawingsOrBuilderList() {
          if (drawingsBuilder_ != null) {
            return drawingsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(drawings_);
          }
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public EventOuterClass.Event.NetDrawing.Builder addDrawingsBuilder() {
          return getDrawingsFieldBuilder().addBuilder(
              EventOuterClass.Event.NetDrawing.getDefaultInstance());
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public EventOuterClass.Event.NetDrawing.Builder addDrawingsBuilder(
            int index) {
          return getDrawingsFieldBuilder().addBuilder(
              index, EventOuterClass.Event.NetDrawing.getDefaultInstance());
        }
        /**
         * <code>repeated .Event.NetDrawing drawings = 10;</code>
         */
        public java.util.List<EventOuterClass.Event.NetDrawing.Builder> 
             getDrawingsBuilderList() {
          return getDrawingsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            EventOuterClass.Event.NetDrawing, EventOuterClass.Event.NetDrawing.Builder, EventOuterClass.Event.NetDrawingOrBuilder> 
            getDrawingsFieldBuilder() {
          if (drawingsBuilder_ == null) {
            drawingsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                EventOuterClass.Event.NetDrawing, EventOuterClass.Event.NetDrawing.Builder, EventOuterClass.Event.NetDrawingOrBuilder>(
                    drawings_,
                    ((bitField0_ & 0x00000200) != 0),
                    getParentForChildren(),
                    isClean());
            drawings_ = null;
          }
          return drawingsBuilder_;
        }

        private EventOuterClass.Event.DrawingComponent drawingComponent_;
        private com.google.protobuf.SingleFieldBuilderV3<
            EventOuterClass.Event.DrawingComponent, EventOuterClass.Event.DrawingComponent.Builder, EventOuterClass.Event.DrawingComponentOrBuilder> drawingComponentBuilder_;
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         * @return Whether the drawingComponent field is set.
         */
        public boolean hasDrawingComponent() {
          return ((bitField0_ & 0x00000400) != 0);
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         * @return The drawingComponent.
         */
        public EventOuterClass.Event.DrawingComponent getDrawingComponent() {
          if (drawingComponentBuilder_ == null) {
            return drawingComponent_ == null ? EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
          } else {
            return drawingComponentBuilder_.getMessage();
          }
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        public Builder setDrawingComponent(EventOuterClass.Event.DrawingComponent value) {
          if (drawingComponentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            drawingComponent_ = value;
          } else {
            drawingComponentBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000400;
          onChanged();
          return this;
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        public Builder setDrawingComponent(
            EventOuterClass.Event.DrawingComponent.Builder builderForValue) {
          if (drawingComponentBuilder_ == null) {
            drawingComponent_ = builderForValue.build();
          } else {
            drawingComponentBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000400;
          onChanged();
          return this;
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        public Builder mergeDrawingComponent(EventOuterClass.Event.DrawingComponent value) {
          if (drawingComponentBuilder_ == null) {
            if (((bitField0_ & 0x00000400) != 0) &&
              drawingComponent_ != null &&
              drawingComponent_ != EventOuterClass.Event.DrawingComponent.getDefaultInstance()) {
              getDrawingComponentBuilder().mergeFrom(value);
            } else {
              drawingComponent_ = value;
            }
          } else {
            drawingComponentBuilder_.mergeFrom(value);
          }
          if (drawingComponent_ != null) {
            bitField0_ |= 0x00000400;
            onChanged();
          }
          return this;
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        public Builder clearDrawingComponent() {
          bitField0_ = (bitField0_ & ~0x00000400);
          drawingComponent_ = null;
          if (drawingComponentBuilder_ != null) {
            drawingComponentBuilder_.dispose();
            drawingComponentBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        public EventOuterClass.Event.DrawingComponent.Builder getDrawingComponentBuilder() {
          bitField0_ |= 0x00000400;
          onChanged();
          return getDrawingComponentFieldBuilder().getBuilder();
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        public EventOuterClass.Event.DrawingComponentOrBuilder getDrawingComponentOrBuilder() {
          if (drawingComponentBuilder_ != null) {
            return drawingComponentBuilder_.getMessageOrBuilder();
          } else {
            return drawingComponent_ == null ?
                EventOuterClass.Event.DrawingComponent.getDefaultInstance() : drawingComponent_;
          }
        }
        /**
         * <code>.Event.DrawingComponent drawingComponent = 11;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            EventOuterClass.Event.DrawingComponent, EventOuterClass.Event.DrawingComponent.Builder, EventOuterClass.Event.DrawingComponentOrBuilder> 
            getDrawingComponentFieldBuilder() {
          if (drawingComponentBuilder_ == null) {
            drawingComponentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                EventOuterClass.Event.DrawingComponent, EventOuterClass.Event.DrawingComponent.Builder, EventOuterClass.Event.DrawingComponentOrBuilder>(
                    getDrawingComponent(),
                    getParentForChildren(),
                    isClean());
            drawingComponent_ = null;
          }
          return drawingComponentBuilder_;
        }

        private java.lang.Object title_ = "";
        /**
         * <code>string title = 12;</code>
         * @return The title.
         */
        public java.lang.String getTitle() {
          java.lang.Object ref = title_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            title_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string title = 12;</code>
         * @return The bytes for title.
         */
        public com.google.protobuf.ByteString
            getTitleBytes() {
          java.lang.Object ref = title_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            title_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string title = 12;</code>
         * @param value The title to set.
         * @return This builder for chaining.
         */
        public Builder setTitle(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          title_ = value;
          bitField0_ |= 0x00000800;
          onChanged();
          return this;
        }
        /**
         * <code>string title = 12;</code>
         * @return This builder for chaining.
         */
        public Builder clearTitle() {
          title_ = getDefaultInstance().getTitle();
          bitField0_ = (bitField0_ & ~0x00000800);
          onChanged();
          return this;
        }
        /**
         * <code>string title = 12;</code>
         * @param value The bytes for title to set.
         * @return This builder for chaining.
         */
        public Builder setTitleBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          title_ = value;
          bitField0_ |= 0x00000800;
          onChanged();
          return this;
        }

        private java.lang.Object artist_ = "";
        /**
         * <code>string artist = 13;</code>
         * @return The artist.
         */
        public java.lang.String getArtist() {
          java.lang.Object ref = artist_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            artist_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string artist = 13;</code>
         * @return The bytes for artist.
         */
        public com.google.protobuf.ByteString
            getArtistBytes() {
          java.lang.Object ref = artist_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            artist_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string artist = 13;</code>
         * @param value The artist to set.
         * @return This builder for chaining.
         */
        public Builder setArtist(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          artist_ = value;
          bitField0_ |= 0x00001000;
          onChanged();
          return this;
        }
        /**
         * <code>string artist = 13;</code>
         * @return This builder for chaining.
         */
        public Builder clearArtist() {
          artist_ = getDefaultInstance().getArtist();
          bitField0_ = (bitField0_ & ~0x00001000);
          onChanged();
          return this;
        }
        /**
         * <code>string artist = 13;</code>
         * @param value The bytes for artist to set.
         * @return This builder for chaining.
         */
        public Builder setArtistBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          artist_ = value;
          bitField0_ |= 0x00001000;
          onChanged();
          return this;
        }

        private java.lang.Object genre_ = "";
        /**
         * <code>string genre = 14;</code>
         * @return The genre.
         */
        public java.lang.String getGenre() {
          java.lang.Object ref = genre_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            genre_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string genre = 14;</code>
         * @return The bytes for genre.
         */
        public com.google.protobuf.ByteString
            getGenreBytes() {
          java.lang.Object ref = genre_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            genre_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string genre = 14;</code>
         * @param value The genre to set.
         * @return This builder for chaining.
         */
        public Builder setGenre(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          genre_ = value;
          bitField0_ |= 0x00002000;
          onChanged();
          return this;
        }
        /**
         * <code>string genre = 14;</code>
         * @return This builder for chaining.
         */
        public Builder clearGenre() {
          genre_ = getDefaultInstance().getGenre();
          bitField0_ = (bitField0_ & ~0x00002000);
          onChanged();
          return this;
        }
        /**
         * <code>string genre = 14;</code>
         * @param value The bytes for genre to set.
         * @return This builder for chaining.
         */
        public Builder setGenreBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          genre_ = value;
          bitField0_ |= 0x00002000;
          onChanged();
          return this;
        }

        private int level_ ;
        /**
         * <code>int32 level = 15;</code>
         * @return The level.
         */
        @java.lang.Override
        public int getLevel() {
          return level_;
        }
        /**
         * <code>int32 level = 15;</code>
         * @param value The level to set.
         * @return This builder for chaining.
         */
        public Builder setLevel(int value) {

          level_ = value;
          bitField0_ |= 0x00004000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 level = 15;</code>
         * @return This builder for chaining.
         */
        public Builder clearLevel() {
          bitField0_ = (bitField0_ & ~0x00004000);
          level_ = 0;
          onChanged();
          return this;
        }

        private java.lang.Object levelText_ = "";
        /**
         * <code>string levelText = 16;</code>
         * @return The levelText.
         */
        public java.lang.String getLevelText() {
          java.lang.Object ref = levelText_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            levelText_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string levelText = 16;</code>
         * @return The bytes for levelText.
         */
        public com.google.protobuf.ByteString
            getLevelTextBytes() {
          java.lang.Object ref = levelText_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            levelText_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string levelText = 16;</code>
         * @param value The levelText to set.
         * @return This builder for chaining.
         */
        public Builder setLevelText(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          levelText_ = value;
          bitField0_ |= 0x00008000;
          onChanged();
          return this;
        }
        /**
         * <code>string levelText = 16;</code>
         * @return This builder for chaining.
         */
        public Builder clearLevelText() {
          levelText_ = getDefaultInstance().getLevelText();
          bitField0_ = (bitField0_ & ~0x00008000);
          onChanged();
          return this;
        }
        /**
         * <code>string levelText = 16;</code>
         * @param value The bytes for levelText to set.
         * @return This builder for chaining.
         */
        public Builder setLevelTextBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          levelText_ = value;
          bitField0_ |= 0x00008000;
          onChanged();
          return this;
        }

        private java.lang.Object wantLevelID_ = "";
        /**
         * <code>string wantLevelID = 17;</code>
         * @return The wantLevelID.
         */
        public java.lang.String getWantLevelID() {
          java.lang.Object ref = wantLevelID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            wantLevelID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string wantLevelID = 17;</code>
         * @return The bytes for wantLevelID.
         */
        public com.google.protobuf.ByteString
            getWantLevelIDBytes() {
          java.lang.Object ref = wantLevelID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            wantLevelID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string wantLevelID = 17;</code>
         * @param value The wantLevelID to set.
         * @return This builder for chaining.
         */
        public Builder setWantLevelID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          wantLevelID_ = value;
          bitField0_ |= 0x00010000;
          onChanged();
          return this;
        }
        /**
         * <code>string wantLevelID = 17;</code>
         * @return This builder for chaining.
         */
        public Builder clearWantLevelID() {
          wantLevelID_ = getDefaultInstance().getWantLevelID();
          bitField0_ = (bitField0_ & ~0x00010000);
          onChanged();
          return this;
        }
        /**
         * <code>string wantLevelID = 17;</code>
         * @param value The bytes for wantLevelID to set.
         * @return This builder for chaining.
         */
        public Builder setWantLevelIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          wantLevelID_ = value;
          bitField0_ |= 0x00010000;
          onChanged();
          return this;
        }

        private int autoMode_ ;
        /**
         * <code>int32 autoMode = 18;</code>
         * @return The autoMode.
         */
        @java.lang.Override
        public int getAutoMode() {
          return autoMode_;
        }
        /**
         * <code>int32 autoMode = 18;</code>
         * @param value The autoMode to set.
         * @return This builder for chaining.
         */
        public Builder setAutoMode(int value) {

          autoMode_ = value;
          bitField0_ |= 0x00020000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 autoMode = 18;</code>
         * @return This builder for chaining.
         */
        public Builder clearAutoMode() {
          bitField0_ = (bitField0_ & ~0x00020000);
          autoMode_ = 0;
          onChanged();
          return this;
        }

        private int noteSaltMode_ ;
        /**
         * <code>int32 noteSaltMode = 19;</code>
         * @return The noteSaltMode.
         */
        @java.lang.Override
        public int getNoteSaltMode() {
          return noteSaltMode_;
        }
        /**
         * <code>int32 noteSaltMode = 19;</code>
         * @param value The noteSaltMode to set.
         * @return This builder for chaining.
         */
        public Builder setNoteSaltMode(int value) {

          noteSaltMode_ = value;
          bitField0_ |= 0x00040000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteSaltMode = 19;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteSaltMode() {
          bitField0_ = (bitField0_ & ~0x00040000);
          noteSaltMode_ = 0;
          onChanged();
          return this;
        }

        private double audioMultiplier_ ;
        /**
         * <code>double audioMultiplier = 20;</code>
         * @return The audioMultiplier.
         */
        @java.lang.Override
        public double getAudioMultiplier() {
          return audioMultiplier_;
        }
        /**
         * <code>double audioMultiplier = 20;</code>
         * @param value The audioMultiplier to set.
         * @return This builder for chaining.
         */
        public Builder setAudioMultiplier(double value) {

          audioMultiplier_ = value;
          bitField0_ |= 0x00080000;
          onChanged();
          return this;
        }
        /**
         * <code>double audioMultiplier = 20;</code>
         * @return This builder for chaining.
         */
        public Builder clearAudioMultiplier() {
          bitField0_ = (bitField0_ & ~0x00080000);
          audioMultiplier_ = 0D;
          onChanged();
          return this;
        }

        private int faintNoteMode_ ;
        /**
         * <code>int32 faintNoteMode = 21;</code>
         * @return The faintNoteMode.
         */
        @java.lang.Override
        public int getFaintNoteMode() {
          return faintNoteMode_;
        }
        /**
         * <code>int32 faintNoteMode = 21;</code>
         * @param value The faintNoteMode to set.
         * @return This builder for chaining.
         */
        public Builder setFaintNoteMode(int value) {

          faintNoteMode_ = value;
          bitField0_ |= 0x00100000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 faintNoteMode = 21;</code>
         * @return This builder for chaining.
         */
        public Builder clearFaintNoteMode() {
          bitField0_ = (bitField0_ & ~0x00100000);
          faintNoteMode_ = 0;
          onChanged();
          return this;
        }

        private int judgmentMode_ ;
        /**
         * <code>int32 judgmentMode = 22;</code>
         * @return The judgmentMode.
         */
        @java.lang.Override
        public int getJudgmentMode() {
          return judgmentMode_;
        }
        /**
         * <code>int32 judgmentMode = 22;</code>
         * @param value The judgmentMode to set.
         * @return This builder for chaining.
         */
        public Builder setJudgmentMode(int value) {

          judgmentMode_ = value;
          bitField0_ |= 0x00200000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 judgmentMode = 22;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudgmentMode() {
          bitField0_ = (bitField0_ & ~0x00200000);
          judgmentMode_ = 0;
          onChanged();
          return this;
        }

        private int hitPointsMode_ ;
        /**
         * <code>int32 hitPointsMode = 23;</code>
         * @return The hitPointsMode.
         */
        @java.lang.Override
        public int getHitPointsMode() {
          return hitPointsMode_;
        }
        /**
         * <code>int32 hitPointsMode = 23;</code>
         * @param value The hitPointsMode to set.
         * @return This builder for chaining.
         */
        public Builder setHitPointsMode(int value) {

          hitPointsMode_ = value;
          bitField0_ |= 0x00400000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 hitPointsMode = 23;</code>
         * @return This builder for chaining.
         */
        public Builder clearHitPointsMode() {
          bitField0_ = (bitField0_ & ~0x00400000);
          hitPointsMode_ = 0;
          onChanged();
          return this;
        }

        private int noteMobilityMode_ ;
        /**
         * <code>int32 noteMobilityMode = 24;</code>
         * @return The noteMobilityMode.
         */
        @java.lang.Override
        public int getNoteMobilityMode() {
          return noteMobilityMode_;
        }
        /**
         * <code>int32 noteMobilityMode = 24;</code>
         * @param value The noteMobilityMode to set.
         * @return This builder for chaining.
         */
        public Builder setNoteMobilityMode(int value) {

          noteMobilityMode_ = value;
          bitField0_ |= 0x00800000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteMobilityMode = 24;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteMobilityMode() {
          bitField0_ = (bitField0_ & ~0x00800000);
          noteMobilityMode_ = 0;
          onChanged();
          return this;
        }

        private int longNoteMode_ ;
        /**
         * <code>int32 longNoteMode = 25;</code>
         * @return The longNoteMode.
         */
        @java.lang.Override
        public int getLongNoteMode() {
          return longNoteMode_;
        }
        /**
         * <code>int32 longNoteMode = 25;</code>
         * @param value The longNoteMode to set.
         * @return This builder for chaining.
         */
        public Builder setLongNoteMode(int value) {

          longNoteMode_ = value;
          bitField0_ |= 0x01000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 longNoteMode = 25;</code>
         * @return This builder for chaining.
         */
        public Builder clearLongNoteMode() {
          bitField0_ = (bitField0_ & ~0x01000000);
          longNoteMode_ = 0;
          onChanged();
          return this;
        }

        private int inputFavorMode_ ;
        /**
         * <code>int32 inputFavorMode = 26;</code>
         * @return The inputFavorMode.
         */
        @java.lang.Override
        public int getInputFavorMode() {
          return inputFavorMode_;
        }
        /**
         * <code>int32 inputFavorMode = 26;</code>
         * @param value The inputFavorMode to set.
         * @return This builder for chaining.
         */
        public Builder setInputFavorMode(int value) {

          inputFavorMode_ = value;
          bitField0_ |= 0x02000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 inputFavorMode = 26;</code>
         * @return This builder for chaining.
         */
        public Builder clearInputFavorMode() {
          bitField0_ = (bitField0_ & ~0x02000000);
          inputFavorMode_ = 0;
          onChanged();
          return this;
        }

        private int noteModifyMode_ ;
        /**
         * <code>int32 noteModifyMode = 27;</code>
         * @return The noteModifyMode.
         */
        @java.lang.Override
        public int getNoteModifyMode() {
          return noteModifyMode_;
        }
        /**
         * <code>int32 noteModifyMode = 27;</code>
         * @param value The noteModifyMode to set.
         * @return This builder for chaining.
         */
        public Builder setNoteModifyMode(int value) {

          noteModifyMode_ = value;
          bitField0_ |= 0x04000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteModifyMode = 27;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteModifyMode() {
          bitField0_ = (bitField0_ & ~0x04000000);
          noteModifyMode_ = 0;
          onChanged();
          return this;
        }

        private int bpmMode_ ;
        /**
         * <code>int32 bpmMode = 28;</code>
         * @return The bpmMode.
         */
        @java.lang.Override
        public int getBpmMode() {
          return bpmMode_;
        }
        /**
         * <code>int32 bpmMode = 28;</code>
         * @param value The bpmMode to set.
         * @return This builder for chaining.
         */
        public Builder setBpmMode(int value) {

          bpmMode_ = value;
          bitField0_ |= 0x08000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 bpmMode = 28;</code>
         * @return This builder for chaining.
         */
        public Builder clearBpmMode() {
          bitField0_ = (bitField0_ & ~0x08000000);
          bpmMode_ = 0;
          onChanged();
          return this;
        }

        private int waveMode_ ;
        /**
         * <code>int32 waveMode = 29;</code>
         * @return The waveMode.
         */
        @java.lang.Override
        public int getWaveMode() {
          return waveMode_;
        }
        /**
         * <code>int32 waveMode = 29;</code>
         * @param value The waveMode to set.
         * @return This builder for chaining.
         */
        public Builder setWaveMode(int value) {

          waveMode_ = value;
          bitField0_ |= 0x10000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 waveMode = 29;</code>
         * @return This builder for chaining.
         */
        public Builder clearWaveMode() {
          bitField0_ = (bitField0_ & ~0x10000000);
          waveMode_ = 0;
          onChanged();
          return this;
        }

        private int setNoteMode_ ;
        /**
         * <code>int32 setNoteMode = 30;</code>
         * @return The setNoteMode.
         */
        @java.lang.Override
        public int getSetNoteMode() {
          return setNoteMode_;
        }
        /**
         * <code>int32 setNoteMode = 30;</code>
         * @param value The setNoteMode to set.
         * @return This builder for chaining.
         */
        public Builder setSetNoteMode(int value) {

          setNoteMode_ = value;
          bitField0_ |= 0x20000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 setNoteMode = 30;</code>
         * @return This builder for chaining.
         */
        public Builder clearSetNoteMode() {
          bitField0_ = (bitField0_ & ~0x20000000);
          setNoteMode_ = 0;
          onChanged();
          return this;
        }

        private int lowestJudgmentConditionMode_ ;
        /**
         * <code>int32 lowestJudgmentConditionMode = 31;</code>
         * @return The lowestJudgmentConditionMode.
         */
        @java.lang.Override
        public int getLowestJudgmentConditionMode() {
          return lowestJudgmentConditionMode_;
        }
        /**
         * <code>int32 lowestJudgmentConditionMode = 31;</code>
         * @param value The lowestJudgmentConditionMode to set.
         * @return This builder for chaining.
         */
        public Builder setLowestJudgmentConditionMode(int value) {

          lowestJudgmentConditionMode_ = value;
          bitField0_ |= 0x40000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 lowestJudgmentConditionMode = 31;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowestJudgmentConditionMode() {
          bitField0_ = (bitField0_ & ~0x40000000);
          lowestJudgmentConditionMode_ = 0;
          onChanged();
          return this;
        }

        private int totalNotes_ ;
        /**
         * <code>int32 totalNotes = 32;</code>
         * @return The totalNotes.
         */
        @java.lang.Override
        public int getTotalNotes() {
          return totalNotes_;
        }
        /**
         * <code>int32 totalNotes = 32;</code>
         * @param value The totalNotes to set.
         * @return This builder for chaining.
         */
        public Builder setTotalNotes(int value) {

          totalNotes_ = value;
          bitField0_ |= 0x80000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 totalNotes = 32;</code>
         * @return This builder for chaining.
         */
        public Builder clearTotalNotes() {
          bitField0_ = (bitField0_ & ~0x80000000);
          totalNotes_ = 0;
          onChanged();
          return this;
        }

        private double judgmentStage_ ;
        /**
         * <code>double judgmentStage = 33;</code>
         * @return The judgmentStage.
         */
        @java.lang.Override
        public double getJudgmentStage() {
          return judgmentStage_;
        }
        /**
         * <code>double judgmentStage = 33;</code>
         * @param value The judgmentStage to set.
         * @return This builder for chaining.
         */
        public Builder setJudgmentStage(double value) {

          judgmentStage_ = value;
          bitField1_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>double judgmentStage = 33;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudgmentStage() {
          bitField1_ = (bitField1_ & ~0x00000001);
          judgmentStage_ = 0D;
          onChanged();
          return this;
        }

        private double hitPointsValue_ ;
        /**
         * <code>double hitPointsValue = 34;</code>
         * @return The hitPointsValue.
         */
        @java.lang.Override
        public double getHitPointsValue() {
          return hitPointsValue_;
        }
        /**
         * <code>double hitPointsValue = 34;</code>
         * @param value The hitPointsValue to set.
         * @return This builder for chaining.
         */
        public Builder setHitPointsValue(double value) {

          hitPointsValue_ = value;
          bitField1_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>double hitPointsValue = 34;</code>
         * @return This builder for chaining.
         */
        public Builder clearHitPointsValue() {
          bitField1_ = (bitField1_ & ~0x00000002);
          hitPointsValue_ = 0D;
          onChanged();
          return this;
        }

        private int highestInputCount_ ;
        /**
         * <code>int32 highestInputCount = 35;</code>
         * @return The highestInputCount.
         */
        @java.lang.Override
        public int getHighestInputCount() {
          return highestInputCount_;
        }
        /**
         * <code>int32 highestInputCount = 35;</code>
         * @param value The highestInputCount to set.
         * @return This builder for chaining.
         */
        public Builder setHighestInputCount(int value) {

          highestInputCount_ = value;
          bitField1_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 highestInputCount = 35;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestInputCount() {
          bitField1_ = (bitField1_ & ~0x00000004);
          highestInputCount_ = 0;
          onChanged();
          return this;
        }

        private double length_ ;
        /**
         * <code>double length = 36;</code>
         * @return The length.
         */
        @java.lang.Override
        public double getLength() {
          return length_;
        }
        /**
         * <code>double length = 36;</code>
         * @param value The length to set.
         * @return This builder for chaining.
         */
        public Builder setLength(double value) {

          length_ = value;
          bitField1_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>double length = 36;</code>
         * @return This builder for chaining.
         */
        public Builder clearLength() {
          bitField1_ = (bitField1_ & ~0x00000008);
          length_ = 0D;
          onChanged();
          return this;
        }

        private double bpm_ ;
        /**
         * <code>double bpm = 37;</code>
         * @return The bpm.
         */
        @java.lang.Override
        public double getBpm() {
          return bpm_;
        }
        /**
         * <code>double bpm = 37;</code>
         * @param value The bpm to set.
         * @return This builder for chaining.
         */
        public Builder setBpm(double value) {

          bpm_ = value;
          bitField1_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>double bpm = 37;</code>
         * @return This builder for chaining.
         */
        public Builder clearBpm() {
          bitField1_ = (bitField1_ & ~0x00000010);
          bpm_ = 0D;
          onChanged();
          return this;
        }

        private double multiplier_ ;
        /**
         * <code>double multiplier = 38;</code>
         * @return The multiplier.
         */
        @java.lang.Override
        public double getMultiplier() {
          return multiplier_;
        }
        /**
         * <code>double multiplier = 38;</code>
         * @param value The multiplier to set.
         * @return This builder for chaining.
         */
        public Builder setMultiplier(double value) {

          multiplier_ = value;
          bitField1_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>double multiplier = 38;</code>
         * @return This builder for chaining.
         */
        public Builder clearMultiplier() {
          bitField1_ = (bitField1_ & ~0x00000020);
          multiplier_ = 0D;
          onChanged();
          return this;
        }

        private int inputMode_ ;
        /**
         * <code>int32 inputMode = 39;</code>
         * @return The inputMode.
         */
        @java.lang.Override
        public int getInputMode() {
          return inputMode_;
        }
        /**
         * <code>int32 inputMode = 39;</code>
         * @param value The inputMode to set.
         * @return This builder for chaining.
         */
        public Builder setInputMode(int value) {

          inputMode_ = value;
          bitField1_ |= 0x00000040;
          onChanged();
          return this;
        }
        /**
         * <code>int32 inputMode = 39;</code>
         * @return This builder for chaining.
         */
        public Builder clearInputMode() {
          bitField1_ = (bitField1_ & ~0x00000040);
          inputMode_ = 0;
          onChanged();
          return this;
        }

        private double highestJudgment0_ ;
        /**
         * <code>double highestJudgment0 = 40;</code>
         * @return The highestJudgment0.
         */
        @java.lang.Override
        public double getHighestJudgment0() {
          return highestJudgment0_;
        }
        /**
         * <code>double highestJudgment0 = 40;</code>
         * @param value The highestJudgment0 to set.
         * @return This builder for chaining.
         */
        public Builder setHighestJudgment0(double value) {

          highestJudgment0_ = value;
          bitField1_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <code>double highestJudgment0 = 40;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestJudgment0() {
          bitField1_ = (bitField1_ & ~0x00000080);
          highestJudgment0_ = 0D;
          onChanged();
          return this;
        }

        private double higherJudgment0_ ;
        /**
         * <code>double higherJudgment0 = 41;</code>
         * @return The higherJudgment0.
         */
        @java.lang.Override
        public double getHigherJudgment0() {
          return higherJudgment0_;
        }
        /**
         * <code>double higherJudgment0 = 41;</code>
         * @param value The higherJudgment0 to set.
         * @return This builder for chaining.
         */
        public Builder setHigherJudgment0(double value) {

          higherJudgment0_ = value;
          bitField1_ |= 0x00000100;
          onChanged();
          return this;
        }
        /**
         * <code>double higherJudgment0 = 41;</code>
         * @return This builder for chaining.
         */
        public Builder clearHigherJudgment0() {
          bitField1_ = (bitField1_ & ~0x00000100);
          higherJudgment0_ = 0D;
          onChanged();
          return this;
        }

        private double highJudgment0_ ;
        /**
         * <code>double highJudgment0 = 42;</code>
         * @return The highJudgment0.
         */
        @java.lang.Override
        public double getHighJudgment0() {
          return highJudgment0_;
        }
        /**
         * <code>double highJudgment0 = 42;</code>
         * @param value The highJudgment0 to set.
         * @return This builder for chaining.
         */
        public Builder setHighJudgment0(double value) {

          highJudgment0_ = value;
          bitField1_ |= 0x00000200;
          onChanged();
          return this;
        }
        /**
         * <code>double highJudgment0 = 42;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighJudgment0() {
          bitField1_ = (bitField1_ & ~0x00000200);
          highJudgment0_ = 0D;
          onChanged();
          return this;
        }

        private double lowJudgment0_ ;
        /**
         * <code>double lowJudgment0 = 43;</code>
         * @return The lowJudgment0.
         */
        @java.lang.Override
        public double getLowJudgment0() {
          return lowJudgment0_;
        }
        /**
         * <code>double lowJudgment0 = 43;</code>
         * @param value The lowJudgment0 to set.
         * @return This builder for chaining.
         */
        public Builder setLowJudgment0(double value) {

          lowJudgment0_ = value;
          bitField1_ |= 0x00000400;
          onChanged();
          return this;
        }
        /**
         * <code>double lowJudgment0 = 43;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowJudgment0() {
          bitField1_ = (bitField1_ & ~0x00000400);
          lowJudgment0_ = 0D;
          onChanged();
          return this;
        }

        private double lowerJudgment0_ ;
        /**
         * <code>double lowerJudgment0 = 44;</code>
         * @return The lowerJudgment0.
         */
        @java.lang.Override
        public double getLowerJudgment0() {
          return lowerJudgment0_;
        }
        /**
         * <code>double lowerJudgment0 = 44;</code>
         * @param value The lowerJudgment0 to set.
         * @return This builder for chaining.
         */
        public Builder setLowerJudgment0(double value) {

          lowerJudgment0_ = value;
          bitField1_ |= 0x00000800;
          onChanged();
          return this;
        }
        /**
         * <code>double lowerJudgment0 = 44;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowerJudgment0() {
          bitField1_ = (bitField1_ & ~0x00000800);
          lowerJudgment0_ = 0D;
          onChanged();
          return this;
        }

        private double lowestJudgment0_ ;
        /**
         * <code>double lowestJudgment0 = 45;</code>
         * @return The lowestJudgment0.
         */
        @java.lang.Override
        public double getLowestJudgment0() {
          return lowestJudgment0_;
        }
        /**
         * <code>double lowestJudgment0 = 45;</code>
         * @param value The lowestJudgment0 to set.
         * @return This builder for chaining.
         */
        public Builder setLowestJudgment0(double value) {

          lowestJudgment0_ = value;
          bitField1_ |= 0x00001000;
          onChanged();
          return this;
        }
        /**
         * <code>double lowestJudgment0 = 45;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowestJudgment0() {
          bitField1_ = (bitField1_ & ~0x00001000);
          lowestJudgment0_ = 0D;
          onChanged();
          return this;
        }

        private double highestJudgment1_ ;
        /**
         * <code>double highestJudgment1 = 46;</code>
         * @return The highestJudgment1.
         */
        @java.lang.Override
        public double getHighestJudgment1() {
          return highestJudgment1_;
        }
        /**
         * <code>double highestJudgment1 = 46;</code>
         * @param value The highestJudgment1 to set.
         * @return This builder for chaining.
         */
        public Builder setHighestJudgment1(double value) {

          highestJudgment1_ = value;
          bitField1_ |= 0x00002000;
          onChanged();
          return this;
        }
        /**
         * <code>double highestJudgment1 = 46;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestJudgment1() {
          bitField1_ = (bitField1_ & ~0x00002000);
          highestJudgment1_ = 0D;
          onChanged();
          return this;
        }

        private double higherJudgment1_ ;
        /**
         * <code>double higherJudgment1 = 47;</code>
         * @return The higherJudgment1.
         */
        @java.lang.Override
        public double getHigherJudgment1() {
          return higherJudgment1_;
        }
        /**
         * <code>double higherJudgment1 = 47;</code>
         * @param value The higherJudgment1 to set.
         * @return This builder for chaining.
         */
        public Builder setHigherJudgment1(double value) {

          higherJudgment1_ = value;
          bitField1_ |= 0x00004000;
          onChanged();
          return this;
        }
        /**
         * <code>double higherJudgment1 = 47;</code>
         * @return This builder for chaining.
         */
        public Builder clearHigherJudgment1() {
          bitField1_ = (bitField1_ & ~0x00004000);
          higherJudgment1_ = 0D;
          onChanged();
          return this;
        }

        private double highJudgment1_ ;
        /**
         * <code>double highJudgment1 = 48;</code>
         * @return The highJudgment1.
         */
        @java.lang.Override
        public double getHighJudgment1() {
          return highJudgment1_;
        }
        /**
         * <code>double highJudgment1 = 48;</code>
         * @param value The highJudgment1 to set.
         * @return This builder for chaining.
         */
        public Builder setHighJudgment1(double value) {

          highJudgment1_ = value;
          bitField1_ |= 0x00008000;
          onChanged();
          return this;
        }
        /**
         * <code>double highJudgment1 = 48;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighJudgment1() {
          bitField1_ = (bitField1_ & ~0x00008000);
          highJudgment1_ = 0D;
          onChanged();
          return this;
        }

        private double lowJudgment1_ ;
        /**
         * <code>double lowJudgment1 = 49;</code>
         * @return The lowJudgment1.
         */
        @java.lang.Override
        public double getLowJudgment1() {
          return lowJudgment1_;
        }
        /**
         * <code>double lowJudgment1 = 49;</code>
         * @param value The lowJudgment1 to set.
         * @return This builder for chaining.
         */
        public Builder setLowJudgment1(double value) {

          lowJudgment1_ = value;
          bitField1_ |= 0x00010000;
          onChanged();
          return this;
        }
        /**
         * <code>double lowJudgment1 = 49;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowJudgment1() {
          bitField1_ = (bitField1_ & ~0x00010000);
          lowJudgment1_ = 0D;
          onChanged();
          return this;
        }

        private double lowerJudgment1_ ;
        /**
         * <code>double lowerJudgment1 = 50;</code>
         * @return The lowerJudgment1.
         */
        @java.lang.Override
        public double getLowerJudgment1() {
          return lowerJudgment1_;
        }
        /**
         * <code>double lowerJudgment1 = 50;</code>
         * @param value The lowerJudgment1 to set.
         * @return This builder for chaining.
         */
        public Builder setLowerJudgment1(double value) {

          lowerJudgment1_ = value;
          bitField1_ |= 0x00020000;
          onChanged();
          return this;
        }
        /**
         * <code>double lowerJudgment1 = 50;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowerJudgment1() {
          bitField1_ = (bitField1_ & ~0x00020000);
          lowerJudgment1_ = 0D;
          onChanged();
          return this;
        }

        private double lowestJudgment1_ ;
        /**
         * <code>double lowestJudgment1 = 51;</code>
         * @return The lowestJudgment1.
         */
        @java.lang.Override
        public double getLowestJudgment1() {
          return lowestJudgment1_;
        }
        /**
         * <code>double lowestJudgment1 = 51;</code>
         * @param value The lowestJudgment1 to set.
         * @return This builder for chaining.
         */
        public Builder setLowestJudgment1(double value) {

          lowestJudgment1_ = value;
          bitField1_ |= 0x00040000;
          onChanged();
          return this;
        }
        /**
         * <code>double lowestJudgment1 = 51;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowestJudgment1() {
          bitField1_ = (bitField1_ & ~0x00040000);
          lowestJudgment1_ = 0D;
          onChanged();
          return this;
        }

        private int highestJudgment_ ;
        /**
         * <code>int32 highestJudgment = 52;</code>
         * @return The highestJudgment.
         */
        @java.lang.Override
        public int getHighestJudgment() {
          return highestJudgment_;
        }
        /**
         * <code>int32 highestJudgment = 52;</code>
         * @param value The highestJudgment to set.
         * @return This builder for chaining.
         */
        public Builder setHighestJudgment(int value) {

          highestJudgment_ = value;
          bitField1_ |= 0x00080000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 highestJudgment = 52;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestJudgment() {
          bitField1_ = (bitField1_ & ~0x00080000);
          highestJudgment_ = 0;
          onChanged();
          return this;
        }

        private int higherJudgment_ ;
        /**
         * <code>int32 higherJudgment = 53;</code>
         * @return The higherJudgment.
         */
        @java.lang.Override
        public int getHigherJudgment() {
          return higherJudgment_;
        }
        /**
         * <code>int32 higherJudgment = 53;</code>
         * @param value The higherJudgment to set.
         * @return This builder for chaining.
         */
        public Builder setHigherJudgment(int value) {

          higherJudgment_ = value;
          bitField1_ |= 0x00100000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 higherJudgment = 53;</code>
         * @return This builder for chaining.
         */
        public Builder clearHigherJudgment() {
          bitField1_ = (bitField1_ & ~0x00100000);
          higherJudgment_ = 0;
          onChanged();
          return this;
        }

        private int highJudgment_ ;
        /**
         * <code>int32 highJudgment = 54;</code>
         * @return The highJudgment.
         */
        @java.lang.Override
        public int getHighJudgment() {
          return highJudgment_;
        }
        /**
         * <code>int32 highJudgment = 54;</code>
         * @param value The highJudgment to set.
         * @return This builder for chaining.
         */
        public Builder setHighJudgment(int value) {

          highJudgment_ = value;
          bitField1_ |= 0x00200000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 highJudgment = 54;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighJudgment() {
          bitField1_ = (bitField1_ & ~0x00200000);
          highJudgment_ = 0;
          onChanged();
          return this;
        }

        private int lowJudgment_ ;
        /**
         * <code>int32 lowJudgment = 55;</code>
         * @return The lowJudgment.
         */
        @java.lang.Override
        public int getLowJudgment() {
          return lowJudgment_;
        }
        /**
         * <code>int32 lowJudgment = 55;</code>
         * @param value The lowJudgment to set.
         * @return This builder for chaining.
         */
        public Builder setLowJudgment(int value) {

          lowJudgment_ = value;
          bitField1_ |= 0x00400000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 lowJudgment = 55;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowJudgment() {
          bitField1_ = (bitField1_ & ~0x00400000);
          lowJudgment_ = 0;
          onChanged();
          return this;
        }

        private int lowerJudgment_ ;
        /**
         * <code>int32 lowerJudgment = 56;</code>
         * @return The lowerJudgment.
         */
        @java.lang.Override
        public int getLowerJudgment() {
          return lowerJudgment_;
        }
        /**
         * <code>int32 lowerJudgment = 56;</code>
         * @param value The lowerJudgment to set.
         * @return This builder for chaining.
         */
        public Builder setLowerJudgment(int value) {

          lowerJudgment_ = value;
          bitField1_ |= 0x00800000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 lowerJudgment = 56;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowerJudgment() {
          bitField1_ = (bitField1_ & ~0x00800000);
          lowerJudgment_ = 0;
          onChanged();
          return this;
        }

        private int lowestJudgment_ ;
        /**
         * <code>int32 lowestJudgment = 57;</code>
         * @return The lowestJudgment.
         */
        @java.lang.Override
        public int getLowestJudgment() {
          return lowestJudgment_;
        }
        /**
         * <code>int32 lowestJudgment = 57;</code>
         * @param value The lowestJudgment to set.
         * @return This builder for chaining.
         */
        public Builder setLowestJudgment(int value) {

          lowestJudgment_ = value;
          bitField1_ |= 0x01000000;
          onChanged();
          return this;
        }
        /**
         * <code>int32 lowestJudgment = 57;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowestJudgment() {
          bitField1_ = (bitField1_ & ~0x01000000);
          lowestJudgment_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightCallNet)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightCallNet)
      private static final EventOuterClass.Event.QwilightCallNet DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightCallNet();
      }

      public static EventOuterClass.Event.QwilightCallNet getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightCallNet>
          PARSER = new com.google.protobuf.AbstractParser<QwilightCallNet>() {
        @java.lang.Override
        public QwilightCallNet parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightCallNet getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface NetDrawingOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.NetDrawing)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
       * @return The enum numeric value on the wire for drawingVariety.
       */
      int getDrawingVarietyValue();
      /**
       * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
       * @return The drawingVariety.
       */
      EventOuterClass.Event.NetDrawing.Variety getDrawingVariety();

      /**
       * <code>uint32 param = 2;</code>
       * @return The param.
       */
      int getParam();

      /**
       * <code>double position0 = 3;</code>
       * @return The position0.
       */
      double getPosition0();

      /**
       * <code>double position1 = 4;</code>
       * @return The position1.
       */
      double getPosition1();

      /**
       * <code>double length = 5;</code>
       * @return The length.
       */
      double getLength();

      /**
       * <code>double height = 6;</code>
       * @return The height.
       */
      double getHeight();
    }
    /**
     * Protobuf type {@code Event.NetDrawing}
     */
    public static final class NetDrawing extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.NetDrawing)
        NetDrawingOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use NetDrawing.newBuilder() to construct.
      private NetDrawing(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private NetDrawing() {
        drawingVariety_ = 0;
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_NetDrawing_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_NetDrawing_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.NetDrawing.class, EventOuterClass.Event.NetDrawing.Builder.class);
      }

      /**
       * Protobuf enum {@code Event.NetDrawing.Variety}
       */
      public enum Variety
          implements com.google.protobuf.ProtocolMessageEnum {
        /**
         * <code>Note = 0;</code>
         */
        Note(0),
        /**
         * <code>Main = 1;</code>
         */
        Main(1),
        /**
         * <code>Meter = 2;</code>
         */
        Meter(2),
        UNRECOGNIZED(-1),
        ;

        /**
         * <code>Note = 0;</code>
         */
        public static final int Note_VALUE = 0;
        /**
         * <code>Main = 1;</code>
         */
        public static final int Main_VALUE = 1;
        /**
         * <code>Meter = 2;</code>
         */
        public static final int Meter_VALUE = 2;


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

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

        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         */
        public static Variety forNumber(int value) {
          switch (value) {
            case 0: return Note;
            case 1: return Main;
            case 2: return Meter;
            default: return null;
          }
        }

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

        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalStateException(
                "Can't get the descriptor of an unrecognized enum value.");
          }
          return getDescriptor().getValues().get(ordinal());
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return EventOuterClass.Event.NetDrawing.getDescriptor().getEnumTypes().get(0);
        }

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

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

        private final int value;

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

        // @@protoc_insertion_point(enum_scope:Event.NetDrawing.Variety)
      }

      public static final int DRAWINGVARIETY_FIELD_NUMBER = 1;
      private int drawingVariety_ = 0;
      /**
       * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
       * @return The enum numeric value on the wire for drawingVariety.
       */
      @java.lang.Override public int getDrawingVarietyValue() {
        return drawingVariety_;
      }
      /**
       * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
       * @return The drawingVariety.
       */
      @java.lang.Override public EventOuterClass.Event.NetDrawing.Variety getDrawingVariety() {
        EventOuterClass.Event.NetDrawing.Variety result = EventOuterClass.Event.NetDrawing.Variety.forNumber(drawingVariety_);
        return result == null ? EventOuterClass.Event.NetDrawing.Variety.UNRECOGNIZED : result;
      }

      public static final int PARAM_FIELD_NUMBER = 2;
      private int param_ = 0;
      /**
       * <code>uint32 param = 2;</code>
       * @return The param.
       */
      @java.lang.Override
      public int getParam() {
        return param_;
      }

      public static final int POSITION0_FIELD_NUMBER = 3;
      private double position0_ = 0D;
      /**
       * <code>double position0 = 3;</code>
       * @return The position0.
       */
      @java.lang.Override
      public double getPosition0() {
        return position0_;
      }

      public static final int POSITION1_FIELD_NUMBER = 4;
      private double position1_ = 0D;
      /**
       * <code>double position1 = 4;</code>
       * @return The position1.
       */
      @java.lang.Override
      public double getPosition1() {
        return position1_;
      }

      public static final int LENGTH_FIELD_NUMBER = 5;
      private double length_ = 0D;
      /**
       * <code>double length = 5;</code>
       * @return The length.
       */
      @java.lang.Override
      public double getLength() {
        return length_;
      }

      public static final int HEIGHT_FIELD_NUMBER = 6;
      private double height_ = 0D;
      /**
       * <code>double height = 6;</code>
       * @return The height.
       */
      @java.lang.Override
      public double getHeight() {
        return height_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (drawingVariety_ != EventOuterClass.Event.NetDrawing.Variety.Note.getNumber()) {
          output.writeEnum(1, drawingVariety_);
        }
        if (param_ != 0) {
          output.writeUInt32(2, param_);
        }
        if (java.lang.Double.doubleToRawLongBits(position0_) != 0) {
          output.writeDouble(3, position0_);
        }
        if (java.lang.Double.doubleToRawLongBits(position1_) != 0) {
          output.writeDouble(4, position1_);
        }
        if (java.lang.Double.doubleToRawLongBits(length_) != 0) {
          output.writeDouble(5, length_);
        }
        if (java.lang.Double.doubleToRawLongBits(height_) != 0) {
          output.writeDouble(6, height_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (drawingVariety_ != EventOuterClass.Event.NetDrawing.Variety.Note.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, drawingVariety_);
        }
        if (param_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, param_);
        }
        if (java.lang.Double.doubleToRawLongBits(position0_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(3, position0_);
        }
        if (java.lang.Double.doubleToRawLongBits(position1_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(4, position1_);
        }
        if (java.lang.Double.doubleToRawLongBits(length_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(5, length_);
        }
        if (java.lang.Double.doubleToRawLongBits(height_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(6, height_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.NetDrawing)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.NetDrawing other = (EventOuterClass.Event.NetDrawing) obj;

        if (drawingVariety_ != other.drawingVariety_) return false;
        if (getParam()
            != other.getParam()) return false;
        if (java.lang.Double.doubleToLongBits(getPosition0())
            != java.lang.Double.doubleToLongBits(
                other.getPosition0())) return false;
        if (java.lang.Double.doubleToLongBits(getPosition1())
            != java.lang.Double.doubleToLongBits(
                other.getPosition1())) return false;
        if (java.lang.Double.doubleToLongBits(getLength())
            != java.lang.Double.doubleToLongBits(
                other.getLength())) return false;
        if (java.lang.Double.doubleToLongBits(getHeight())
            != java.lang.Double.doubleToLongBits(
                other.getHeight())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + DRAWINGVARIETY_FIELD_NUMBER;
        hash = (53 * hash) + drawingVariety_;
        hash = (37 * hash) + PARAM_FIELD_NUMBER;
        hash = (53 * hash) + getParam();
        hash = (37 * hash) + POSITION0_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getPosition0()));
        hash = (37 * hash) + POSITION1_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getPosition1()));
        hash = (37 * hash) + LENGTH_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLength()));
        hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHeight()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.NetDrawing parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.NetDrawing parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.NetDrawing parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.NetDrawing parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.NetDrawing parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.NetDrawing parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.NetDrawing parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.NetDrawing 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 EventOuterClass.Event.NetDrawing parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.NetDrawing 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 EventOuterClass.Event.NetDrawing parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.NetDrawing 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(EventOuterClass.Event.NetDrawing prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.NetDrawing}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.NetDrawing)
          EventOuterClass.Event.NetDrawingOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_NetDrawing_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_NetDrawing_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.NetDrawing.class, EventOuterClass.Event.NetDrawing.Builder.class);
        }

        // Construct using EventOuterClass.Event.NetDrawing.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          drawingVariety_ = 0;
          param_ = 0;
          position0_ = 0D;
          position1_ = 0D;
          length_ = 0D;
          height_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_NetDrawing_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.NetDrawing getDefaultInstanceForType() {
          return EventOuterClass.Event.NetDrawing.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.NetDrawing build() {
          EventOuterClass.Event.NetDrawing result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.NetDrawing buildPartial() {
          EventOuterClass.Event.NetDrawing result = new EventOuterClass.Event.NetDrawing(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.NetDrawing result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.drawingVariety_ = drawingVariety_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.param_ = param_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.position0_ = position0_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.position1_ = position1_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.length_ = length_;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.height_ = height_;
          }
        }

        @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 EventOuterClass.Event.NetDrawing) {
            return mergeFrom((EventOuterClass.Event.NetDrawing)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.NetDrawing other) {
          if (other == EventOuterClass.Event.NetDrawing.getDefaultInstance()) return this;
          if (other.drawingVariety_ != 0) {
            setDrawingVarietyValue(other.getDrawingVarietyValue());
          }
          if (other.getParam() != 0) {
            setParam(other.getParam());
          }
          if (other.getPosition0() != 0D) {
            setPosition0(other.getPosition0());
          }
          if (other.getPosition1() != 0D) {
            setPosition1(other.getPosition1());
          }
          if (other.getLength() != 0D) {
            setLength(other.getLength());
          }
          if (other.getHeight() != 0D) {
            setHeight(other.getHeight());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  drawingVariety_ = input.readEnum();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 16: {
                  param_ = input.readUInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 25: {
                  position0_ = input.readDouble();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 25
                case 33: {
                  position1_ = input.readDouble();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 33
                case 41: {
                  length_ = input.readDouble();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 41
                case 49: {
                  height_ = input.readDouble();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 49
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private int drawingVariety_ = 0;
        /**
         * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
         * @return The enum numeric value on the wire for drawingVariety.
         */
        @java.lang.Override public int getDrawingVarietyValue() {
          return drawingVariety_;
        }
        /**
         * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
         * @param value The enum numeric value on the wire for drawingVariety to set.
         * @return This builder for chaining.
         */
        public Builder setDrawingVarietyValue(int value) {
          drawingVariety_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
         * @return The drawingVariety.
         */
        @java.lang.Override
        public EventOuterClass.Event.NetDrawing.Variety getDrawingVariety() {
          EventOuterClass.Event.NetDrawing.Variety result = EventOuterClass.Event.NetDrawing.Variety.forNumber(drawingVariety_);
          return result == null ? EventOuterClass.Event.NetDrawing.Variety.UNRECOGNIZED : result;
        }
        /**
         * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
         * @param value The drawingVariety to set.
         * @return This builder for chaining.
         */
        public Builder setDrawingVariety(EventOuterClass.Event.NetDrawing.Variety value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          drawingVariety_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>.Event.NetDrawing.Variety drawingVariety = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearDrawingVariety() {
          bitField0_ = (bitField0_ & ~0x00000001);
          drawingVariety_ = 0;
          onChanged();
          return this;
        }

        private int param_ ;
        /**
         * <code>uint32 param = 2;</code>
         * @return The param.
         */
        @java.lang.Override
        public int getParam() {
          return param_;
        }
        /**
         * <code>uint32 param = 2;</code>
         * @param value The param to set.
         * @return This builder for chaining.
         */
        public Builder setParam(int value) {

          param_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>uint32 param = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearParam() {
          bitField0_ = (bitField0_ & ~0x00000002);
          param_ = 0;
          onChanged();
          return this;
        }

        private double position0_ ;
        /**
         * <code>double position0 = 3;</code>
         * @return The position0.
         */
        @java.lang.Override
        public double getPosition0() {
          return position0_;
        }
        /**
         * <code>double position0 = 3;</code>
         * @param value The position0 to set.
         * @return This builder for chaining.
         */
        public Builder setPosition0(double value) {

          position0_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>double position0 = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearPosition0() {
          bitField0_ = (bitField0_ & ~0x00000004);
          position0_ = 0D;
          onChanged();
          return this;
        }

        private double position1_ ;
        /**
         * <code>double position1 = 4;</code>
         * @return The position1.
         */
        @java.lang.Override
        public double getPosition1() {
          return position1_;
        }
        /**
         * <code>double position1 = 4;</code>
         * @param value The position1 to set.
         * @return This builder for chaining.
         */
        public Builder setPosition1(double value) {

          position1_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>double position1 = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearPosition1() {
          bitField0_ = (bitField0_ & ~0x00000008);
          position1_ = 0D;
          onChanged();
          return this;
        }

        private double length_ ;
        /**
         * <code>double length = 5;</code>
         * @return The length.
         */
        @java.lang.Override
        public double getLength() {
          return length_;
        }
        /**
         * <code>double length = 5;</code>
         * @param value The length to set.
         * @return This builder for chaining.
         */
        public Builder setLength(double value) {

          length_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>double length = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearLength() {
          bitField0_ = (bitField0_ & ~0x00000010);
          length_ = 0D;
          onChanged();
          return this;
        }

        private double height_ ;
        /**
         * <code>double height = 6;</code>
         * @return The height.
         */
        @java.lang.Override
        public double getHeight() {
          return height_;
        }
        /**
         * <code>double height = 6;</code>
         * @param value The height to set.
         * @return This builder for chaining.
         */
        public Builder setHeight(double value) {

          height_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>double height = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearHeight() {
          bitField0_ = (bitField0_ & ~0x00000020);
          height_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.NetDrawing)
      }

      // @@protoc_insertion_point(class_scope:Event.NetDrawing)
      private static final EventOuterClass.Event.NetDrawing DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.NetDrawing();
      }

      public static EventOuterClass.Event.NetDrawing getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<NetDrawing>
          PARSER = new com.google.protobuf.AbstractParser<NetDrawing>() {
        @java.lang.Override
        public NetDrawing parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.NetDrawing getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface DrawingComponentOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.DrawingComponent)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>float p2BuiltLength = 1;</code>
       * @return The p2BuiltLength.
       */
      float getP2BuiltLength();

      /**
       * <code>float judgmentMainPosition = 2;</code>
       * @return The judgmentMainPosition.
       */
      float getJudgmentMainPosition();
    }
    /**
     * Protobuf type {@code Event.DrawingComponent}
     */
    public static final class DrawingComponent extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.DrawingComponent)
        DrawingComponentOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use DrawingComponent.newBuilder() to construct.
      private DrawingComponent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private DrawingComponent() {
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_DrawingComponent_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_DrawingComponent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.DrawingComponent.class, EventOuterClass.Event.DrawingComponent.Builder.class);
      }

      public static final int P2BUILTLENGTH_FIELD_NUMBER = 1;
      private float p2BuiltLength_ = 0F;
      /**
       * <code>float p2BuiltLength = 1;</code>
       * @return The p2BuiltLength.
       */
      @java.lang.Override
      public float getP2BuiltLength() {
        return p2BuiltLength_;
      }

      public static final int JUDGMENTMAINPOSITION_FIELD_NUMBER = 2;
      private float judgmentMainPosition_ = 0F;
      /**
       * <code>float judgmentMainPosition = 2;</code>
       * @return The judgmentMainPosition.
       */
      @java.lang.Override
      public float getJudgmentMainPosition() {
        return judgmentMainPosition_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (java.lang.Float.floatToRawIntBits(p2BuiltLength_) != 0) {
          output.writeFloat(1, p2BuiltLength_);
        }
        if (java.lang.Float.floatToRawIntBits(judgmentMainPosition_) != 0) {
          output.writeFloat(2, judgmentMainPosition_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (java.lang.Float.floatToRawIntBits(p2BuiltLength_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(1, p2BuiltLength_);
        }
        if (java.lang.Float.floatToRawIntBits(judgmentMainPosition_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(2, judgmentMainPosition_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.DrawingComponent)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.DrawingComponent other = (EventOuterClass.Event.DrawingComponent) obj;

        if (java.lang.Float.floatToIntBits(getP2BuiltLength())
            != java.lang.Float.floatToIntBits(
                other.getP2BuiltLength())) return false;
        if (java.lang.Float.floatToIntBits(getJudgmentMainPosition())
            != java.lang.Float.floatToIntBits(
                other.getJudgmentMainPosition())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + P2BUILTLENGTH_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getP2BuiltLength());
        hash = (37 * hash) + JUDGMENTMAINPOSITION_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getJudgmentMainPosition());
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.DrawingComponent parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.DrawingComponent parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.DrawingComponent parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.DrawingComponent parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.DrawingComponent parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.DrawingComponent parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.DrawingComponent parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.DrawingComponent 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 EventOuterClass.Event.DrawingComponent parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.DrawingComponent 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 EventOuterClass.Event.DrawingComponent parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.DrawingComponent 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(EventOuterClass.Event.DrawingComponent prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.DrawingComponent}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.DrawingComponent)
          EventOuterClass.Event.DrawingComponentOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_DrawingComponent_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_DrawingComponent_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.DrawingComponent.class, EventOuterClass.Event.DrawingComponent.Builder.class);
        }

        // Construct using EventOuterClass.Event.DrawingComponent.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          p2BuiltLength_ = 0F;
          judgmentMainPosition_ = 0F;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_DrawingComponent_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.DrawingComponent getDefaultInstanceForType() {
          return EventOuterClass.Event.DrawingComponent.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.DrawingComponent build() {
          EventOuterClass.Event.DrawingComponent result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.DrawingComponent buildPartial() {
          EventOuterClass.Event.DrawingComponent result = new EventOuterClass.Event.DrawingComponent(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.DrawingComponent result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.p2BuiltLength_ = p2BuiltLength_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.judgmentMainPosition_ = judgmentMainPosition_;
          }
        }

        @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 EventOuterClass.Event.DrawingComponent) {
            return mergeFrom((EventOuterClass.Event.DrawingComponent)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.DrawingComponent other) {
          if (other == EventOuterClass.Event.DrawingComponent.getDefaultInstance()) return this;
          if (other.getP2BuiltLength() != 0F) {
            setP2BuiltLength(other.getP2BuiltLength());
          }
          if (other.getJudgmentMainPosition() != 0F) {
            setJudgmentMainPosition(other.getJudgmentMainPosition());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 13: {
                  p2BuiltLength_ = input.readFloat();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 13
                case 21: {
                  judgmentMainPosition_ = input.readFloat();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 21
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private float p2BuiltLength_ ;
        /**
         * <code>float p2BuiltLength = 1;</code>
         * @return The p2BuiltLength.
         */
        @java.lang.Override
        public float getP2BuiltLength() {
          return p2BuiltLength_;
        }
        /**
         * <code>float p2BuiltLength = 1;</code>
         * @param value The p2BuiltLength to set.
         * @return This builder for chaining.
         */
        public Builder setP2BuiltLength(float value) {

          p2BuiltLength_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>float p2BuiltLength = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearP2BuiltLength() {
          bitField0_ = (bitField0_ & ~0x00000001);
          p2BuiltLength_ = 0F;
          onChanged();
          return this;
        }

        private float judgmentMainPosition_ ;
        /**
         * <code>float judgmentMainPosition = 2;</code>
         * @return The judgmentMainPosition.
         */
        @java.lang.Override
        public float getJudgmentMainPosition() {
          return judgmentMainPosition_;
        }
        /**
         * <code>float judgmentMainPosition = 2;</code>
         * @param value The judgmentMainPosition to set.
         * @return This builder for chaining.
         */
        public Builder setJudgmentMainPosition(float value) {

          judgmentMainPosition_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>float judgmentMainPosition = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudgmentMainPosition() {
          bitField0_ = (bitField0_ & ~0x00000002);
          judgmentMainPosition_ = 0F;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.DrawingComponent)
      }

      // @@protoc_insertion_point(class_scope:Event.DrawingComponent)
      private static final EventOuterClass.Event.DrawingComponent DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.DrawingComponent();
      }

      public static EventOuterClass.Event.DrawingComponent getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<DrawingComponent>
          PARSER = new com.google.protobuf.AbstractParser<DrawingComponent>() {
        @java.lang.Override
        public DrawingComponent parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.DrawingComponent getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightIOInputOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightIOInput)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      java.util.List<java.lang.String>
          getAvatarIDsList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      int getAvatarIDsCount();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      java.lang.String getAvatarIDs(int index);
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      com.google.protobuf.ByteString
          getAvatarIDsBytes(int index);

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 input = 3;</code>
       * @return The input.
       */
      int getInput();

      /**
       * <code>int32 power = 4;</code>
       * @return The power.
       */
      int getPower();
    }
    /**
     * Protobuf type {@code Event.QwilightIOInput}
     */
    public static final class QwilightIOInput extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightIOInput)
        QwilightIOInputOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightIOInput.newBuilder() to construct.
      private QwilightIOInput(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightIOInput() {
        avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightIOInput_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightIOInput_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightIOInput.class, EventOuterClass.Event.QwilightIOInput.Builder.class);
      }

      public static final int AVATARIDS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList avatarIDs_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      public com.google.protobuf.ProtocolStringList
          getAvatarIDsList() {
        return avatarIDs_;
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      public int getAvatarIDsCount() {
        return avatarIDs_.size();
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      public java.lang.String getAvatarIDs(int index) {
        return avatarIDs_.get(index);
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      public com.google.protobuf.ByteString
          getAvatarIDsBytes(int index) {
        return avatarIDs_.getByteString(index);
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int INPUT_FIELD_NUMBER = 3;
      private int input_ = 0;
      /**
       * <code>int32 input = 3;</code>
       * @return The input.
       */
      @java.lang.Override
      public int getInput() {
        return input_;
      }

      public static final int POWER_FIELD_NUMBER = 4;
      private int power_ = 0;
      /**
       * <code>int32 power = 4;</code>
       * @return The power.
       */
      @java.lang.Override
      public int getPower() {
        return power_;
      }

      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 {
        for (int i = 0; i < avatarIDs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, avatarIDs_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (input_ != 0) {
          output.writeInt32(3, input_);
        }
        if (power_ != 0) {
          output.writeInt32(4, power_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < avatarIDs_.size(); i++) {
            dataSize += computeStringSizeNoTag(avatarIDs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getAvatarIDsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (input_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, input_);
        }
        if (power_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, power_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightIOInput)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightIOInput other = (EventOuterClass.Event.QwilightIOInput) obj;

        if (!getAvatarIDsList()
            .equals(other.getAvatarIDsList())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getInput()
            != other.getInput()) return false;
        if (getPower()
            != other.getPower()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getAvatarIDsCount() > 0) {
          hash = (37 * hash) + AVATARIDS_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarIDsList().hashCode();
        }
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + INPUT_FIELD_NUMBER;
        hash = (53 * hash) + getInput();
        hash = (37 * hash) + POWER_FIELD_NUMBER;
        hash = (53 * hash) + getPower();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightIOInput parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOInput parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOInput parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOInput parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOInput parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOInput parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOInput parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOInput 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 EventOuterClass.Event.QwilightIOInput parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightIOInput 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 EventOuterClass.Event.QwilightIOInput parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOInput 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(EventOuterClass.Event.QwilightIOInput prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightIOInput}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightIOInput)
          EventOuterClass.Event.QwilightIOInputOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightIOInput_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightIOInput_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightIOInput.class, EventOuterClass.Event.QwilightIOInput.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightIOInput.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          avatarIDs_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          handlerID_ = "";
          input_ = 0;
          power_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightIOInput_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOInput getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOInput build() {
          EventOuterClass.Event.QwilightIOInput result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOInput buildPartial() {
          EventOuterClass.Event.QwilightIOInput result = new EventOuterClass.Event.QwilightIOInput(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightIOInput result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            avatarIDs_.makeImmutable();
            result.avatarIDs_ = avatarIDs_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.input_ = input_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.power_ = power_;
          }
        }

        @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 EventOuterClass.Event.QwilightIOInput) {
            return mergeFrom((EventOuterClass.Event.QwilightIOInput)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightIOInput other) {
          if (other == EventOuterClass.Event.QwilightIOInput.getDefaultInstance()) return this;
          if (!other.avatarIDs_.isEmpty()) {
            if (avatarIDs_.isEmpty()) {
              avatarIDs_ = other.avatarIDs_;
              bitField0_ |= 0x00000001;
            } else {
              ensureAvatarIDsIsMutable();
              avatarIDs_.addAll(other.avatarIDs_);
            }
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getInput() != 0) {
            setInput(other.getInput());
          }
          if (other.getPower() != 0) {
            setPower(other.getPower());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureAvatarIDsIsMutable();
                  avatarIDs_.add(s);
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  input_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  power_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringArrayList avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureAvatarIDsIsMutable() {
          if (!avatarIDs_.isModifiable()) {
            avatarIDs_ = new com.google.protobuf.LazyStringArrayList(avatarIDs_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return A list containing the avatarIDs.
         */
        public com.google.protobuf.ProtocolStringList
            getAvatarIDsList() {
          avatarIDs_.makeImmutable();
          return avatarIDs_;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return The count of avatarIDs.
         */
        public int getAvatarIDsCount() {
          return avatarIDs_.size();
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the element to return.
         * @return The avatarIDs at the given index.
         */
        public java.lang.String getAvatarIDs(int index) {
          return avatarIDs_.get(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the avatarIDs at the given index.
         */
        public com.google.protobuf.ByteString
            getAvatarIDsBytes(int index) {
          return avatarIDs_.getByteString(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index to set the value at.
         * @param value The avatarIDs to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDs(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDs(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param values The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAllAvatarIDs(
            java.lang.Iterable<java.lang.String> values) {
          ensureAvatarIDsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, avatarIDs_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarIDs() {
          avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The bytes of the avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private int input_ ;
        /**
         * <code>int32 input = 3;</code>
         * @return The input.
         */
        @java.lang.Override
        public int getInput() {
          return input_;
        }
        /**
         * <code>int32 input = 3;</code>
         * @param value The input to set.
         * @return This builder for chaining.
         */
        public Builder setInput(int value) {

          input_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 input = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearInput() {
          bitField0_ = (bitField0_ & ~0x00000004);
          input_ = 0;
          onChanged();
          return this;
        }

        private int power_ ;
        /**
         * <code>int32 power = 4;</code>
         * @return The power.
         */
        @java.lang.Override
        public int getPower() {
          return power_;
        }
        /**
         * <code>int32 power = 4;</code>
         * @param value The power to set.
         * @return This builder for chaining.
         */
        public Builder setPower(int value) {

          power_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>int32 power = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearPower() {
          bitField0_ = (bitField0_ & ~0x00000008);
          power_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightIOInput)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightIOInput)
      private static final EventOuterClass.Event.QwilightIOInput DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightIOInput();
      }

      public static EventOuterClass.Event.QwilightIOInput getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightIOInput>
          PARSER = new com.google.protobuf.AbstractParser<QwilightIOInput>() {
        @java.lang.Override
        public QwilightIOInput parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightIOInput getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightIOInputOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightIOInput)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 input = 2;</code>
       * @return The input.
       */
      int getInput();

      /**
       * <code>int32 power = 3;</code>
       * @return The power.
       */
      int getPower();
    }
    /**
     * Protobuf type {@code Event.TwilightIOInput}
     */
    public static final class TwilightIOInput extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightIOInput)
        TwilightIOInputOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightIOInput.newBuilder() to construct.
      private TwilightIOInput(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightIOInput() {
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightIOInput_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightIOInput_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightIOInput.class, EventOuterClass.Event.TwilightIOInput.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int INPUT_FIELD_NUMBER = 2;
      private int input_ = 0;
      /**
       * <code>int32 input = 2;</code>
       * @return The input.
       */
      @java.lang.Override
      public int getInput() {
        return input_;
      }

      public static final int POWER_FIELD_NUMBER = 3;
      private int power_ = 0;
      /**
       * <code>int32 power = 3;</code>
       * @return The power.
       */
      @java.lang.Override
      public int getPower() {
        return power_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (input_ != 0) {
          output.writeInt32(2, input_);
        }
        if (power_ != 0) {
          output.writeInt32(3, power_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (input_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, input_);
        }
        if (power_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, power_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightIOInput)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightIOInput other = (EventOuterClass.Event.TwilightIOInput) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getInput()
            != other.getInput()) return false;
        if (getPower()
            != other.getPower()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + INPUT_FIELD_NUMBER;
        hash = (53 * hash) + getInput();
        hash = (37 * hash) + POWER_FIELD_NUMBER;
        hash = (53 * hash) + getPower();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightIOInput parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOInput parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOInput parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOInput parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOInput parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOInput parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOInput parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOInput 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 EventOuterClass.Event.TwilightIOInput parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightIOInput 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 EventOuterClass.Event.TwilightIOInput parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOInput 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(EventOuterClass.Event.TwilightIOInput prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightIOInput}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightIOInput)
          EventOuterClass.Event.TwilightIOInputOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightIOInput_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightIOInput_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightIOInput.class, EventOuterClass.Event.TwilightIOInput.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightIOInput.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          input_ = 0;
          power_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightIOInput_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOInput getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOInput build() {
          EventOuterClass.Event.TwilightIOInput result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOInput buildPartial() {
          EventOuterClass.Event.TwilightIOInput result = new EventOuterClass.Event.TwilightIOInput(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightIOInput result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.input_ = input_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.power_ = power_;
          }
        }

        @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 EventOuterClass.Event.TwilightIOInput) {
            return mergeFrom((EventOuterClass.Event.TwilightIOInput)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightIOInput other) {
          if (other == EventOuterClass.Event.TwilightIOInput.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getInput() != 0) {
            setInput(other.getInput());
          }
          if (other.getPower() != 0) {
            setPower(other.getPower());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  input_ = input.readInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  power_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private int input_ ;
        /**
         * <code>int32 input = 2;</code>
         * @return The input.
         */
        @java.lang.Override
        public int getInput() {
          return input_;
        }
        /**
         * <code>int32 input = 2;</code>
         * @param value The input to set.
         * @return This builder for chaining.
         */
        public Builder setInput(int value) {

          input_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>int32 input = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearInput() {
          bitField0_ = (bitField0_ & ~0x00000002);
          input_ = 0;
          onChanged();
          return this;
        }

        private int power_ ;
        /**
         * <code>int32 power = 3;</code>
         * @return The power.
         */
        @java.lang.Override
        public int getPower() {
          return power_;
        }
        /**
         * <code>int32 power = 3;</code>
         * @param value The power to set.
         * @return This builder for chaining.
         */
        public Builder setPower(int value) {

          power_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 power = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearPower() {
          bitField0_ = (bitField0_ & ~0x00000004);
          power_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightIOInput)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightIOInput)
      private static final EventOuterClass.Event.TwilightIOInput DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightIOInput();
      }

      public static EventOuterClass.Event.TwilightIOInput getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightIOInput>
          PARSER = new com.google.protobuf.AbstractParser<TwilightIOInput>() {
        @java.lang.Override
        public TwilightIOInput parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightIOInput getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightIOJudgeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightIOJudge)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      java.util.List<java.lang.String>
          getAvatarIDsList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      int getAvatarIDsCount();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      java.lang.String getAvatarIDs(int index);
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      com.google.protobuf.ByteString
          getAvatarIDsBytes(int index);

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 noteID = 3;</code>
       * @return The noteID.
       */
      int getNoteID();

      /**
       * <code>int32 judged = 4;</code>
       * @return The judged.
       */
      int getJudged();
    }
    /**
     * Protobuf type {@code Event.QwilightIOJudge}
     */
    public static final class QwilightIOJudge extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightIOJudge)
        QwilightIOJudgeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightIOJudge.newBuilder() to construct.
      private QwilightIOJudge(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightIOJudge() {
        avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightIOJudge_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightIOJudge_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightIOJudge.class, EventOuterClass.Event.QwilightIOJudge.Builder.class);
      }

      public static final int AVATARIDS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList avatarIDs_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      public com.google.protobuf.ProtocolStringList
          getAvatarIDsList() {
        return avatarIDs_;
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      public int getAvatarIDsCount() {
        return avatarIDs_.size();
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      public java.lang.String getAvatarIDs(int index) {
        return avatarIDs_.get(index);
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      public com.google.protobuf.ByteString
          getAvatarIDsBytes(int index) {
        return avatarIDs_.getByteString(index);
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NOTEID_FIELD_NUMBER = 3;
      private int noteID_ = 0;
      /**
       * <code>int32 noteID = 3;</code>
       * @return The noteID.
       */
      @java.lang.Override
      public int getNoteID() {
        return noteID_;
      }

      public static final int JUDGED_FIELD_NUMBER = 4;
      private int judged_ = 0;
      /**
       * <code>int32 judged = 4;</code>
       * @return The judged.
       */
      @java.lang.Override
      public int getJudged() {
        return judged_;
      }

      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 {
        for (int i = 0; i < avatarIDs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, avatarIDs_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (noteID_ != 0) {
          output.writeInt32(3, noteID_);
        }
        if (judged_ != 0) {
          output.writeInt32(4, judged_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < avatarIDs_.size(); i++) {
            dataSize += computeStringSizeNoTag(avatarIDs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getAvatarIDsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (noteID_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, noteID_);
        }
        if (judged_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, judged_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightIOJudge)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightIOJudge other = (EventOuterClass.Event.QwilightIOJudge) obj;

        if (!getAvatarIDsList()
            .equals(other.getAvatarIDsList())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getNoteID()
            != other.getNoteID()) return false;
        if (getJudged()
            != other.getJudged()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getAvatarIDsCount() > 0) {
          hash = (37 * hash) + AVATARIDS_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarIDsList().hashCode();
        }
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + NOTEID_FIELD_NUMBER;
        hash = (53 * hash) + getNoteID();
        hash = (37 * hash) + JUDGED_FIELD_NUMBER;
        hash = (53 * hash) + getJudged();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightIOJudge parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOJudge parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOJudge parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOJudge parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOJudge parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOJudge parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOJudge parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOJudge 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 EventOuterClass.Event.QwilightIOJudge parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightIOJudge 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 EventOuterClass.Event.QwilightIOJudge parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOJudge 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(EventOuterClass.Event.QwilightIOJudge prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightIOJudge}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightIOJudge)
          EventOuterClass.Event.QwilightIOJudgeOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightIOJudge_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightIOJudge_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightIOJudge.class, EventOuterClass.Event.QwilightIOJudge.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightIOJudge.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          avatarIDs_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          handlerID_ = "";
          noteID_ = 0;
          judged_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightIOJudge_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOJudge getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOJudge build() {
          EventOuterClass.Event.QwilightIOJudge result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOJudge buildPartial() {
          EventOuterClass.Event.QwilightIOJudge result = new EventOuterClass.Event.QwilightIOJudge(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightIOJudge result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            avatarIDs_.makeImmutable();
            result.avatarIDs_ = avatarIDs_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.noteID_ = noteID_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.judged_ = judged_;
          }
        }

        @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 EventOuterClass.Event.QwilightIOJudge) {
            return mergeFrom((EventOuterClass.Event.QwilightIOJudge)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightIOJudge other) {
          if (other == EventOuterClass.Event.QwilightIOJudge.getDefaultInstance()) return this;
          if (!other.avatarIDs_.isEmpty()) {
            if (avatarIDs_.isEmpty()) {
              avatarIDs_ = other.avatarIDs_;
              bitField0_ |= 0x00000001;
            } else {
              ensureAvatarIDsIsMutable();
              avatarIDs_.addAll(other.avatarIDs_);
            }
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getNoteID() != 0) {
            setNoteID(other.getNoteID());
          }
          if (other.getJudged() != 0) {
            setJudged(other.getJudged());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureAvatarIDsIsMutable();
                  avatarIDs_.add(s);
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  noteID_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  judged_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringArrayList avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureAvatarIDsIsMutable() {
          if (!avatarIDs_.isModifiable()) {
            avatarIDs_ = new com.google.protobuf.LazyStringArrayList(avatarIDs_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return A list containing the avatarIDs.
         */
        public com.google.protobuf.ProtocolStringList
            getAvatarIDsList() {
          avatarIDs_.makeImmutable();
          return avatarIDs_;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return The count of avatarIDs.
         */
        public int getAvatarIDsCount() {
          return avatarIDs_.size();
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the element to return.
         * @return The avatarIDs at the given index.
         */
        public java.lang.String getAvatarIDs(int index) {
          return avatarIDs_.get(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the avatarIDs at the given index.
         */
        public com.google.protobuf.ByteString
            getAvatarIDsBytes(int index) {
          return avatarIDs_.getByteString(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index to set the value at.
         * @param value The avatarIDs to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDs(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDs(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param values The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAllAvatarIDs(
            java.lang.Iterable<java.lang.String> values) {
          ensureAvatarIDsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, avatarIDs_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarIDs() {
          avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The bytes of the avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private int noteID_ ;
        /**
         * <code>int32 noteID = 3;</code>
         * @return The noteID.
         */
        @java.lang.Override
        public int getNoteID() {
          return noteID_;
        }
        /**
         * <code>int32 noteID = 3;</code>
         * @param value The noteID to set.
         * @return This builder for chaining.
         */
        public Builder setNoteID(int value) {

          noteID_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteID = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteID() {
          bitField0_ = (bitField0_ & ~0x00000004);
          noteID_ = 0;
          onChanged();
          return this;
        }

        private int judged_ ;
        /**
         * <code>int32 judged = 4;</code>
         * @return The judged.
         */
        @java.lang.Override
        public int getJudged() {
          return judged_;
        }
        /**
         * <code>int32 judged = 4;</code>
         * @param value The judged to set.
         * @return This builder for chaining.
         */
        public Builder setJudged(int value) {

          judged_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>int32 judged = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudged() {
          bitField0_ = (bitField0_ & ~0x00000008);
          judged_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightIOJudge)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightIOJudge)
      private static final EventOuterClass.Event.QwilightIOJudge DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightIOJudge();
      }

      public static EventOuterClass.Event.QwilightIOJudge getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightIOJudge>
          PARSER = new com.google.protobuf.AbstractParser<QwilightIOJudge>() {
        @java.lang.Override
        public QwilightIOJudge parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightIOJudge getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightIOJudgeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightIOJudge)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 noteID = 2;</code>
       * @return The noteID.
       */
      int getNoteID();

      /**
       * <code>int32 judged = 3;</code>
       * @return The judged.
       */
      int getJudged();
    }
    /**
     * Protobuf type {@code Event.TwilightIOJudge}
     */
    public static final class TwilightIOJudge extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightIOJudge)
        TwilightIOJudgeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightIOJudge.newBuilder() to construct.
      private TwilightIOJudge(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightIOJudge() {
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightIOJudge_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightIOJudge_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightIOJudge.class, EventOuterClass.Event.TwilightIOJudge.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NOTEID_FIELD_NUMBER = 2;
      private int noteID_ = 0;
      /**
       * <code>int32 noteID = 2;</code>
       * @return The noteID.
       */
      @java.lang.Override
      public int getNoteID() {
        return noteID_;
      }

      public static final int JUDGED_FIELD_NUMBER = 3;
      private int judged_ = 0;
      /**
       * <code>int32 judged = 3;</code>
       * @return The judged.
       */
      @java.lang.Override
      public int getJudged() {
        return judged_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (noteID_ != 0) {
          output.writeInt32(2, noteID_);
        }
        if (judged_ != 0) {
          output.writeInt32(3, judged_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (noteID_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, noteID_);
        }
        if (judged_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, judged_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightIOJudge)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightIOJudge other = (EventOuterClass.Event.TwilightIOJudge) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getNoteID()
            != other.getNoteID()) return false;
        if (getJudged()
            != other.getJudged()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + NOTEID_FIELD_NUMBER;
        hash = (53 * hash) + getNoteID();
        hash = (37 * hash) + JUDGED_FIELD_NUMBER;
        hash = (53 * hash) + getJudged();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightIOJudge parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOJudge parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOJudge parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOJudge parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOJudge parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOJudge parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOJudge parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOJudge 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 EventOuterClass.Event.TwilightIOJudge parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightIOJudge 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 EventOuterClass.Event.TwilightIOJudge parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOJudge 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(EventOuterClass.Event.TwilightIOJudge prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightIOJudge}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightIOJudge)
          EventOuterClass.Event.TwilightIOJudgeOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightIOJudge_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightIOJudge_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightIOJudge.class, EventOuterClass.Event.TwilightIOJudge.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightIOJudge.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          noteID_ = 0;
          judged_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightIOJudge_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOJudge getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOJudge build() {
          EventOuterClass.Event.TwilightIOJudge result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOJudge buildPartial() {
          EventOuterClass.Event.TwilightIOJudge result = new EventOuterClass.Event.TwilightIOJudge(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightIOJudge result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.noteID_ = noteID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.judged_ = judged_;
          }
        }

        @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 EventOuterClass.Event.TwilightIOJudge) {
            return mergeFrom((EventOuterClass.Event.TwilightIOJudge)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightIOJudge other) {
          if (other == EventOuterClass.Event.TwilightIOJudge.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getNoteID() != 0) {
            setNoteID(other.getNoteID());
          }
          if (other.getJudged() != 0) {
            setJudged(other.getJudged());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  noteID_ = input.readInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  judged_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private int noteID_ ;
        /**
         * <code>int32 noteID = 2;</code>
         * @return The noteID.
         */
        @java.lang.Override
        public int getNoteID() {
          return noteID_;
        }
        /**
         * <code>int32 noteID = 2;</code>
         * @param value The noteID to set.
         * @return This builder for chaining.
         */
        public Builder setNoteID(int value) {

          noteID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteID() {
          bitField0_ = (bitField0_ & ~0x00000002);
          noteID_ = 0;
          onChanged();
          return this;
        }

        private int judged_ ;
        /**
         * <code>int32 judged = 3;</code>
         * @return The judged.
         */
        @java.lang.Override
        public int getJudged() {
          return judged_;
        }
        /**
         * <code>int32 judged = 3;</code>
         * @param value The judged to set.
         * @return This builder for chaining.
         */
        public Builder setJudged(int value) {

          judged_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 judged = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudged() {
          bitField0_ = (bitField0_ & ~0x00000004);
          judged_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightIOJudge)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightIOJudge)
      private static final EventOuterClass.Event.TwilightIOJudge DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightIOJudge();
      }

      public static EventOuterClass.Event.TwilightIOJudge getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightIOJudge>
          PARSER = new com.google.protobuf.AbstractParser<TwilightIOJudge>() {
        @java.lang.Override
        public TwilightIOJudge parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightIOJudge getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightIOJudgmentMeterOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightIOJudgmentMeter)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      java.util.List<java.lang.String>
          getAvatarIDsList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      int getAvatarIDsCount();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      java.lang.String getAvatarIDs(int index);
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      com.google.protobuf.ByteString
          getAvatarIDsBytes(int index);

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 input = 3;</code>
       * @return The input.
       */
      int getInput();

      /**
       * <code>double judgmentMeter = 4;</code>
       * @return The judgmentMeter.
       */
      double getJudgmentMeter();

      /**
       * <code>int32 assist = 5;</code>
       * @return The assist.
       */
      int getAssist();
    }
    /**
     * Protobuf type {@code Event.QwilightIOJudgmentMeter}
     */
    public static final class QwilightIOJudgmentMeter extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightIOJudgmentMeter)
        QwilightIOJudgmentMeterOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightIOJudgmentMeter.newBuilder() to construct.
      private QwilightIOJudgmentMeter(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightIOJudgmentMeter() {
        avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightIOJudgmentMeter_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightIOJudgmentMeter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightIOJudgmentMeter.class, EventOuterClass.Event.QwilightIOJudgmentMeter.Builder.class);
      }

      public static final int AVATARIDS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList avatarIDs_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      public com.google.protobuf.ProtocolStringList
          getAvatarIDsList() {
        return avatarIDs_;
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      public int getAvatarIDsCount() {
        return avatarIDs_.size();
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      public java.lang.String getAvatarIDs(int index) {
        return avatarIDs_.get(index);
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      public com.google.protobuf.ByteString
          getAvatarIDsBytes(int index) {
        return avatarIDs_.getByteString(index);
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int INPUT_FIELD_NUMBER = 3;
      private int input_ = 0;
      /**
       * <code>int32 input = 3;</code>
       * @return The input.
       */
      @java.lang.Override
      public int getInput() {
        return input_;
      }

      public static final int JUDGMENTMETER_FIELD_NUMBER = 4;
      private double judgmentMeter_ = 0D;
      /**
       * <code>double judgmentMeter = 4;</code>
       * @return The judgmentMeter.
       */
      @java.lang.Override
      public double getJudgmentMeter() {
        return judgmentMeter_;
      }

      public static final int ASSIST_FIELD_NUMBER = 5;
      private int assist_ = 0;
      /**
       * <code>int32 assist = 5;</code>
       * @return The assist.
       */
      @java.lang.Override
      public int getAssist() {
        return assist_;
      }

      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 {
        for (int i = 0; i < avatarIDs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, avatarIDs_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (input_ != 0) {
          output.writeInt32(3, input_);
        }
        if (java.lang.Double.doubleToRawLongBits(judgmentMeter_) != 0) {
          output.writeDouble(4, judgmentMeter_);
        }
        if (assist_ != 0) {
          output.writeInt32(5, assist_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < avatarIDs_.size(); i++) {
            dataSize += computeStringSizeNoTag(avatarIDs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getAvatarIDsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (input_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, input_);
        }
        if (java.lang.Double.doubleToRawLongBits(judgmentMeter_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(4, judgmentMeter_);
        }
        if (assist_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(5, assist_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightIOJudgmentMeter)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightIOJudgmentMeter other = (EventOuterClass.Event.QwilightIOJudgmentMeter) obj;

        if (!getAvatarIDsList()
            .equals(other.getAvatarIDsList())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getInput()
            != other.getInput()) return false;
        if (java.lang.Double.doubleToLongBits(getJudgmentMeter())
            != java.lang.Double.doubleToLongBits(
                other.getJudgmentMeter())) return false;
        if (getAssist()
            != other.getAssist()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getAvatarIDsCount() > 0) {
          hash = (37 * hash) + AVATARIDS_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarIDsList().hashCode();
        }
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + INPUT_FIELD_NUMBER;
        hash = (53 * hash) + getInput();
        hash = (37 * hash) + JUDGMENTMETER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getJudgmentMeter()));
        hash = (37 * hash) + ASSIST_FIELD_NUMBER;
        hash = (53 * hash) + getAssist();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter 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 EventOuterClass.Event.QwilightIOJudgmentMeter parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightIOJudgmentMeter 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 EventOuterClass.Event.QwilightIOJudgmentMeter parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOJudgmentMeter 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(EventOuterClass.Event.QwilightIOJudgmentMeter prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightIOJudgmentMeter}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightIOJudgmentMeter)
          EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightIOJudgmentMeter_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightIOJudgmentMeter_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightIOJudgmentMeter.class, EventOuterClass.Event.QwilightIOJudgmentMeter.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightIOJudgmentMeter.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          avatarIDs_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          handlerID_ = "";
          input_ = 0;
          judgmentMeter_ = 0D;
          assist_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightIOJudgmentMeter_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOJudgmentMeter getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOJudgmentMeter build() {
          EventOuterClass.Event.QwilightIOJudgmentMeter result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOJudgmentMeter buildPartial() {
          EventOuterClass.Event.QwilightIOJudgmentMeter result = new EventOuterClass.Event.QwilightIOJudgmentMeter(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightIOJudgmentMeter result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            avatarIDs_.makeImmutable();
            result.avatarIDs_ = avatarIDs_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.input_ = input_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.judgmentMeter_ = judgmentMeter_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.assist_ = assist_;
          }
        }

        @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 EventOuterClass.Event.QwilightIOJudgmentMeter) {
            return mergeFrom((EventOuterClass.Event.QwilightIOJudgmentMeter)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightIOJudgmentMeter other) {
          if (other == EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance()) return this;
          if (!other.avatarIDs_.isEmpty()) {
            if (avatarIDs_.isEmpty()) {
              avatarIDs_ = other.avatarIDs_;
              bitField0_ |= 0x00000001;
            } else {
              ensureAvatarIDsIsMutable();
              avatarIDs_.addAll(other.avatarIDs_);
            }
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getInput() != 0) {
            setInput(other.getInput());
          }
          if (other.getJudgmentMeter() != 0D) {
            setJudgmentMeter(other.getJudgmentMeter());
          }
          if (other.getAssist() != 0) {
            setAssist(other.getAssist());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureAvatarIDsIsMutable();
                  avatarIDs_.add(s);
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  input_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 33: {
                  judgmentMeter_ = input.readDouble();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 33
                case 40: {
                  assist_ = input.readInt32();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 40
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringArrayList avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureAvatarIDsIsMutable() {
          if (!avatarIDs_.isModifiable()) {
            avatarIDs_ = new com.google.protobuf.LazyStringArrayList(avatarIDs_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return A list containing the avatarIDs.
         */
        public com.google.protobuf.ProtocolStringList
            getAvatarIDsList() {
          avatarIDs_.makeImmutable();
          return avatarIDs_;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return The count of avatarIDs.
         */
        public int getAvatarIDsCount() {
          return avatarIDs_.size();
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the element to return.
         * @return The avatarIDs at the given index.
         */
        public java.lang.String getAvatarIDs(int index) {
          return avatarIDs_.get(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the avatarIDs at the given index.
         */
        public com.google.protobuf.ByteString
            getAvatarIDsBytes(int index) {
          return avatarIDs_.getByteString(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index to set the value at.
         * @param value The avatarIDs to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDs(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDs(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param values The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAllAvatarIDs(
            java.lang.Iterable<java.lang.String> values) {
          ensureAvatarIDsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, avatarIDs_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarIDs() {
          avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The bytes of the avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private int input_ ;
        /**
         * <code>int32 input = 3;</code>
         * @return The input.
         */
        @java.lang.Override
        public int getInput() {
          return input_;
        }
        /**
         * <code>int32 input = 3;</code>
         * @param value The input to set.
         * @return This builder for chaining.
         */
        public Builder setInput(int value) {

          input_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 input = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearInput() {
          bitField0_ = (bitField0_ & ~0x00000004);
          input_ = 0;
          onChanged();
          return this;
        }

        private double judgmentMeter_ ;
        /**
         * <code>double judgmentMeter = 4;</code>
         * @return The judgmentMeter.
         */
        @java.lang.Override
        public double getJudgmentMeter() {
          return judgmentMeter_;
        }
        /**
         * <code>double judgmentMeter = 4;</code>
         * @param value The judgmentMeter to set.
         * @return This builder for chaining.
         */
        public Builder setJudgmentMeter(double value) {

          judgmentMeter_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>double judgmentMeter = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudgmentMeter() {
          bitField0_ = (bitField0_ & ~0x00000008);
          judgmentMeter_ = 0D;
          onChanged();
          return this;
        }

        private int assist_ ;
        /**
         * <code>int32 assist = 5;</code>
         * @return The assist.
         */
        @java.lang.Override
        public int getAssist() {
          return assist_;
        }
        /**
         * <code>int32 assist = 5;</code>
         * @param value The assist to set.
         * @return This builder for chaining.
         */
        public Builder setAssist(int value) {

          assist_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>int32 assist = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearAssist() {
          bitField0_ = (bitField0_ & ~0x00000010);
          assist_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightIOJudgmentMeter)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightIOJudgmentMeter)
      private static final EventOuterClass.Event.QwilightIOJudgmentMeter DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightIOJudgmentMeter();
      }

      public static EventOuterClass.Event.QwilightIOJudgmentMeter getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightIOJudgmentMeter>
          PARSER = new com.google.protobuf.AbstractParser<QwilightIOJudgmentMeter>() {
        @java.lang.Override
        public QwilightIOJudgmentMeter parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightIOJudgmentMeter getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightIOJudgmentMeterOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightIOJudgmentMeter)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 input = 2;</code>
       * @return The input.
       */
      int getInput();

      /**
       * <code>double judgmentMeter = 3;</code>
       * @return The judgmentMeter.
       */
      double getJudgmentMeter();

      /**
       * <code>int32 assist = 4;</code>
       * @return The assist.
       */
      int getAssist();
    }
    /**
     * Protobuf type {@code Event.TwilightIOJudgmentMeter}
     */
    public static final class TwilightIOJudgmentMeter extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightIOJudgmentMeter)
        TwilightIOJudgmentMeterOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightIOJudgmentMeter.newBuilder() to construct.
      private TwilightIOJudgmentMeter(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightIOJudgmentMeter() {
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightIOJudgmentMeter_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightIOJudgmentMeter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightIOJudgmentMeter.class, EventOuterClass.Event.TwilightIOJudgmentMeter.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int INPUT_FIELD_NUMBER = 2;
      private int input_ = 0;
      /**
       * <code>int32 input = 2;</code>
       * @return The input.
       */
      @java.lang.Override
      public int getInput() {
        return input_;
      }

      public static final int JUDGMENTMETER_FIELD_NUMBER = 3;
      private double judgmentMeter_ = 0D;
      /**
       * <code>double judgmentMeter = 3;</code>
       * @return The judgmentMeter.
       */
      @java.lang.Override
      public double getJudgmentMeter() {
        return judgmentMeter_;
      }

      public static final int ASSIST_FIELD_NUMBER = 4;
      private int assist_ = 0;
      /**
       * <code>int32 assist = 4;</code>
       * @return The assist.
       */
      @java.lang.Override
      public int getAssist() {
        return assist_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (input_ != 0) {
          output.writeInt32(2, input_);
        }
        if (java.lang.Double.doubleToRawLongBits(judgmentMeter_) != 0) {
          output.writeDouble(3, judgmentMeter_);
        }
        if (assist_ != 0) {
          output.writeInt32(4, assist_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (input_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, input_);
        }
        if (java.lang.Double.doubleToRawLongBits(judgmentMeter_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(3, judgmentMeter_);
        }
        if (assist_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, assist_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightIOJudgmentMeter)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightIOJudgmentMeter other = (EventOuterClass.Event.TwilightIOJudgmentMeter) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getInput()
            != other.getInput()) return false;
        if (java.lang.Double.doubleToLongBits(getJudgmentMeter())
            != java.lang.Double.doubleToLongBits(
                other.getJudgmentMeter())) return false;
        if (getAssist()
            != other.getAssist()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + INPUT_FIELD_NUMBER;
        hash = (53 * hash) + getInput();
        hash = (37 * hash) + JUDGMENTMETER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getJudgmentMeter()));
        hash = (37 * hash) + ASSIST_FIELD_NUMBER;
        hash = (53 * hash) + getAssist();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter 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 EventOuterClass.Event.TwilightIOJudgmentMeter parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightIOJudgmentMeter 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 EventOuterClass.Event.TwilightIOJudgmentMeter parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOJudgmentMeter 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(EventOuterClass.Event.TwilightIOJudgmentMeter prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightIOJudgmentMeter}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightIOJudgmentMeter)
          EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightIOJudgmentMeter_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightIOJudgmentMeter_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightIOJudgmentMeter.class, EventOuterClass.Event.TwilightIOJudgmentMeter.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightIOJudgmentMeter.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          input_ = 0;
          judgmentMeter_ = 0D;
          assist_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightIOJudgmentMeter_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOJudgmentMeter getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOJudgmentMeter build() {
          EventOuterClass.Event.TwilightIOJudgmentMeter result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOJudgmentMeter buildPartial() {
          EventOuterClass.Event.TwilightIOJudgmentMeter result = new EventOuterClass.Event.TwilightIOJudgmentMeter(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightIOJudgmentMeter result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.input_ = input_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.judgmentMeter_ = judgmentMeter_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.assist_ = assist_;
          }
        }

        @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 EventOuterClass.Event.TwilightIOJudgmentMeter) {
            return mergeFrom((EventOuterClass.Event.TwilightIOJudgmentMeter)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightIOJudgmentMeter other) {
          if (other == EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getInput() != 0) {
            setInput(other.getInput());
          }
          if (other.getJudgmentMeter() != 0D) {
            setJudgmentMeter(other.getJudgmentMeter());
          }
          if (other.getAssist() != 0) {
            setAssist(other.getAssist());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  input_ = input.readInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 25: {
                  judgmentMeter_ = input.readDouble();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 25
                case 32: {
                  assist_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private int input_ ;
        /**
         * <code>int32 input = 2;</code>
         * @return The input.
         */
        @java.lang.Override
        public int getInput() {
          return input_;
        }
        /**
         * <code>int32 input = 2;</code>
         * @param value The input to set.
         * @return This builder for chaining.
         */
        public Builder setInput(int value) {

          input_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>int32 input = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearInput() {
          bitField0_ = (bitField0_ & ~0x00000002);
          input_ = 0;
          onChanged();
          return this;
        }

        private double judgmentMeter_ ;
        /**
         * <code>double judgmentMeter = 3;</code>
         * @return The judgmentMeter.
         */
        @java.lang.Override
        public double getJudgmentMeter() {
          return judgmentMeter_;
        }
        /**
         * <code>double judgmentMeter = 3;</code>
         * @param value The judgmentMeter to set.
         * @return This builder for chaining.
         */
        public Builder setJudgmentMeter(double value) {

          judgmentMeter_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>double judgmentMeter = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearJudgmentMeter() {
          bitField0_ = (bitField0_ & ~0x00000004);
          judgmentMeter_ = 0D;
          onChanged();
          return this;
        }

        private int assist_ ;
        /**
         * <code>int32 assist = 4;</code>
         * @return The assist.
         */
        @java.lang.Override
        public int getAssist() {
          return assist_;
        }
        /**
         * <code>int32 assist = 4;</code>
         * @param value The assist to set.
         * @return This builder for chaining.
         */
        public Builder setAssist(int value) {

          assist_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>int32 assist = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearAssist() {
          bitField0_ = (bitField0_ & ~0x00000008);
          assist_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightIOJudgmentMeter)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightIOJudgmentMeter)
      private static final EventOuterClass.Event.TwilightIOJudgmentMeter DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightIOJudgmentMeter();
      }

      public static EventOuterClass.Event.TwilightIOJudgmentMeter getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightIOJudgmentMeter>
          PARSER = new com.google.protobuf.AbstractParser<TwilightIOJudgmentMeter>() {
        @java.lang.Override
        public TwilightIOJudgmentMeter parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightIOJudgmentMeter getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightIONoteVisibilityOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightIONoteVisibility)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      java.util.List<java.lang.String>
          getAvatarIDsList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      int getAvatarIDsCount();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      java.lang.String getAvatarIDs(int index);
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      com.google.protobuf.ByteString
          getAvatarIDsBytes(int index);

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 noteID = 3;</code>
       * @return The noteID.
       */
      int getNoteID();

      /**
       * <code>bool setValidJudgedNotes = 4;</code>
       * @return The setValidJudgedNotes.
       */
      boolean getSetValidJudgedNotes();

      /**
       * <code>bool setNoteFailed = 5;</code>
       * @return The setNoteFailed.
       */
      boolean getSetNoteFailed();
    }
    /**
     * Protobuf type {@code Event.QwilightIONoteVisibility}
     */
    public static final class QwilightIONoteVisibility extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightIONoteVisibility)
        QwilightIONoteVisibilityOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightIONoteVisibility.newBuilder() to construct.
      private QwilightIONoteVisibility(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightIONoteVisibility() {
        avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightIONoteVisibility_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightIONoteVisibility_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightIONoteVisibility.class, EventOuterClass.Event.QwilightIONoteVisibility.Builder.class);
      }

      public static final int AVATARIDS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList avatarIDs_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      public com.google.protobuf.ProtocolStringList
          getAvatarIDsList() {
        return avatarIDs_;
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      public int getAvatarIDsCount() {
        return avatarIDs_.size();
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      public java.lang.String getAvatarIDs(int index) {
        return avatarIDs_.get(index);
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      public com.google.protobuf.ByteString
          getAvatarIDsBytes(int index) {
        return avatarIDs_.getByteString(index);
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NOTEID_FIELD_NUMBER = 3;
      private int noteID_ = 0;
      /**
       * <code>int32 noteID = 3;</code>
       * @return The noteID.
       */
      @java.lang.Override
      public int getNoteID() {
        return noteID_;
      }

      public static final int SETVALIDJUDGEDNOTES_FIELD_NUMBER = 4;
      private boolean setValidJudgedNotes_ = false;
      /**
       * <code>bool setValidJudgedNotes = 4;</code>
       * @return The setValidJudgedNotes.
       */
      @java.lang.Override
      public boolean getSetValidJudgedNotes() {
        return setValidJudgedNotes_;
      }

      public static final int SETNOTEFAILED_FIELD_NUMBER = 5;
      private boolean setNoteFailed_ = false;
      /**
       * <code>bool setNoteFailed = 5;</code>
       * @return The setNoteFailed.
       */
      @java.lang.Override
      public boolean getSetNoteFailed() {
        return setNoteFailed_;
      }

      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 {
        for (int i = 0; i < avatarIDs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, avatarIDs_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (noteID_ != 0) {
          output.writeInt32(3, noteID_);
        }
        if (setValidJudgedNotes_ != false) {
          output.writeBool(4, setValidJudgedNotes_);
        }
        if (setNoteFailed_ != false) {
          output.writeBool(5, setNoteFailed_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < avatarIDs_.size(); i++) {
            dataSize += computeStringSizeNoTag(avatarIDs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getAvatarIDsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (noteID_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, noteID_);
        }
        if (setValidJudgedNotes_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(4, setValidJudgedNotes_);
        }
        if (setNoteFailed_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(5, setNoteFailed_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightIONoteVisibility)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightIONoteVisibility other = (EventOuterClass.Event.QwilightIONoteVisibility) obj;

        if (!getAvatarIDsList()
            .equals(other.getAvatarIDsList())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getNoteID()
            != other.getNoteID()) return false;
        if (getSetValidJudgedNotes()
            != other.getSetValidJudgedNotes()) return false;
        if (getSetNoteFailed()
            != other.getSetNoteFailed()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getAvatarIDsCount() > 0) {
          hash = (37 * hash) + AVATARIDS_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarIDsList().hashCode();
        }
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + NOTEID_FIELD_NUMBER;
        hash = (53 * hash) + getNoteID();
        hash = (37 * hash) + SETVALIDJUDGEDNOTES_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getSetValidJudgedNotes());
        hash = (37 * hash) + SETNOTEFAILED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getSetNoteFailed());
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility 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 EventOuterClass.Event.QwilightIONoteVisibility parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightIONoteVisibility 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 EventOuterClass.Event.QwilightIONoteVisibility parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIONoteVisibility 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(EventOuterClass.Event.QwilightIONoteVisibility prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightIONoteVisibility}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightIONoteVisibility)
          EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightIONoteVisibility_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightIONoteVisibility_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightIONoteVisibility.class, EventOuterClass.Event.QwilightIONoteVisibility.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightIONoteVisibility.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          avatarIDs_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          handlerID_ = "";
          noteID_ = 0;
          setValidJudgedNotes_ = false;
          setNoteFailed_ = false;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightIONoteVisibility_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIONoteVisibility getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIONoteVisibility build() {
          EventOuterClass.Event.QwilightIONoteVisibility result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIONoteVisibility buildPartial() {
          EventOuterClass.Event.QwilightIONoteVisibility result = new EventOuterClass.Event.QwilightIONoteVisibility(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightIONoteVisibility result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            avatarIDs_.makeImmutable();
            result.avatarIDs_ = avatarIDs_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.noteID_ = noteID_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.setValidJudgedNotes_ = setValidJudgedNotes_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.setNoteFailed_ = setNoteFailed_;
          }
        }

        @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 EventOuterClass.Event.QwilightIONoteVisibility) {
            return mergeFrom((EventOuterClass.Event.QwilightIONoteVisibility)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightIONoteVisibility other) {
          if (other == EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance()) return this;
          if (!other.avatarIDs_.isEmpty()) {
            if (avatarIDs_.isEmpty()) {
              avatarIDs_ = other.avatarIDs_;
              bitField0_ |= 0x00000001;
            } else {
              ensureAvatarIDsIsMutable();
              avatarIDs_.addAll(other.avatarIDs_);
            }
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getNoteID() != 0) {
            setNoteID(other.getNoteID());
          }
          if (other.getSetValidJudgedNotes() != false) {
            setSetValidJudgedNotes(other.getSetValidJudgedNotes());
          }
          if (other.getSetNoteFailed() != false) {
            setSetNoteFailed(other.getSetNoteFailed());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureAvatarIDsIsMutable();
                  avatarIDs_.add(s);
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  noteID_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  setValidJudgedNotes_ = input.readBool();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 40: {
                  setNoteFailed_ = input.readBool();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 40
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringArrayList avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureAvatarIDsIsMutable() {
          if (!avatarIDs_.isModifiable()) {
            avatarIDs_ = new com.google.protobuf.LazyStringArrayList(avatarIDs_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return A list containing the avatarIDs.
         */
        public com.google.protobuf.ProtocolStringList
            getAvatarIDsList() {
          avatarIDs_.makeImmutable();
          return avatarIDs_;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return The count of avatarIDs.
         */
        public int getAvatarIDsCount() {
          return avatarIDs_.size();
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the element to return.
         * @return The avatarIDs at the given index.
         */
        public java.lang.String getAvatarIDs(int index) {
          return avatarIDs_.get(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the avatarIDs at the given index.
         */
        public com.google.protobuf.ByteString
            getAvatarIDsBytes(int index) {
          return avatarIDs_.getByteString(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index to set the value at.
         * @param value The avatarIDs to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDs(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDs(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param values The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAllAvatarIDs(
            java.lang.Iterable<java.lang.String> values) {
          ensureAvatarIDsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, avatarIDs_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarIDs() {
          avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The bytes of the avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private int noteID_ ;
        /**
         * <code>int32 noteID = 3;</code>
         * @return The noteID.
         */
        @java.lang.Override
        public int getNoteID() {
          return noteID_;
        }
        /**
         * <code>int32 noteID = 3;</code>
         * @param value The noteID to set.
         * @return This builder for chaining.
         */
        public Builder setNoteID(int value) {

          noteID_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteID = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteID() {
          bitField0_ = (bitField0_ & ~0x00000004);
          noteID_ = 0;
          onChanged();
          return this;
        }

        private boolean setValidJudgedNotes_ ;
        /**
         * <code>bool setValidJudgedNotes = 4;</code>
         * @return The setValidJudgedNotes.
         */
        @java.lang.Override
        public boolean getSetValidJudgedNotes() {
          return setValidJudgedNotes_;
        }
        /**
         * <code>bool setValidJudgedNotes = 4;</code>
         * @param value The setValidJudgedNotes to set.
         * @return This builder for chaining.
         */
        public Builder setSetValidJudgedNotes(boolean value) {

          setValidJudgedNotes_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>bool setValidJudgedNotes = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearSetValidJudgedNotes() {
          bitField0_ = (bitField0_ & ~0x00000008);
          setValidJudgedNotes_ = false;
          onChanged();
          return this;
        }

        private boolean setNoteFailed_ ;
        /**
         * <code>bool setNoteFailed = 5;</code>
         * @return The setNoteFailed.
         */
        @java.lang.Override
        public boolean getSetNoteFailed() {
          return setNoteFailed_;
        }
        /**
         * <code>bool setNoteFailed = 5;</code>
         * @param value The setNoteFailed to set.
         * @return This builder for chaining.
         */
        public Builder setSetNoteFailed(boolean value) {

          setNoteFailed_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>bool setNoteFailed = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearSetNoteFailed() {
          bitField0_ = (bitField0_ & ~0x00000010);
          setNoteFailed_ = false;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightIONoteVisibility)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightIONoteVisibility)
      private static final EventOuterClass.Event.QwilightIONoteVisibility DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightIONoteVisibility();
      }

      public static EventOuterClass.Event.QwilightIONoteVisibility getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightIONoteVisibility>
          PARSER = new com.google.protobuf.AbstractParser<QwilightIONoteVisibility>() {
        @java.lang.Override
        public QwilightIONoteVisibility parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightIONoteVisibility getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightIONoteVisibilityOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightIONoteVisibility)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 noteID = 2;</code>
       * @return The noteID.
       */
      int getNoteID();

      /**
       * <code>bool setValidJudgedNotes = 3;</code>
       * @return The setValidJudgedNotes.
       */
      boolean getSetValidJudgedNotes();

      /**
       * <code>bool setNoteFailed = 4;</code>
       * @return The setNoteFailed.
       */
      boolean getSetNoteFailed();
    }
    /**
     * Protobuf type {@code Event.TwilightIONoteVisibility}
     */
    public static final class TwilightIONoteVisibility extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightIONoteVisibility)
        TwilightIONoteVisibilityOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightIONoteVisibility.newBuilder() to construct.
      private TwilightIONoteVisibility(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightIONoteVisibility() {
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightIONoteVisibility_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightIONoteVisibility_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightIONoteVisibility.class, EventOuterClass.Event.TwilightIONoteVisibility.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NOTEID_FIELD_NUMBER = 2;
      private int noteID_ = 0;
      /**
       * <code>int32 noteID = 2;</code>
       * @return The noteID.
       */
      @java.lang.Override
      public int getNoteID() {
        return noteID_;
      }

      public static final int SETVALIDJUDGEDNOTES_FIELD_NUMBER = 3;
      private boolean setValidJudgedNotes_ = false;
      /**
       * <code>bool setValidJudgedNotes = 3;</code>
       * @return The setValidJudgedNotes.
       */
      @java.lang.Override
      public boolean getSetValidJudgedNotes() {
        return setValidJudgedNotes_;
      }

      public static final int SETNOTEFAILED_FIELD_NUMBER = 4;
      private boolean setNoteFailed_ = false;
      /**
       * <code>bool setNoteFailed = 4;</code>
       * @return The setNoteFailed.
       */
      @java.lang.Override
      public boolean getSetNoteFailed() {
        return setNoteFailed_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (noteID_ != 0) {
          output.writeInt32(2, noteID_);
        }
        if (setValidJudgedNotes_ != false) {
          output.writeBool(3, setValidJudgedNotes_);
        }
        if (setNoteFailed_ != false) {
          output.writeBool(4, setNoteFailed_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (noteID_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, noteID_);
        }
        if (setValidJudgedNotes_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(3, setValidJudgedNotes_);
        }
        if (setNoteFailed_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(4, setNoteFailed_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightIONoteVisibility)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightIONoteVisibility other = (EventOuterClass.Event.TwilightIONoteVisibility) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getNoteID()
            != other.getNoteID()) return false;
        if (getSetValidJudgedNotes()
            != other.getSetValidJudgedNotes()) return false;
        if (getSetNoteFailed()
            != other.getSetNoteFailed()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + NOTEID_FIELD_NUMBER;
        hash = (53 * hash) + getNoteID();
        hash = (37 * hash) + SETVALIDJUDGEDNOTES_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getSetValidJudgedNotes());
        hash = (37 * hash) + SETNOTEFAILED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getSetNoteFailed());
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility 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 EventOuterClass.Event.TwilightIONoteVisibility parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightIONoteVisibility 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 EventOuterClass.Event.TwilightIONoteVisibility parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIONoteVisibility 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(EventOuterClass.Event.TwilightIONoteVisibility prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightIONoteVisibility}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightIONoteVisibility)
          EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightIONoteVisibility_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightIONoteVisibility_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightIONoteVisibility.class, EventOuterClass.Event.TwilightIONoteVisibility.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightIONoteVisibility.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          noteID_ = 0;
          setValidJudgedNotes_ = false;
          setNoteFailed_ = false;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightIONoteVisibility_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIONoteVisibility getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIONoteVisibility build() {
          EventOuterClass.Event.TwilightIONoteVisibility result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIONoteVisibility buildPartial() {
          EventOuterClass.Event.TwilightIONoteVisibility result = new EventOuterClass.Event.TwilightIONoteVisibility(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightIONoteVisibility result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.noteID_ = noteID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.setValidJudgedNotes_ = setValidJudgedNotes_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.setNoteFailed_ = setNoteFailed_;
          }
        }

        @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 EventOuterClass.Event.TwilightIONoteVisibility) {
            return mergeFrom((EventOuterClass.Event.TwilightIONoteVisibility)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightIONoteVisibility other) {
          if (other == EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getNoteID() != 0) {
            setNoteID(other.getNoteID());
          }
          if (other.getSetValidJudgedNotes() != false) {
            setSetValidJudgedNotes(other.getSetValidJudgedNotes());
          }
          if (other.getSetNoteFailed() != false) {
            setSetNoteFailed(other.getSetNoteFailed());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  noteID_ = input.readInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  setValidJudgedNotes_ = input.readBool();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  setNoteFailed_ = input.readBool();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private int noteID_ ;
        /**
         * <code>int32 noteID = 2;</code>
         * @return The noteID.
         */
        @java.lang.Override
        public int getNoteID() {
          return noteID_;
        }
        /**
         * <code>int32 noteID = 2;</code>
         * @param value The noteID to set.
         * @return This builder for chaining.
         */
        public Builder setNoteID(int value) {

          noteID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>int32 noteID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearNoteID() {
          bitField0_ = (bitField0_ & ~0x00000002);
          noteID_ = 0;
          onChanged();
          return this;
        }

        private boolean setValidJudgedNotes_ ;
        /**
         * <code>bool setValidJudgedNotes = 3;</code>
         * @return The setValidJudgedNotes.
         */
        @java.lang.Override
        public boolean getSetValidJudgedNotes() {
          return setValidJudgedNotes_;
        }
        /**
         * <code>bool setValidJudgedNotes = 3;</code>
         * @param value The setValidJudgedNotes to set.
         * @return This builder for chaining.
         */
        public Builder setSetValidJudgedNotes(boolean value) {

          setValidJudgedNotes_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>bool setValidJudgedNotes = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearSetValidJudgedNotes() {
          bitField0_ = (bitField0_ & ~0x00000004);
          setValidJudgedNotes_ = false;
          onChanged();
          return this;
        }

        private boolean setNoteFailed_ ;
        /**
         * <code>bool setNoteFailed = 4;</code>
         * @return The setNoteFailed.
         */
        @java.lang.Override
        public boolean getSetNoteFailed() {
          return setNoteFailed_;
        }
        /**
         * <code>bool setNoteFailed = 4;</code>
         * @param value The setNoteFailed to set.
         * @return This builder for chaining.
         */
        public Builder setSetNoteFailed(boolean value) {

          setNoteFailed_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>bool setNoteFailed = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearSetNoteFailed() {
          bitField0_ = (bitField0_ & ~0x00000008);
          setNoteFailed_ = false;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightIONoteVisibility)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightIONoteVisibility)
      private static final EventOuterClass.Event.TwilightIONoteVisibility DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightIONoteVisibility();
      }

      public static EventOuterClass.Event.TwilightIONoteVisibility getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightIONoteVisibility>
          PARSER = new com.google.protobuf.AbstractParser<TwilightIONoteVisibility>() {
        @java.lang.Override
        public TwilightIONoteVisibility parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightIONoteVisibility getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightIOMultiplierOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightIOMultiplier)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      java.util.List<java.lang.String>
          getAvatarIDsList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      int getAvatarIDsCount();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      java.lang.String getAvatarIDs(int index);
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      com.google.protobuf.ByteString
          getAvatarIDsBytes(int index);

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>double multiplier = 3;</code>
       * @return The multiplier.
       */
      double getMultiplier();
    }
    /**
     * Protobuf type {@code Event.QwilightIOMultiplier}
     */
    public static final class QwilightIOMultiplier extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightIOMultiplier)
        QwilightIOMultiplierOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightIOMultiplier.newBuilder() to construct.
      private QwilightIOMultiplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightIOMultiplier() {
        avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightIOMultiplier_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightIOMultiplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightIOMultiplier.class, EventOuterClass.Event.QwilightIOMultiplier.Builder.class);
      }

      public static final int AVATARIDS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList avatarIDs_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      public com.google.protobuf.ProtocolStringList
          getAvatarIDsList() {
        return avatarIDs_;
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      public int getAvatarIDsCount() {
        return avatarIDs_.size();
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      public java.lang.String getAvatarIDs(int index) {
        return avatarIDs_.get(index);
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      public com.google.protobuf.ByteString
          getAvatarIDsBytes(int index) {
        return avatarIDs_.getByteString(index);
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int MULTIPLIER_FIELD_NUMBER = 3;
      private double multiplier_ = 0D;
      /**
       * <code>double multiplier = 3;</code>
       * @return The multiplier.
       */
      @java.lang.Override
      public double getMultiplier() {
        return multiplier_;
      }

      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 {
        for (int i = 0; i < avatarIDs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, avatarIDs_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(multiplier_) != 0) {
          output.writeDouble(3, multiplier_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < avatarIDs_.size(); i++) {
            dataSize += computeStringSizeNoTag(avatarIDs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getAvatarIDsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(multiplier_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(3, multiplier_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightIOMultiplier)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightIOMultiplier other = (EventOuterClass.Event.QwilightIOMultiplier) obj;

        if (!getAvatarIDsList()
            .equals(other.getAvatarIDsList())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (java.lang.Double.doubleToLongBits(getMultiplier())
            != java.lang.Double.doubleToLongBits(
                other.getMultiplier())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getAvatarIDsCount() > 0) {
          hash = (37 * hash) + AVATARIDS_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarIDsList().hashCode();
        }
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + MULTIPLIER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getMultiplier()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier 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 EventOuterClass.Event.QwilightIOMultiplier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightIOMultiplier 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 EventOuterClass.Event.QwilightIOMultiplier parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOMultiplier 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(EventOuterClass.Event.QwilightIOMultiplier prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightIOMultiplier}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightIOMultiplier)
          EventOuterClass.Event.QwilightIOMultiplierOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightIOMultiplier_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightIOMultiplier_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightIOMultiplier.class, EventOuterClass.Event.QwilightIOMultiplier.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightIOMultiplier.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          avatarIDs_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          handlerID_ = "";
          multiplier_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightIOMultiplier_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOMultiplier getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOMultiplier build() {
          EventOuterClass.Event.QwilightIOMultiplier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOMultiplier buildPartial() {
          EventOuterClass.Event.QwilightIOMultiplier result = new EventOuterClass.Event.QwilightIOMultiplier(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightIOMultiplier result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            avatarIDs_.makeImmutable();
            result.avatarIDs_ = avatarIDs_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.multiplier_ = multiplier_;
          }
        }

        @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 EventOuterClass.Event.QwilightIOMultiplier) {
            return mergeFrom((EventOuterClass.Event.QwilightIOMultiplier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightIOMultiplier other) {
          if (other == EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance()) return this;
          if (!other.avatarIDs_.isEmpty()) {
            if (avatarIDs_.isEmpty()) {
              avatarIDs_ = other.avatarIDs_;
              bitField0_ |= 0x00000001;
            } else {
              ensureAvatarIDsIsMutable();
              avatarIDs_.addAll(other.avatarIDs_);
            }
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getMultiplier() != 0D) {
            setMultiplier(other.getMultiplier());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureAvatarIDsIsMutable();
                  avatarIDs_.add(s);
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 25: {
                  multiplier_ = input.readDouble();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 25
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringArrayList avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureAvatarIDsIsMutable() {
          if (!avatarIDs_.isModifiable()) {
            avatarIDs_ = new com.google.protobuf.LazyStringArrayList(avatarIDs_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return A list containing the avatarIDs.
         */
        public com.google.protobuf.ProtocolStringList
            getAvatarIDsList() {
          avatarIDs_.makeImmutable();
          return avatarIDs_;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return The count of avatarIDs.
         */
        public int getAvatarIDsCount() {
          return avatarIDs_.size();
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the element to return.
         * @return The avatarIDs at the given index.
         */
        public java.lang.String getAvatarIDs(int index) {
          return avatarIDs_.get(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the avatarIDs at the given index.
         */
        public com.google.protobuf.ByteString
            getAvatarIDsBytes(int index) {
          return avatarIDs_.getByteString(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index to set the value at.
         * @param value The avatarIDs to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDs(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDs(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param values The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAllAvatarIDs(
            java.lang.Iterable<java.lang.String> values) {
          ensureAvatarIDsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, avatarIDs_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarIDs() {
          avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The bytes of the avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private double multiplier_ ;
        /**
         * <code>double multiplier = 3;</code>
         * @return The multiplier.
         */
        @java.lang.Override
        public double getMultiplier() {
          return multiplier_;
        }
        /**
         * <code>double multiplier = 3;</code>
         * @param value The multiplier to set.
         * @return This builder for chaining.
         */
        public Builder setMultiplier(double value) {

          multiplier_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>double multiplier = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearMultiplier() {
          bitField0_ = (bitField0_ & ~0x00000004);
          multiplier_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightIOMultiplier)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightIOMultiplier)
      private static final EventOuterClass.Event.QwilightIOMultiplier DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightIOMultiplier();
      }

      public static EventOuterClass.Event.QwilightIOMultiplier getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightIOMultiplier>
          PARSER = new com.google.protobuf.AbstractParser<QwilightIOMultiplier>() {
        @java.lang.Override
        public QwilightIOMultiplier parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightIOMultiplier getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightIOMultiplierOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightIOMultiplier)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>double multiplier = 2;</code>
       * @return The multiplier.
       */
      double getMultiplier();
    }
    /**
     * Protobuf type {@code Event.TwilightIOMultiplier}
     */
    public static final class TwilightIOMultiplier extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightIOMultiplier)
        TwilightIOMultiplierOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightIOMultiplier.newBuilder() to construct.
      private TwilightIOMultiplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightIOMultiplier() {
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightIOMultiplier_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightIOMultiplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightIOMultiplier.class, EventOuterClass.Event.TwilightIOMultiplier.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int MULTIPLIER_FIELD_NUMBER = 2;
      private double multiplier_ = 0D;
      /**
       * <code>double multiplier = 2;</code>
       * @return The multiplier.
       */
      @java.lang.Override
      public double getMultiplier() {
        return multiplier_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(multiplier_) != 0) {
          output.writeDouble(2, multiplier_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(multiplier_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(2, multiplier_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightIOMultiplier)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightIOMultiplier other = (EventOuterClass.Event.TwilightIOMultiplier) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (java.lang.Double.doubleToLongBits(getMultiplier())
            != java.lang.Double.doubleToLongBits(
                other.getMultiplier())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + MULTIPLIER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getMultiplier()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier 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 EventOuterClass.Event.TwilightIOMultiplier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightIOMultiplier 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 EventOuterClass.Event.TwilightIOMultiplier parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOMultiplier 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(EventOuterClass.Event.TwilightIOMultiplier prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightIOMultiplier}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightIOMultiplier)
          EventOuterClass.Event.TwilightIOMultiplierOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightIOMultiplier_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightIOMultiplier_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightIOMultiplier.class, EventOuterClass.Event.TwilightIOMultiplier.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightIOMultiplier.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          multiplier_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightIOMultiplier_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOMultiplier getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOMultiplier build() {
          EventOuterClass.Event.TwilightIOMultiplier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOMultiplier buildPartial() {
          EventOuterClass.Event.TwilightIOMultiplier result = new EventOuterClass.Event.TwilightIOMultiplier(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightIOMultiplier result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.multiplier_ = multiplier_;
          }
        }

        @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 EventOuterClass.Event.TwilightIOMultiplier) {
            return mergeFrom((EventOuterClass.Event.TwilightIOMultiplier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightIOMultiplier other) {
          if (other == EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getMultiplier() != 0D) {
            setMultiplier(other.getMultiplier());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 17: {
                  multiplier_ = input.readDouble();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 17
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private double multiplier_ ;
        /**
         * <code>double multiplier = 2;</code>
         * @return The multiplier.
         */
        @java.lang.Override
        public double getMultiplier() {
          return multiplier_;
        }
        /**
         * <code>double multiplier = 2;</code>
         * @param value The multiplier to set.
         * @return This builder for chaining.
         */
        public Builder setMultiplier(double value) {

          multiplier_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>double multiplier = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearMultiplier() {
          bitField0_ = (bitField0_ & ~0x00000002);
          multiplier_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightIOMultiplier)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightIOMultiplier)
      private static final EventOuterClass.Event.TwilightIOMultiplier DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightIOMultiplier();
      }

      public static EventOuterClass.Event.TwilightIOMultiplier getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightIOMultiplier>
          PARSER = new com.google.protobuf.AbstractParser<TwilightIOMultiplier>() {
        @java.lang.Override
        public TwilightIOMultiplier parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightIOMultiplier getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightIOAudioMultiplierOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightIOAudioMultiplier)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      java.util.List<java.lang.String>
          getAvatarIDsList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      int getAvatarIDsCount();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      java.lang.String getAvatarIDs(int index);
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      com.google.protobuf.ByteString
          getAvatarIDsBytes(int index);

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>double audioMultiplier = 3;</code>
       * @return The audioMultiplier.
       */
      double getAudioMultiplier();
    }
    /**
     * Protobuf type {@code Event.QwilightIOAudioMultiplier}
     */
    public static final class QwilightIOAudioMultiplier extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightIOAudioMultiplier)
        QwilightIOAudioMultiplierOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightIOAudioMultiplier.newBuilder() to construct.
      private QwilightIOAudioMultiplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightIOAudioMultiplier() {
        avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightIOAudioMultiplier_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightIOAudioMultiplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightIOAudioMultiplier.class, EventOuterClass.Event.QwilightIOAudioMultiplier.Builder.class);
      }

      public static final int AVATARIDS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringArrayList avatarIDs_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return A list containing the avatarIDs.
       */
      public com.google.protobuf.ProtocolStringList
          getAvatarIDsList() {
        return avatarIDs_;
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @return The count of avatarIDs.
       */
      public int getAvatarIDsCount() {
        return avatarIDs_.size();
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the element to return.
       * @return The avatarIDs at the given index.
       */
      public java.lang.String getAvatarIDs(int index) {
        return avatarIDs_.get(index);
      }
      /**
       * <code>repeated string avatarIDs = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the avatarIDs at the given index.
       */
      public com.google.protobuf.ByteString
          getAvatarIDsBytes(int index) {
        return avatarIDs_.getByteString(index);
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int AUDIOMULTIPLIER_FIELD_NUMBER = 3;
      private double audioMultiplier_ = 0D;
      /**
       * <code>double audioMultiplier = 3;</code>
       * @return The audioMultiplier.
       */
      @java.lang.Override
      public double getAudioMultiplier() {
        return audioMultiplier_;
      }

      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 {
        for (int i = 0; i < avatarIDs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, avatarIDs_.getRaw(i));
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(audioMultiplier_) != 0) {
          output.writeDouble(3, audioMultiplier_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < avatarIDs_.size(); i++) {
            dataSize += computeStringSizeNoTag(avatarIDs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getAvatarIDsList().size();
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(audioMultiplier_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(3, audioMultiplier_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightIOAudioMultiplier)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightIOAudioMultiplier other = (EventOuterClass.Event.QwilightIOAudioMultiplier) obj;

        if (!getAvatarIDsList()
            .equals(other.getAvatarIDsList())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (java.lang.Double.doubleToLongBits(getAudioMultiplier())
            != java.lang.Double.doubleToLongBits(
                other.getAudioMultiplier())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getAvatarIDsCount() > 0) {
          hash = (37 * hash) + AVATARIDS_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarIDsList().hashCode();
        }
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + AUDIOMULTIPLIER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getAudioMultiplier()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier 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 EventOuterClass.Event.QwilightIOAudioMultiplier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightIOAudioMultiplier 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 EventOuterClass.Event.QwilightIOAudioMultiplier parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightIOAudioMultiplier 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(EventOuterClass.Event.QwilightIOAudioMultiplier prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightIOAudioMultiplier}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightIOAudioMultiplier)
          EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightIOAudioMultiplier_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightIOAudioMultiplier_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightIOAudioMultiplier.class, EventOuterClass.Event.QwilightIOAudioMultiplier.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightIOAudioMultiplier.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          avatarIDs_ =
              com.google.protobuf.LazyStringArrayList.emptyList();
          handlerID_ = "";
          audioMultiplier_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightIOAudioMultiplier_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOAudioMultiplier getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOAudioMultiplier build() {
          EventOuterClass.Event.QwilightIOAudioMultiplier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightIOAudioMultiplier buildPartial() {
          EventOuterClass.Event.QwilightIOAudioMultiplier result = new EventOuterClass.Event.QwilightIOAudioMultiplier(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightIOAudioMultiplier result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            avatarIDs_.makeImmutable();
            result.avatarIDs_ = avatarIDs_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.audioMultiplier_ = audioMultiplier_;
          }
        }

        @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 EventOuterClass.Event.QwilightIOAudioMultiplier) {
            return mergeFrom((EventOuterClass.Event.QwilightIOAudioMultiplier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightIOAudioMultiplier other) {
          if (other == EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance()) return this;
          if (!other.avatarIDs_.isEmpty()) {
            if (avatarIDs_.isEmpty()) {
              avatarIDs_ = other.avatarIDs_;
              bitField0_ |= 0x00000001;
            } else {
              ensureAvatarIDsIsMutable();
              avatarIDs_.addAll(other.avatarIDs_);
            }
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getAudioMultiplier() != 0D) {
            setAudioMultiplier(other.getAudioMultiplier());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensureAvatarIDsIsMutable();
                  avatarIDs_.add(s);
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 25: {
                  audioMultiplier_ = input.readDouble();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 25
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringArrayList avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        private void ensureAvatarIDsIsMutable() {
          if (!avatarIDs_.isModifiable()) {
            avatarIDs_ = new com.google.protobuf.LazyStringArrayList(avatarIDs_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return A list containing the avatarIDs.
         */
        public com.google.protobuf.ProtocolStringList
            getAvatarIDsList() {
          avatarIDs_.makeImmutable();
          return avatarIDs_;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return The count of avatarIDs.
         */
        public int getAvatarIDsCount() {
          return avatarIDs_.size();
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the element to return.
         * @return The avatarIDs at the given index.
         */
        public java.lang.String getAvatarIDs(int index) {
          return avatarIDs_.get(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the avatarIDs at the given index.
         */
        public com.google.protobuf.ByteString
            getAvatarIDsBytes(int index) {
          return avatarIDs_.getByteString(index);
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param index The index to set the value at.
         * @param value The avatarIDs to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDs(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDs(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param values The avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAllAvatarIDs(
            java.lang.Iterable<java.lang.String> values) {
          ensureAvatarIDsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, avatarIDs_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarIDs() {
          avatarIDs_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string avatarIDs = 1;</code>
         * @param value The bytes of the avatarIDs to add.
         * @return This builder for chaining.
         */
        public Builder addAvatarIDsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensureAvatarIDsIsMutable();
          avatarIDs_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private double audioMultiplier_ ;
        /**
         * <code>double audioMultiplier = 3;</code>
         * @return The audioMultiplier.
         */
        @java.lang.Override
        public double getAudioMultiplier() {
          return audioMultiplier_;
        }
        /**
         * <code>double audioMultiplier = 3;</code>
         * @param value The audioMultiplier to set.
         * @return This builder for chaining.
         */
        public Builder setAudioMultiplier(double value) {

          audioMultiplier_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>double audioMultiplier = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearAudioMultiplier() {
          bitField0_ = (bitField0_ & ~0x00000004);
          audioMultiplier_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightIOAudioMultiplier)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightIOAudioMultiplier)
      private static final EventOuterClass.Event.QwilightIOAudioMultiplier DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightIOAudioMultiplier();
      }

      public static EventOuterClass.Event.QwilightIOAudioMultiplier getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightIOAudioMultiplier>
          PARSER = new com.google.protobuf.AbstractParser<QwilightIOAudioMultiplier>() {
        @java.lang.Override
        public QwilightIOAudioMultiplier parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightIOAudioMultiplier getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightIOAudioMultiplierOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightIOAudioMultiplier)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>double audioMultiplier = 2;</code>
       * @return The audioMultiplier.
       */
      double getAudioMultiplier();
    }
    /**
     * Protobuf type {@code Event.TwilightIOAudioMultiplier}
     */
    public static final class TwilightIOAudioMultiplier extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightIOAudioMultiplier)
        TwilightIOAudioMultiplierOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightIOAudioMultiplier.newBuilder() to construct.
      private TwilightIOAudioMultiplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightIOAudioMultiplier() {
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightIOAudioMultiplier_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightIOAudioMultiplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightIOAudioMultiplier.class, EventOuterClass.Event.TwilightIOAudioMultiplier.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int AUDIOMULTIPLIER_FIELD_NUMBER = 2;
      private double audioMultiplier_ = 0D;
      /**
       * <code>double audioMultiplier = 2;</code>
       * @return The audioMultiplier.
       */
      @java.lang.Override
      public double getAudioMultiplier() {
        return audioMultiplier_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(audioMultiplier_) != 0) {
          output.writeDouble(2, audioMultiplier_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (java.lang.Double.doubleToRawLongBits(audioMultiplier_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(2, audioMultiplier_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightIOAudioMultiplier)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightIOAudioMultiplier other = (EventOuterClass.Event.TwilightIOAudioMultiplier) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (java.lang.Double.doubleToLongBits(getAudioMultiplier())
            != java.lang.Double.doubleToLongBits(
                other.getAudioMultiplier())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + AUDIOMULTIPLIER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getAudioMultiplier()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier 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 EventOuterClass.Event.TwilightIOAudioMultiplier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightIOAudioMultiplier 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 EventOuterClass.Event.TwilightIOAudioMultiplier parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightIOAudioMultiplier 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(EventOuterClass.Event.TwilightIOAudioMultiplier prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightIOAudioMultiplier}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightIOAudioMultiplier)
          EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightIOAudioMultiplier_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightIOAudioMultiplier_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightIOAudioMultiplier.class, EventOuterClass.Event.TwilightIOAudioMultiplier.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightIOAudioMultiplier.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          audioMultiplier_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightIOAudioMultiplier_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOAudioMultiplier getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOAudioMultiplier build() {
          EventOuterClass.Event.TwilightIOAudioMultiplier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightIOAudioMultiplier buildPartial() {
          EventOuterClass.Event.TwilightIOAudioMultiplier result = new EventOuterClass.Event.TwilightIOAudioMultiplier(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightIOAudioMultiplier result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.audioMultiplier_ = audioMultiplier_;
          }
        }

        @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 EventOuterClass.Event.TwilightIOAudioMultiplier) {
            return mergeFrom((EventOuterClass.Event.TwilightIOAudioMultiplier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightIOAudioMultiplier other) {
          if (other == EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getAudioMultiplier() != 0D) {
            setAudioMultiplier(other.getAudioMultiplier());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 17: {
                  audioMultiplier_ = input.readDouble();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 17
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private double audioMultiplier_ ;
        /**
         * <code>double audioMultiplier = 2;</code>
         * @return The audioMultiplier.
         */
        @java.lang.Override
        public double getAudioMultiplier() {
          return audioMultiplier_;
        }
        /**
         * <code>double audioMultiplier = 2;</code>
         * @param value The audioMultiplier to set.
         * @return This builder for chaining.
         */
        public Builder setAudioMultiplier(double value) {

          audioMultiplier_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>double audioMultiplier = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearAudioMultiplier() {
          bitField0_ = (bitField0_ & ~0x00000002);
          audioMultiplier_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightIOAudioMultiplier)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightIOAudioMultiplier)
      private static final EventOuterClass.Event.TwilightIOAudioMultiplier DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightIOAudioMultiplier();
      }

      public static EventOuterClass.Event.TwilightIOAudioMultiplier getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightIOAudioMultiplier>
          PARSER = new com.google.protobuf.AbstractParser<TwilightIOAudioMultiplier>() {
        @java.lang.Override
        public TwilightIOAudioMultiplier parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightIOAudioMultiplier getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightAudioInputOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightAudioInput)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string siteID = 1;</code>
       * @return The siteID.
       */
      java.lang.String getSiteID();
      /**
       * <code>string siteID = 1;</code>
       * @return The bytes for siteID.
       */
      com.google.protobuf.ByteString
          getSiteIDBytes();

      /**
       * <code>string avatarID = 2;</code>
       * @return The avatarID.
       */
      java.lang.String getAvatarID();
      /**
       * <code>string avatarID = 2;</code>
       * @return The bytes for avatarID.
       */
      com.google.protobuf.ByteString
          getAvatarIDBytes();
    }
    /**
     * Protobuf type {@code Event.TwilightAudioInput}
     */
    public static final class TwilightAudioInput extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightAudioInput)
        TwilightAudioInputOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightAudioInput.newBuilder() to construct.
      private TwilightAudioInput(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightAudioInput() {
        siteID_ = "";
        avatarID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightAudioInput_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightAudioInput_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightAudioInput.class, EventOuterClass.Event.TwilightAudioInput.Builder.class);
      }

      public static final int SITEID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object siteID_ = "";
      /**
       * <code>string siteID = 1;</code>
       * @return The siteID.
       */
      @java.lang.Override
      public java.lang.String getSiteID() {
        java.lang.Object ref = siteID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          siteID_ = s;
          return s;
        }
      }
      /**
       * <code>string siteID = 1;</code>
       * @return The bytes for siteID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSiteIDBytes() {
        java.lang.Object ref = siteID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          siteID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int AVATARID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object avatarID_ = "";
      /**
       * <code>string avatarID = 2;</code>
       * @return The avatarID.
       */
      @java.lang.Override
      public java.lang.String getAvatarID() {
        java.lang.Object ref = avatarID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          avatarID_ = s;
          return s;
        }
      }
      /**
       * <code>string avatarID = 2;</code>
       * @return The bytes for avatarID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAvatarIDBytes() {
        java.lang.Object ref = avatarID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          avatarID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(siteID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, siteID_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, avatarID_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(siteID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, siteID_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, avatarID_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightAudioInput)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightAudioInput other = (EventOuterClass.Event.TwilightAudioInput) obj;

        if (!getSiteID()
            .equals(other.getSiteID())) return false;
        if (!getAvatarID()
            .equals(other.getAvatarID())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + SITEID_FIELD_NUMBER;
        hash = (53 * hash) + getSiteID().hashCode();
        hash = (37 * hash) + AVATARID_FIELD_NUMBER;
        hash = (53 * hash) + getAvatarID().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightAudioInput parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightAudioInput parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightAudioInput parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightAudioInput parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightAudioInput parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightAudioInput parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightAudioInput parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightAudioInput 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 EventOuterClass.Event.TwilightAudioInput parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightAudioInput 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 EventOuterClass.Event.TwilightAudioInput parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightAudioInput 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(EventOuterClass.Event.TwilightAudioInput prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightAudioInput}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightAudioInput)
          EventOuterClass.Event.TwilightAudioInputOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightAudioInput_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightAudioInput_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightAudioInput.class, EventOuterClass.Event.TwilightAudioInput.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightAudioInput.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          siteID_ = "";
          avatarID_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightAudioInput_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightAudioInput getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightAudioInput build() {
          EventOuterClass.Event.TwilightAudioInput result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightAudioInput buildPartial() {
          EventOuterClass.Event.TwilightAudioInput result = new EventOuterClass.Event.TwilightAudioInput(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightAudioInput result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.siteID_ = siteID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.avatarID_ = avatarID_;
          }
        }

        @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 EventOuterClass.Event.TwilightAudioInput) {
            return mergeFrom((EventOuterClass.Event.TwilightAudioInput)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightAudioInput other) {
          if (other == EventOuterClass.Event.TwilightAudioInput.getDefaultInstance()) return this;
          if (!other.getSiteID().isEmpty()) {
            siteID_ = other.siteID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (!other.getAvatarID().isEmpty()) {
            avatarID_ = other.avatarID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  siteID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  avatarID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object siteID_ = "";
        /**
         * <code>string siteID = 1;</code>
         * @return The siteID.
         */
        public java.lang.String getSiteID() {
          java.lang.Object ref = siteID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            siteID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string siteID = 1;</code>
         * @return The bytes for siteID.
         */
        public com.google.protobuf.ByteString
            getSiteIDBytes() {
          java.lang.Object ref = siteID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            siteID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string siteID = 1;</code>
         * @param value The siteID to set.
         * @return This builder for chaining.
         */
        public Builder setSiteID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          siteID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string siteID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearSiteID() {
          siteID_ = getDefaultInstance().getSiteID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string siteID = 1;</code>
         * @param value The bytes for siteID to set.
         * @return This builder for chaining.
         */
        public Builder setSiteIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          siteID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object avatarID_ = "";
        /**
         * <code>string avatarID = 2;</code>
         * @return The avatarID.
         */
        public java.lang.String getAvatarID() {
          java.lang.Object ref = avatarID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            avatarID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string avatarID = 2;</code>
         * @return The bytes for avatarID.
         */
        public com.google.protobuf.ByteString
            getAvatarIDBytes() {
          java.lang.Object ref = avatarID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            avatarID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string avatarID = 2;</code>
         * @param value The avatarID to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          avatarID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string avatarID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarID() {
          avatarID_ = getDefaultInstance().getAvatarID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string avatarID = 2;</code>
         * @param value The bytes for avatarID to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          avatarID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightAudioInput)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightAudioInput)
      private static final EventOuterClass.Event.TwilightAudioInput DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightAudioInput();
      }

      public static EventOuterClass.Event.TwilightAudioInput getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightAudioInput>
          PARSER = new com.google.protobuf.AbstractParser<TwilightAudioInput>() {
        @java.lang.Override
        public TwilightAudioInput parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightAudioInput getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QwilightPostItemOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.QwilightPostItem)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string siteID = 1;</code>
       * @return The siteID.
       */
      java.lang.String getSiteID();
      /**
       * <code>string siteID = 1;</code>
       * @return The bytes for siteID.
       */
      com.google.protobuf.ByteString
          getSiteIDBytes();

      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 postedItem = 3;</code>
       * @return The postedItem.
       */
      int getPostedItem();

      /**
       * <code>int32 isPositive = 4;</code>
       * @return The isPositive.
       */
      int getIsPositive();

      /**
       * <code>double lowestWait = 5;</code>
       * @return The lowestWait.
       */
      double getLowestWait();

      /**
       * <code>double highestWait = 6;</code>
       * @return The highestWait.
       */
      double getHighestWait();
    }
    /**
     * Protobuf type {@code Event.QwilightPostItem}
     */
    public static final class QwilightPostItem extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.QwilightPostItem)
        QwilightPostItemOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QwilightPostItem.newBuilder() to construct.
      private QwilightPostItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QwilightPostItem() {
        siteID_ = "";
        handlerID_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_QwilightPostItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_QwilightPostItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.QwilightPostItem.class, EventOuterClass.Event.QwilightPostItem.Builder.class);
      }

      public static final int SITEID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object siteID_ = "";
      /**
       * <code>string siteID = 1;</code>
       * @return The siteID.
       */
      @java.lang.Override
      public java.lang.String getSiteID() {
        java.lang.Object ref = siteID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          siteID_ = s;
          return s;
        }
      }
      /**
       * <code>string siteID = 1;</code>
       * @return The bytes for siteID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSiteIDBytes() {
        java.lang.Object ref = siteID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          siteID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HANDLERID_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 2;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 2;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int POSTEDITEM_FIELD_NUMBER = 3;
      private int postedItem_ = 0;
      /**
       * <code>int32 postedItem = 3;</code>
       * @return The postedItem.
       */
      @java.lang.Override
      public int getPostedItem() {
        return postedItem_;
      }

      public static final int ISPOSITIVE_FIELD_NUMBER = 4;
      private int isPositive_ = 0;
      /**
       * <code>int32 isPositive = 4;</code>
       * @return The isPositive.
       */
      @java.lang.Override
      public int getIsPositive() {
        return isPositive_;
      }

      public static final int LOWESTWAIT_FIELD_NUMBER = 5;
      private double lowestWait_ = 0D;
      /**
       * <code>double lowestWait = 5;</code>
       * @return The lowestWait.
       */
      @java.lang.Override
      public double getLowestWait() {
        return lowestWait_;
      }

      public static final int HIGHESTWAIT_FIELD_NUMBER = 6;
      private double highestWait_ = 0D;
      /**
       * <code>double highestWait = 6;</code>
       * @return The highestWait.
       */
      @java.lang.Override
      public double getHighestWait() {
        return highestWait_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(siteID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, siteID_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, handlerID_);
        }
        if (postedItem_ != 0) {
          output.writeInt32(3, postedItem_);
        }
        if (isPositive_ != 0) {
          output.writeInt32(4, isPositive_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowestWait_) != 0) {
          output.writeDouble(5, lowestWait_);
        }
        if (java.lang.Double.doubleToRawLongBits(highestWait_) != 0) {
          output.writeDouble(6, highestWait_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(siteID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, siteID_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, handlerID_);
        }
        if (postedItem_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, postedItem_);
        }
        if (isPositive_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, isPositive_);
        }
        if (java.lang.Double.doubleToRawLongBits(lowestWait_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(5, lowestWait_);
        }
        if (java.lang.Double.doubleToRawLongBits(highestWait_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(6, highestWait_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.QwilightPostItem)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.QwilightPostItem other = (EventOuterClass.Event.QwilightPostItem) obj;

        if (!getSiteID()
            .equals(other.getSiteID())) return false;
        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getPostedItem()
            != other.getPostedItem()) return false;
        if (getIsPositive()
            != other.getIsPositive()) return false;
        if (java.lang.Double.doubleToLongBits(getLowestWait())
            != java.lang.Double.doubleToLongBits(
                other.getLowestWait())) return false;
        if (java.lang.Double.doubleToLongBits(getHighestWait())
            != java.lang.Double.doubleToLongBits(
                other.getHighestWait())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + SITEID_FIELD_NUMBER;
        hash = (53 * hash) + getSiteID().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + POSTEDITEM_FIELD_NUMBER;
        hash = (53 * hash) + getPostedItem();
        hash = (37 * hash) + ISPOSITIVE_FIELD_NUMBER;
        hash = (53 * hash) + getIsPositive();
        hash = (37 * hash) + LOWESTWAIT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getLowestWait()));
        hash = (37 * hash) + HIGHESTWAIT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getHighestWait()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.QwilightPostItem parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightPostItem parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightPostItem parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightPostItem parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightPostItem parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.QwilightPostItem parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.QwilightPostItem parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightPostItem 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 EventOuterClass.Event.QwilightPostItem parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.QwilightPostItem 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 EventOuterClass.Event.QwilightPostItem parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.QwilightPostItem 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(EventOuterClass.Event.QwilightPostItem prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.QwilightPostItem}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.QwilightPostItem)
          EventOuterClass.Event.QwilightPostItemOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_QwilightPostItem_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_QwilightPostItem_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.QwilightPostItem.class, EventOuterClass.Event.QwilightPostItem.Builder.class);
        }

        // Construct using EventOuterClass.Event.QwilightPostItem.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          siteID_ = "";
          handlerID_ = "";
          postedItem_ = 0;
          isPositive_ = 0;
          lowestWait_ = 0D;
          highestWait_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_QwilightPostItem_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightPostItem getDefaultInstanceForType() {
          return EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightPostItem build() {
          EventOuterClass.Event.QwilightPostItem result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.QwilightPostItem buildPartial() {
          EventOuterClass.Event.QwilightPostItem result = new EventOuterClass.Event.QwilightPostItem(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.QwilightPostItem result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.siteID_ = siteID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.postedItem_ = postedItem_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.isPositive_ = isPositive_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.lowestWait_ = lowestWait_;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.highestWait_ = highestWait_;
          }
        }

        @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 EventOuterClass.Event.QwilightPostItem) {
            return mergeFrom((EventOuterClass.Event.QwilightPostItem)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.QwilightPostItem other) {
          if (other == EventOuterClass.Event.QwilightPostItem.getDefaultInstance()) return this;
          if (!other.getSiteID().isEmpty()) {
            siteID_ = other.siteID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getPostedItem() != 0) {
            setPostedItem(other.getPostedItem());
          }
          if (other.getIsPositive() != 0) {
            setIsPositive(other.getIsPositive());
          }
          if (other.getLowestWait() != 0D) {
            setLowestWait(other.getLowestWait());
          }
          if (other.getHighestWait() != 0D) {
            setHighestWait(other.getHighestWait());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  siteID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  postedItem_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  isPositive_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 41: {
                  lowestWait_ = input.readDouble();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 41
                case 49: {
                  highestWait_ = input.readDouble();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 49
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object siteID_ = "";
        /**
         * <code>string siteID = 1;</code>
         * @return The siteID.
         */
        public java.lang.String getSiteID() {
          java.lang.Object ref = siteID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            siteID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string siteID = 1;</code>
         * @return The bytes for siteID.
         */
        public com.google.protobuf.ByteString
            getSiteIDBytes() {
          java.lang.Object ref = siteID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            siteID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string siteID = 1;</code>
         * @param value The siteID to set.
         * @return This builder for chaining.
         */
        public Builder setSiteID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          siteID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string siteID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearSiteID() {
          siteID_ = getDefaultInstance().getSiteID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string siteID = 1;</code>
         * @param value The bytes for siteID to set.
         * @return This builder for chaining.
         */
        public Builder setSiteIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          siteID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 2;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 2;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private int postedItem_ ;
        /**
         * <code>int32 postedItem = 3;</code>
         * @return The postedItem.
         */
        @java.lang.Override
        public int getPostedItem() {
          return postedItem_;
        }
        /**
         * <code>int32 postedItem = 3;</code>
         * @param value The postedItem to set.
         * @return This builder for chaining.
         */
        public Builder setPostedItem(int value) {

          postedItem_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>int32 postedItem = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearPostedItem() {
          bitField0_ = (bitField0_ & ~0x00000004);
          postedItem_ = 0;
          onChanged();
          return this;
        }

        private int isPositive_ ;
        /**
         * <code>int32 isPositive = 4;</code>
         * @return The isPositive.
         */
        @java.lang.Override
        public int getIsPositive() {
          return isPositive_;
        }
        /**
         * <code>int32 isPositive = 4;</code>
         * @param value The isPositive to set.
         * @return This builder for chaining.
         */
        public Builder setIsPositive(int value) {

          isPositive_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>int32 isPositive = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearIsPositive() {
          bitField0_ = (bitField0_ & ~0x00000008);
          isPositive_ = 0;
          onChanged();
          return this;
        }

        private double lowestWait_ ;
        /**
         * <code>double lowestWait = 5;</code>
         * @return The lowestWait.
         */
        @java.lang.Override
        public double getLowestWait() {
          return lowestWait_;
        }
        /**
         * <code>double lowestWait = 5;</code>
         * @param value The lowestWait to set.
         * @return This builder for chaining.
         */
        public Builder setLowestWait(double value) {

          lowestWait_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>double lowestWait = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearLowestWait() {
          bitField0_ = (bitField0_ & ~0x00000010);
          lowestWait_ = 0D;
          onChanged();
          return this;
        }

        private double highestWait_ ;
        /**
         * <code>double highestWait = 6;</code>
         * @return The highestWait.
         */
        @java.lang.Override
        public double getHighestWait() {
          return highestWait_;
        }
        /**
         * <code>double highestWait = 6;</code>
         * @param value The highestWait to set.
         * @return This builder for chaining.
         */
        public Builder setHighestWait(double value) {

          highestWait_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>double highestWait = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearHighestWait() {
          bitField0_ = (bitField0_ & ~0x00000020);
          highestWait_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.QwilightPostItem)
      }

      // @@protoc_insertion_point(class_scope:Event.QwilightPostItem)
      private static final EventOuterClass.Event.QwilightPostItem DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.QwilightPostItem();
      }

      public static EventOuterClass.Event.QwilightPostItem getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<QwilightPostItem>
          PARSER = new com.google.protobuf.AbstractParser<QwilightPostItem>() {
        @java.lang.Override
        public QwilightPostItem parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.QwilightPostItem getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TwilightPostItemOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Event.TwilightPostItem)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      java.lang.String getHandlerID();
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      com.google.protobuf.ByteString
          getHandlerIDBytes();

      /**
       * <code>int32 postedItem = 2;</code>
       * @return The postedItem.
       */
      int getPostedItem();

      /**
       * <code>string avatarName = 3;</code>
       * @return The avatarName.
       */
      java.lang.String getAvatarName();
      /**
       * <code>string avatarName = 3;</code>
       * @return The bytes for avatarName.
       */
      com.google.protobuf.ByteString
          getAvatarNameBytes();

      /**
       * <code>double wait = 4;</code>
       * @return The wait.
       */
      double getWait();
    }
    /**
     * Protobuf type {@code Event.TwilightPostItem}
     */
    public static final class TwilightPostItem extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Event.TwilightPostItem)
        TwilightPostItemOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TwilightPostItem.newBuilder() to construct.
      private TwilightPostItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private TwilightPostItem() {
        handlerID_ = "";
        avatarName_ = "";
      }

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

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_TwilightPostItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_TwilightPostItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.TwilightPostItem.class, EventOuterClass.Event.TwilightPostItem.Builder.class);
      }

      public static final int HANDLERID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object handlerID_ = "";
      /**
       * <code>string handlerID = 1;</code>
       * @return The handlerID.
       */
      @java.lang.Override
      public java.lang.String getHandlerID() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          handlerID_ = s;
          return s;
        }
      }
      /**
       * <code>string handlerID = 1;</code>
       * @return The bytes for handlerID.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHandlerIDBytes() {
        java.lang.Object ref = handlerID_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          handlerID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int POSTEDITEM_FIELD_NUMBER = 2;
      private int postedItem_ = 0;
      /**
       * <code>int32 postedItem = 2;</code>
       * @return The postedItem.
       */
      @java.lang.Override
      public int getPostedItem() {
        return postedItem_;
      }

      public static final int AVATARNAME_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private volatile java.lang.Object avatarName_ = "";
      /**
       * <code>string avatarName = 3;</code>
       * @return The avatarName.
       */
      @java.lang.Override
      public java.lang.String getAvatarName() {
        java.lang.Object ref = avatarName_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          avatarName_ = s;
          return s;
        }
      }
      /**
       * <code>string avatarName = 3;</code>
       * @return The bytes for avatarName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAvatarNameBytes() {
        java.lang.Object ref = avatarName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          avatarName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int WAIT_FIELD_NUMBER = 4;
      private double wait_ = 0D;
      /**
       * <code>double wait = 4;</code>
       * @return The wait.
       */
      @java.lang.Override
      public double getWait() {
        return wait_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, handlerID_);
        }
        if (postedItem_ != 0) {
          output.writeInt32(2, postedItem_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarName_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, avatarName_);
        }
        if (java.lang.Double.doubleToRawLongBits(wait_) != 0) {
          output.writeDouble(4, wait_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerID_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, handlerID_);
        }
        if (postedItem_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, postedItem_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarName_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, avatarName_);
        }
        if (java.lang.Double.doubleToRawLongBits(wait_) != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(4, wait_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof EventOuterClass.Event.TwilightPostItem)) {
          return super.equals(obj);
        }
        EventOuterClass.Event.TwilightPostItem other = (EventOuterClass.Event.TwilightPostItem) obj;

        if (!getHandlerID()
            .equals(other.getHandlerID())) return false;
        if (getPostedItem()
            != other.getPostedItem()) return false;
        if (!getAvatarName()
            .equals(other.getAvatarName())) return false;
        if (java.lang.Double.doubleToLongBits(getWait())
            != java.lang.Double.doubleToLongBits(
                other.getWait())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + HANDLERID_FIELD_NUMBER;
        hash = (53 * hash) + getHandlerID().hashCode();
        hash = (37 * hash) + POSTEDITEM_FIELD_NUMBER;
        hash = (53 * hash) + getPostedItem();
        hash = (37 * hash) + AVATARNAME_FIELD_NUMBER;
        hash = (53 * hash) + getAvatarName().hashCode();
        hash = (37 * hash) + WAIT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getWait()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static EventOuterClass.Event.TwilightPostItem parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightPostItem parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightPostItem parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightPostItem parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightPostItem parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static EventOuterClass.Event.TwilightPostItem parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static EventOuterClass.Event.TwilightPostItem parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightPostItem 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 EventOuterClass.Event.TwilightPostItem parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static EventOuterClass.Event.TwilightPostItem 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 EventOuterClass.Event.TwilightPostItem parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static EventOuterClass.Event.TwilightPostItem 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(EventOuterClass.Event.TwilightPostItem prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Event.TwilightPostItem}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Event.TwilightPostItem)
          EventOuterClass.Event.TwilightPostItemOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return EventOuterClass.internal_static_Event_TwilightPostItem_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return EventOuterClass.internal_static_Event_TwilightPostItem_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  EventOuterClass.Event.TwilightPostItem.class, EventOuterClass.Event.TwilightPostItem.Builder.class);
        }

        // Construct using EventOuterClass.Event.TwilightPostItem.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          handlerID_ = "";
          postedItem_ = 0;
          avatarName_ = "";
          wait_ = 0D;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return EventOuterClass.internal_static_Event_TwilightPostItem_descriptor;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightPostItem getDefaultInstanceForType() {
          return EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightPostItem build() {
          EventOuterClass.Event.TwilightPostItem result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public EventOuterClass.Event.TwilightPostItem buildPartial() {
          EventOuterClass.Event.TwilightPostItem result = new EventOuterClass.Event.TwilightPostItem(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(EventOuterClass.Event.TwilightPostItem result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.handlerID_ = handlerID_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.postedItem_ = postedItem_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.avatarName_ = avatarName_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.wait_ = wait_;
          }
        }

        @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 EventOuterClass.Event.TwilightPostItem) {
            return mergeFrom((EventOuterClass.Event.TwilightPostItem)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(EventOuterClass.Event.TwilightPostItem other) {
          if (other == EventOuterClass.Event.TwilightPostItem.getDefaultInstance()) return this;
          if (!other.getHandlerID().isEmpty()) {
            handlerID_ = other.handlerID_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.getPostedItem() != 0) {
            setPostedItem(other.getPostedItem());
          }
          if (!other.getAvatarName().isEmpty()) {
            avatarName_ = other.avatarName_;
            bitField0_ |= 0x00000004;
            onChanged();
          }
          if (other.getWait() != 0D) {
            setWait(other.getWait());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  handlerID_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  postedItem_ = input.readInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 26: {
                  avatarName_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                case 33: {
                  wait_ = input.readDouble();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 33
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object handlerID_ = "";
        /**
         * <code>string handlerID = 1;</code>
         * @return The handlerID.
         */
        public java.lang.String getHandlerID() {
          java.lang.Object ref = handlerID_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            handlerID_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return The bytes for handlerID.
         */
        public com.google.protobuf.ByteString
            getHandlerIDBytes() {
          java.lang.Object ref = handlerID_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            handlerID_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerID(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHandlerID() {
          handlerID_ = getDefaultInstance().getHandlerID();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string handlerID = 1;</code>
         * @param value The bytes for handlerID to set.
         * @return This builder for chaining.
         */
        public Builder setHandlerIDBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          handlerID_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private int postedItem_ ;
        /**
         * <code>int32 postedItem = 2;</code>
         * @return The postedItem.
         */
        @java.lang.Override
        public int getPostedItem() {
          return postedItem_;
        }
        /**
         * <code>int32 postedItem = 2;</code>
         * @param value The postedItem to set.
         * @return This builder for chaining.
         */
        public Builder setPostedItem(int value) {

          postedItem_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>int32 postedItem = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearPostedItem() {
          bitField0_ = (bitField0_ & ~0x00000002);
          postedItem_ = 0;
          onChanged();
          return this;
        }

        private java.lang.Object avatarName_ = "";
        /**
         * <code>string avatarName = 3;</code>
         * @return The avatarName.
         */
        public java.lang.String getAvatarName() {
          java.lang.Object ref = avatarName_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            avatarName_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string avatarName = 3;</code>
         * @return The bytes for avatarName.
         */
        public com.google.protobuf.ByteString
            getAvatarNameBytes() {
          java.lang.Object ref = avatarName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            avatarName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string avatarName = 3;</code>
         * @param value The avatarName to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          avatarName_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>string avatarName = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearAvatarName() {
          avatarName_ = getDefaultInstance().getAvatarName();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
          return this;
        }
        /**
         * <code>string avatarName = 3;</code>
         * @param value The bytes for avatarName to set.
         * @return This builder for chaining.
         */
        public Builder setAvatarNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          avatarName_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }

        private double wait_ ;
        /**
         * <code>double wait = 4;</code>
         * @return The wait.
         */
        @java.lang.Override
        public double getWait() {
          return wait_;
        }
        /**
         * <code>double wait = 4;</code>
         * @param value The wait to set.
         * @return This builder for chaining.
         */
        public Builder setWait(double value) {

          wait_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>double wait = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearWait() {
          bitField0_ = (bitField0_ & ~0x00000008);
          wait_ = 0D;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:Event.TwilightPostItem)
      }

      // @@protoc_insertion_point(class_scope:Event.TwilightPostItem)
      private static final EventOuterClass.Event.TwilightPostItem DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new EventOuterClass.Event.TwilightPostItem();
      }

      public static EventOuterClass.Event.TwilightPostItem getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<TwilightPostItem>
          PARSER = new com.google.protobuf.AbstractParser<TwilightPostItem>() {
        @java.lang.Override
        public TwilightPostItem parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public EventOuterClass.Event.TwilightPostItem getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int fastTextCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object fastText_;
    public enum FastTextCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      QWILIGHTCALLNET(6),
      TWILIGHTCALLNET(7),
      QWILIGHTIOINPUT(8),
      TWILIGHTIOINPUT(9),
      QWILIGHTIOJUDGE(10),
      TWILIGHTIOJUDGE(11),
      QWILIGHTIOJUDGMENTMETER(12),
      TWILIGHTIOJUDGMENTMETER(13),
      QWILIGHTIONOTEVISIBILITY(14),
      TWILIGHTIONOTEVISIBILITY(15),
      QWILIGHTIOMULTIPLIER(16),
      TWILIGHTIOMULTIPLIER(17),
      QWILIGHTIOAUDIOMULTIPLIER(18),
      TWILIGHTIOAUDIOMULTIPLIER(19),
      TWILIGHTAUDIOINPUT(20),
      QWILIGHTPOSTITEM(21),
      TWILIGHTPOSTITEM(22),
      FASTTEXT_NOT_SET(0);
      private final int value;
      private FastTextCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static FastTextCase valueOf(int value) {
        return forNumber(value);
      }

      public static FastTextCase forNumber(int value) {
        switch (value) {
          case 6: return QWILIGHTCALLNET;
          case 7: return TWILIGHTCALLNET;
          case 8: return QWILIGHTIOINPUT;
          case 9: return TWILIGHTIOINPUT;
          case 10: return QWILIGHTIOJUDGE;
          case 11: return TWILIGHTIOJUDGE;
          case 12: return QWILIGHTIOJUDGMENTMETER;
          case 13: return TWILIGHTIOJUDGMENTMETER;
          case 14: return QWILIGHTIONOTEVISIBILITY;
          case 15: return TWILIGHTIONOTEVISIBILITY;
          case 16: return QWILIGHTIOMULTIPLIER;
          case 17: return TWILIGHTIOMULTIPLIER;
          case 18: return QWILIGHTIOAUDIOMULTIPLIER;
          case 19: return TWILIGHTIOAUDIOMULTIPLIER;
          case 20: return TWILIGHTAUDIOINPUT;
          case 21: return QWILIGHTPOSTITEM;
          case 22: return TWILIGHTPOSTITEM;
          case 0: return FASTTEXT_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public FastTextCase
    getFastTextCase() {
      return FastTextCase.forNumber(
          fastTextCase_);
    }

    public static final int MILLIS_FIELD_NUMBER = 1;
    private long millis_ = 0L;
    /**
     * <code>int64 millis = 1;</code>
     * @return The millis.
     */
    @java.lang.Override
    public long getMillis() {
      return millis_;
    }

    public static final int AVATARID_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object avatarID_ = "";
    /**
     * <code>string avatarID = 2;</code>
     * @return The avatarID.
     */
    @java.lang.Override
    public java.lang.String getAvatarID() {
      java.lang.Object ref = avatarID_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        avatarID_ = s;
        return s;
      }
    }
    /**
     * <code>string avatarID = 2;</code>
     * @return The bytes for avatarID.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAvatarIDBytes() {
      java.lang.Object ref = avatarID_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        avatarID_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EVENTID_FIELD_NUMBER = 3;
    private int eventID_ = 0;
    /**
     * <code>.Event.EventID eventID = 3;</code>
     * @return The enum numeric value on the wire for eventID.
     */
    @java.lang.Override public int getEventIDValue() {
      return eventID_;
    }
    /**
     * <code>.Event.EventID eventID = 3;</code>
     * @return The eventID.
     */
    @java.lang.Override public EventOuterClass.Event.EventID getEventID() {
      EventOuterClass.Event.EventID result = EventOuterClass.Event.EventID.forNumber(eventID_);
      return result == null ? EventOuterClass.Event.EventID.UNRECOGNIZED : result;
    }

    public static final int TEXT_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object text_ = "";
    /**
     * <code>string text = 4;</code>
     * @return The text.
     */
    @java.lang.Override
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        text_ = s;
        return s;
      }
    }
    /**
     * <code>string text = 4;</code>
     * @return The bytes for text.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DATA_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.ProtobufList<com.google.protobuf.ByteString> data_ =
        emptyList(com.google.protobuf.ByteString.class);
    /**
     * <code>repeated bytes data = 5;</code>
     * @return A list containing the data.
     */
    @java.lang.Override
    public java.util.List<com.google.protobuf.ByteString>
        getDataList() {
      return data_;
    }
    /**
     * <code>repeated bytes data = 5;</code>
     * @return The count of data.
     */
    public int getDataCount() {
      return data_.size();
    }
    /**
     * <code>repeated bytes data = 5;</code>
     * @param index The index of the element to return.
     * @return The data at the given index.
     */
    public com.google.protobuf.ByteString getData(int index) {
      return data_.get(index);
    }

    public static final int QWILIGHTCALLNET_FIELD_NUMBER = 6;
    /**
     * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
     * @return Whether the qwilightCallNet field is set.
     */
    @java.lang.Override
    public boolean hasQwilightCallNet() {
      return fastTextCase_ == 6;
    }
    /**
     * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
     * @return The qwilightCallNet.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightCallNet getQwilightCallNet() {
      if (fastTextCase_ == 6) {
         return (EventOuterClass.Event.QwilightCallNet) fastText_;
      }
      return EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightCallNetOrBuilder getQwilightCallNetOrBuilder() {
      if (fastTextCase_ == 6) {
         return (EventOuterClass.Event.QwilightCallNet) fastText_;
      }
      return EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
    }

    public static final int TWILIGHTCALLNET_FIELD_NUMBER = 7;
    /**
     * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
     * @return Whether the twilightCallNet field is set.
     */
    @java.lang.Override
    public boolean hasTwilightCallNet() {
      return fastTextCase_ == 7;
    }
    /**
     * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
     * @return The twilightCallNet.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightCallNet getTwilightCallNet() {
      if (fastTextCase_ == 7) {
         return (EventOuterClass.Event.TwilightCallNet) fastText_;
      }
      return EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightCallNetOrBuilder getTwilightCallNetOrBuilder() {
      if (fastTextCase_ == 7) {
         return (EventOuterClass.Event.TwilightCallNet) fastText_;
      }
      return EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
    }

    public static final int QWILIGHTIOINPUT_FIELD_NUMBER = 8;
    /**
     * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
     * @return Whether the qwilightIOInput field is set.
     */
    @java.lang.Override
    public boolean hasQwilightIOInput() {
      return fastTextCase_ == 8;
    }
    /**
     * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
     * @return The qwilightIOInput.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOInput getQwilightIOInput() {
      if (fastTextCase_ == 8) {
         return (EventOuterClass.Event.QwilightIOInput) fastText_;
      }
      return EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOInputOrBuilder getQwilightIOInputOrBuilder() {
      if (fastTextCase_ == 8) {
         return (EventOuterClass.Event.QwilightIOInput) fastText_;
      }
      return EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
    }

    public static final int TWILIGHTIOINPUT_FIELD_NUMBER = 9;
    /**
     * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
     * @return Whether the twilightIOInput field is set.
     */
    @java.lang.Override
    public boolean hasTwilightIOInput() {
      return fastTextCase_ == 9;
    }
    /**
     * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
     * @return The twilightIOInput.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOInput getTwilightIOInput() {
      if (fastTextCase_ == 9) {
         return (EventOuterClass.Event.TwilightIOInput) fastText_;
      }
      return EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOInputOrBuilder getTwilightIOInputOrBuilder() {
      if (fastTextCase_ == 9) {
         return (EventOuterClass.Event.TwilightIOInput) fastText_;
      }
      return EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
    }

    public static final int QWILIGHTIOJUDGE_FIELD_NUMBER = 10;
    /**
     * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
     * @return Whether the qwilightIOJudge field is set.
     */
    @java.lang.Override
    public boolean hasQwilightIOJudge() {
      return fastTextCase_ == 10;
    }
    /**
     * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
     * @return The qwilightIOJudge.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOJudge getQwilightIOJudge() {
      if (fastTextCase_ == 10) {
         return (EventOuterClass.Event.QwilightIOJudge) fastText_;
      }
      return EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOJudgeOrBuilder getQwilightIOJudgeOrBuilder() {
      if (fastTextCase_ == 10) {
         return (EventOuterClass.Event.QwilightIOJudge) fastText_;
      }
      return EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
    }

    public static final int TWILIGHTIOJUDGE_FIELD_NUMBER = 11;
    /**
     * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
     * @return Whether the twilightIOJudge field is set.
     */
    @java.lang.Override
    public boolean hasTwilightIOJudge() {
      return fastTextCase_ == 11;
    }
    /**
     * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
     * @return The twilightIOJudge.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOJudge getTwilightIOJudge() {
      if (fastTextCase_ == 11) {
         return (EventOuterClass.Event.TwilightIOJudge) fastText_;
      }
      return EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOJudgeOrBuilder getTwilightIOJudgeOrBuilder() {
      if (fastTextCase_ == 11) {
         return (EventOuterClass.Event.TwilightIOJudge) fastText_;
      }
      return EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
    }

    public static final int QWILIGHTIOJUDGMENTMETER_FIELD_NUMBER = 12;
    /**
     * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
     * @return Whether the qwilightIOJudgmentMeter field is set.
     */
    @java.lang.Override
    public boolean hasQwilightIOJudgmentMeter() {
      return fastTextCase_ == 12;
    }
    /**
     * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
     * @return The qwilightIOJudgmentMeter.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOJudgmentMeter getQwilightIOJudgmentMeter() {
      if (fastTextCase_ == 12) {
         return (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_;
      }
      return EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder getQwilightIOJudgmentMeterOrBuilder() {
      if (fastTextCase_ == 12) {
         return (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_;
      }
      return EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
    }

    public static final int TWILIGHTIOJUDGMENTMETER_FIELD_NUMBER = 13;
    /**
     * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
     * @return Whether the twilightIOJudgmentMeter field is set.
     */
    @java.lang.Override
    public boolean hasTwilightIOJudgmentMeter() {
      return fastTextCase_ == 13;
    }
    /**
     * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
     * @return The twilightIOJudgmentMeter.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOJudgmentMeter getTwilightIOJudgmentMeter() {
      if (fastTextCase_ == 13) {
         return (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_;
      }
      return EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder getTwilightIOJudgmentMeterOrBuilder() {
      if (fastTextCase_ == 13) {
         return (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_;
      }
      return EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
    }

    public static final int QWILIGHTIONOTEVISIBILITY_FIELD_NUMBER = 14;
    /**
     * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
     * @return Whether the qwilightIONoteVisibility field is set.
     */
    @java.lang.Override
    public boolean hasQwilightIONoteVisibility() {
      return fastTextCase_ == 14;
    }
    /**
     * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
     * @return The qwilightIONoteVisibility.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIONoteVisibility getQwilightIONoteVisibility() {
      if (fastTextCase_ == 14) {
         return (EventOuterClass.Event.QwilightIONoteVisibility) fastText_;
      }
      return EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder getQwilightIONoteVisibilityOrBuilder() {
      if (fastTextCase_ == 14) {
         return (EventOuterClass.Event.QwilightIONoteVisibility) fastText_;
      }
      return EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
    }

    public static final int TWILIGHTIONOTEVISIBILITY_FIELD_NUMBER = 15;
    /**
     * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
     * @return Whether the twilightIONoteVisibility field is set.
     */
    @java.lang.Override
    public boolean hasTwilightIONoteVisibility() {
      return fastTextCase_ == 15;
    }
    /**
     * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
     * @return The twilightIONoteVisibility.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIONoteVisibility getTwilightIONoteVisibility() {
      if (fastTextCase_ == 15) {
         return (EventOuterClass.Event.TwilightIONoteVisibility) fastText_;
      }
      return EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder getTwilightIONoteVisibilityOrBuilder() {
      if (fastTextCase_ == 15) {
         return (EventOuterClass.Event.TwilightIONoteVisibility) fastText_;
      }
      return EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
    }

    public static final int QWILIGHTIOMULTIPLIER_FIELD_NUMBER = 16;
    /**
     * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
     * @return Whether the qwilightIOMultiplier field is set.
     */
    @java.lang.Override
    public boolean hasQwilightIOMultiplier() {
      return fastTextCase_ == 16;
    }
    /**
     * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
     * @return The qwilightIOMultiplier.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOMultiplier getQwilightIOMultiplier() {
      if (fastTextCase_ == 16) {
         return (EventOuterClass.Event.QwilightIOMultiplier) fastText_;
      }
      return EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOMultiplierOrBuilder getQwilightIOMultiplierOrBuilder() {
      if (fastTextCase_ == 16) {
         return (EventOuterClass.Event.QwilightIOMultiplier) fastText_;
      }
      return EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
    }

    public static final int TWILIGHTIOMULTIPLIER_FIELD_NUMBER = 17;
    /**
     * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
     * @return Whether the twilightIOMultiplier field is set.
     */
    @java.lang.Override
    public boolean hasTwilightIOMultiplier() {
      return fastTextCase_ == 17;
    }
    /**
     * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
     * @return The twilightIOMultiplier.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOMultiplier getTwilightIOMultiplier() {
      if (fastTextCase_ == 17) {
         return (EventOuterClass.Event.TwilightIOMultiplier) fastText_;
      }
      return EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOMultiplierOrBuilder getTwilightIOMultiplierOrBuilder() {
      if (fastTextCase_ == 17) {
         return (EventOuterClass.Event.TwilightIOMultiplier) fastText_;
      }
      return EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
    }

    public static final int QWILIGHTIOAUDIOMULTIPLIER_FIELD_NUMBER = 18;
    /**
     * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
     * @return Whether the qwilightIOAudioMultiplier field is set.
     */
    @java.lang.Override
    public boolean hasQwilightIOAudioMultiplier() {
      return fastTextCase_ == 18;
    }
    /**
     * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
     * @return The qwilightIOAudioMultiplier.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOAudioMultiplier getQwilightIOAudioMultiplier() {
      if (fastTextCase_ == 18) {
         return (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_;
      }
      return EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder getQwilightIOAudioMultiplierOrBuilder() {
      if (fastTextCase_ == 18) {
         return (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_;
      }
      return EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
    }

    public static final int TWILIGHTIOAUDIOMULTIPLIER_FIELD_NUMBER = 19;
    /**
     * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
     * @return Whether the twilightIOAudioMultiplier field is set.
     */
    @java.lang.Override
    public boolean hasTwilightIOAudioMultiplier() {
      return fastTextCase_ == 19;
    }
    /**
     * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
     * @return The twilightIOAudioMultiplier.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOAudioMultiplier getTwilightIOAudioMultiplier() {
      if (fastTextCase_ == 19) {
         return (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_;
      }
      return EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder getTwilightIOAudioMultiplierOrBuilder() {
      if (fastTextCase_ == 19) {
         return (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_;
      }
      return EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
    }

    public static final int TWILIGHTAUDIOINPUT_FIELD_NUMBER = 20;
    /**
     * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
     * @return Whether the twilightAudioInput field is set.
     */
    @java.lang.Override
    public boolean hasTwilightAudioInput() {
      return fastTextCase_ == 20;
    }
    /**
     * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
     * @return The twilightAudioInput.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightAudioInput getTwilightAudioInput() {
      if (fastTextCase_ == 20) {
         return (EventOuterClass.Event.TwilightAudioInput) fastText_;
      }
      return EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightAudioInputOrBuilder getTwilightAudioInputOrBuilder() {
      if (fastTextCase_ == 20) {
         return (EventOuterClass.Event.TwilightAudioInput) fastText_;
      }
      return EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
    }

    public static final int QWILIGHTPOSTITEM_FIELD_NUMBER = 21;
    /**
     * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
     * @return Whether the qwilightPostItem field is set.
     */
    @java.lang.Override
    public boolean hasQwilightPostItem() {
      return fastTextCase_ == 21;
    }
    /**
     * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
     * @return The qwilightPostItem.
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightPostItem getQwilightPostItem() {
      if (fastTextCase_ == 21) {
         return (EventOuterClass.Event.QwilightPostItem) fastText_;
      }
      return EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
    }
    /**
     * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.QwilightPostItemOrBuilder getQwilightPostItemOrBuilder() {
      if (fastTextCase_ == 21) {
         return (EventOuterClass.Event.QwilightPostItem) fastText_;
      }
      return EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
    }

    public static final int TWILIGHTPOSTITEM_FIELD_NUMBER = 22;
    /**
     * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
     * @return Whether the twilightPostItem field is set.
     */
    @java.lang.Override
    public boolean hasTwilightPostItem() {
      return fastTextCase_ == 22;
    }
    /**
     * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
     * @return The twilightPostItem.
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightPostItem getTwilightPostItem() {
      if (fastTextCase_ == 22) {
         return (EventOuterClass.Event.TwilightPostItem) fastText_;
      }
      return EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
    }
    /**
     * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
     */
    @java.lang.Override
    public EventOuterClass.Event.TwilightPostItemOrBuilder getTwilightPostItemOrBuilder() {
      if (fastTextCase_ == 22) {
         return (EventOuterClass.Event.TwilightPostItem) fastText_;
      }
      return EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (millis_ != 0L) {
        output.writeInt64(1, millis_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarID_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, avatarID_);
      }
      if (eventID_ != EventOuterClass.Event.EventID.SIGN_IN.getNumber()) {
        output.writeEnum(3, eventID_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, text_);
      }
      for (int i = 0; i < data_.size(); i++) {
        output.writeBytes(5, data_.get(i));
      }
      if (fastTextCase_ == 6) {
        output.writeMessage(6, (EventOuterClass.Event.QwilightCallNet) fastText_);
      }
      if (fastTextCase_ == 7) {
        output.writeMessage(7, (EventOuterClass.Event.TwilightCallNet) fastText_);
      }
      if (fastTextCase_ == 8) {
        output.writeMessage(8, (EventOuterClass.Event.QwilightIOInput) fastText_);
      }
      if (fastTextCase_ == 9) {
        output.writeMessage(9, (EventOuterClass.Event.TwilightIOInput) fastText_);
      }
      if (fastTextCase_ == 10) {
        output.writeMessage(10, (EventOuterClass.Event.QwilightIOJudge) fastText_);
      }
      if (fastTextCase_ == 11) {
        output.writeMessage(11, (EventOuterClass.Event.TwilightIOJudge) fastText_);
      }
      if (fastTextCase_ == 12) {
        output.writeMessage(12, (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_);
      }
      if (fastTextCase_ == 13) {
        output.writeMessage(13, (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_);
      }
      if (fastTextCase_ == 14) {
        output.writeMessage(14, (EventOuterClass.Event.QwilightIONoteVisibility) fastText_);
      }
      if (fastTextCase_ == 15) {
        output.writeMessage(15, (EventOuterClass.Event.TwilightIONoteVisibility) fastText_);
      }
      if (fastTextCase_ == 16) {
        output.writeMessage(16, (EventOuterClass.Event.QwilightIOMultiplier) fastText_);
      }
      if (fastTextCase_ == 17) {
        output.writeMessage(17, (EventOuterClass.Event.TwilightIOMultiplier) fastText_);
      }
      if (fastTextCase_ == 18) {
        output.writeMessage(18, (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_);
      }
      if (fastTextCase_ == 19) {
        output.writeMessage(19, (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_);
      }
      if (fastTextCase_ == 20) {
        output.writeMessage(20, (EventOuterClass.Event.TwilightAudioInput) fastText_);
      }
      if (fastTextCase_ == 21) {
        output.writeMessage(21, (EventOuterClass.Event.QwilightPostItem) fastText_);
      }
      if (fastTextCase_ == 22) {
        output.writeMessage(22, (EventOuterClass.Event.TwilightPostItem) fastText_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (millis_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, millis_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(avatarID_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, avatarID_);
      }
      if (eventID_ != EventOuterClass.Event.EventID.SIGN_IN.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(3, eventID_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, text_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < data_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(data_.get(i));
        }
        size += dataSize;
        size += 1 * getDataList().size();
      }
      if (fastTextCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (EventOuterClass.Event.QwilightCallNet) fastText_);
      }
      if (fastTextCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, (EventOuterClass.Event.TwilightCallNet) fastText_);
      }
      if (fastTextCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (EventOuterClass.Event.QwilightIOInput) fastText_);
      }
      if (fastTextCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (EventOuterClass.Event.TwilightIOInput) fastText_);
      }
      if (fastTextCase_ == 10) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, (EventOuterClass.Event.QwilightIOJudge) fastText_);
      }
      if (fastTextCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (EventOuterClass.Event.TwilightIOJudge) fastText_);
      }
      if (fastTextCase_ == 12) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_);
      }
      if (fastTextCase_ == 13) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_);
      }
      if (fastTextCase_ == 14) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, (EventOuterClass.Event.QwilightIONoteVisibility) fastText_);
      }
      if (fastTextCase_ == 15) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, (EventOuterClass.Event.TwilightIONoteVisibility) fastText_);
      }
      if (fastTextCase_ == 16) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, (EventOuterClass.Event.QwilightIOMultiplier) fastText_);
      }
      if (fastTextCase_ == 17) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, (EventOuterClass.Event.TwilightIOMultiplier) fastText_);
      }
      if (fastTextCase_ == 18) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(18, (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_);
      }
      if (fastTextCase_ == 19) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(19, (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_);
      }
      if (fastTextCase_ == 20) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, (EventOuterClass.Event.TwilightAudioInput) fastText_);
      }
      if (fastTextCase_ == 21) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, (EventOuterClass.Event.QwilightPostItem) fastText_);
      }
      if (fastTextCase_ == 22) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(22, (EventOuterClass.Event.TwilightPostItem) fastText_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof EventOuterClass.Event)) {
        return super.equals(obj);
      }
      EventOuterClass.Event other = (EventOuterClass.Event) obj;

      if (getMillis()
          != other.getMillis()) return false;
      if (!getAvatarID()
          .equals(other.getAvatarID())) return false;
      if (eventID_ != other.eventID_) return false;
      if (!getText()
          .equals(other.getText())) return false;
      if (!getDataList()
          .equals(other.getDataList())) return false;
      if (!getFastTextCase().equals(other.getFastTextCase())) return false;
      switch (fastTextCase_) {
        case 6:
          if (!getQwilightCallNet()
              .equals(other.getQwilightCallNet())) return false;
          break;
        case 7:
          if (!getTwilightCallNet()
              .equals(other.getTwilightCallNet())) return false;
          break;
        case 8:
          if (!getQwilightIOInput()
              .equals(other.getQwilightIOInput())) return false;
          break;
        case 9:
          if (!getTwilightIOInput()
              .equals(other.getTwilightIOInput())) return false;
          break;
        case 10:
          if (!getQwilightIOJudge()
              .equals(other.getQwilightIOJudge())) return false;
          break;
        case 11:
          if (!getTwilightIOJudge()
              .equals(other.getTwilightIOJudge())) return false;
          break;
        case 12:
          if (!getQwilightIOJudgmentMeter()
              .equals(other.getQwilightIOJudgmentMeter())) return false;
          break;
        case 13:
          if (!getTwilightIOJudgmentMeter()
              .equals(other.getTwilightIOJudgmentMeter())) return false;
          break;
        case 14:
          if (!getQwilightIONoteVisibility()
              .equals(other.getQwilightIONoteVisibility())) return false;
          break;
        case 15:
          if (!getTwilightIONoteVisibility()
              .equals(other.getTwilightIONoteVisibility())) return false;
          break;
        case 16:
          if (!getQwilightIOMultiplier()
              .equals(other.getQwilightIOMultiplier())) return false;
          break;
        case 17:
          if (!getTwilightIOMultiplier()
              .equals(other.getTwilightIOMultiplier())) return false;
          break;
        case 18:
          if (!getQwilightIOAudioMultiplier()
              .equals(other.getQwilightIOAudioMultiplier())) return false;
          break;
        case 19:
          if (!getTwilightIOAudioMultiplier()
              .equals(other.getTwilightIOAudioMultiplier())) return false;
          break;
        case 20:
          if (!getTwilightAudioInput()
              .equals(other.getTwilightAudioInput())) return false;
          break;
        case 21:
          if (!getQwilightPostItem()
              .equals(other.getQwilightPostItem())) return false;
          break;
        case 22:
          if (!getTwilightPostItem()
              .equals(other.getTwilightPostItem())) return false;
          break;
        case 0:
        default:
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + MILLIS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMillis());
      hash = (37 * hash) + AVATARID_FIELD_NUMBER;
      hash = (53 * hash) + getAvatarID().hashCode();
      hash = (37 * hash) + EVENTID_FIELD_NUMBER;
      hash = (53 * hash) + eventID_;
      hash = (37 * hash) + TEXT_FIELD_NUMBER;
      hash = (53 * hash) + getText().hashCode();
      if (getDataCount() > 0) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getDataList().hashCode();
      }
      switch (fastTextCase_) {
        case 6:
          hash = (37 * hash) + QWILIGHTCALLNET_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightCallNet().hashCode();
          break;
        case 7:
          hash = (37 * hash) + TWILIGHTCALLNET_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightCallNet().hashCode();
          break;
        case 8:
          hash = (37 * hash) + QWILIGHTIOINPUT_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightIOInput().hashCode();
          break;
        case 9:
          hash = (37 * hash) + TWILIGHTIOINPUT_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightIOInput().hashCode();
          break;
        case 10:
          hash = (37 * hash) + QWILIGHTIOJUDGE_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightIOJudge().hashCode();
          break;
        case 11:
          hash = (37 * hash) + TWILIGHTIOJUDGE_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightIOJudge().hashCode();
          break;
        case 12:
          hash = (37 * hash) + QWILIGHTIOJUDGMENTMETER_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightIOJudgmentMeter().hashCode();
          break;
        case 13:
          hash = (37 * hash) + TWILIGHTIOJUDGMENTMETER_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightIOJudgmentMeter().hashCode();
          break;
        case 14:
          hash = (37 * hash) + QWILIGHTIONOTEVISIBILITY_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightIONoteVisibility().hashCode();
          break;
        case 15:
          hash = (37 * hash) + TWILIGHTIONOTEVISIBILITY_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightIONoteVisibility().hashCode();
          break;
        case 16:
          hash = (37 * hash) + QWILIGHTIOMULTIPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightIOMultiplier().hashCode();
          break;
        case 17:
          hash = (37 * hash) + TWILIGHTIOMULTIPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightIOMultiplier().hashCode();
          break;
        case 18:
          hash = (37 * hash) + QWILIGHTIOAUDIOMULTIPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightIOAudioMultiplier().hashCode();
          break;
        case 19:
          hash = (37 * hash) + TWILIGHTIOAUDIOMULTIPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightIOAudioMultiplier().hashCode();
          break;
        case 20:
          hash = (37 * hash) + TWILIGHTAUDIOINPUT_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightAudioInput().hashCode();
          break;
        case 21:
          hash = (37 * hash) + QWILIGHTPOSTITEM_FIELD_NUMBER;
          hash = (53 * hash) + getQwilightPostItem().hashCode();
          break;
        case 22:
          hash = (37 * hash) + TWILIGHTPOSTITEM_FIELD_NUMBER;
          hash = (53 * hash) + getTwilightPostItem().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static EventOuterClass.Event parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static EventOuterClass.Event parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static EventOuterClass.Event parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static EventOuterClass.Event parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static EventOuterClass.Event parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static EventOuterClass.Event parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static EventOuterClass.Event parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static EventOuterClass.Event 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 EventOuterClass.Event parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static EventOuterClass.Event 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 EventOuterClass.Event parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static EventOuterClass.Event 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(EventOuterClass.Event prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Event}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Event)
        EventOuterClass.EventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return EventOuterClass.internal_static_Event_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return EventOuterClass.internal_static_Event_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                EventOuterClass.Event.class, EventOuterClass.Event.Builder.class);
      }

      // Construct using EventOuterClass.Event.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        millis_ = 0L;
        avatarID_ = "";
        eventID_ = 0;
        text_ = "";
        data_ = emptyList(com.google.protobuf.ByteString.class);
        if (qwilightCallNetBuilder_ != null) {
          qwilightCallNetBuilder_.clear();
        }
        if (twilightCallNetBuilder_ != null) {
          twilightCallNetBuilder_.clear();
        }
        if (qwilightIOInputBuilder_ != null) {
          qwilightIOInputBuilder_.clear();
        }
        if (twilightIOInputBuilder_ != null) {
          twilightIOInputBuilder_.clear();
        }
        if (qwilightIOJudgeBuilder_ != null) {
          qwilightIOJudgeBuilder_.clear();
        }
        if (twilightIOJudgeBuilder_ != null) {
          twilightIOJudgeBuilder_.clear();
        }
        if (qwilightIOJudgmentMeterBuilder_ != null) {
          qwilightIOJudgmentMeterBuilder_.clear();
        }
        if (twilightIOJudgmentMeterBuilder_ != null) {
          twilightIOJudgmentMeterBuilder_.clear();
        }
        if (qwilightIONoteVisibilityBuilder_ != null) {
          qwilightIONoteVisibilityBuilder_.clear();
        }
        if (twilightIONoteVisibilityBuilder_ != null) {
          twilightIONoteVisibilityBuilder_.clear();
        }
        if (qwilightIOMultiplierBuilder_ != null) {
          qwilightIOMultiplierBuilder_.clear();
        }
        if (twilightIOMultiplierBuilder_ != null) {
          twilightIOMultiplierBuilder_.clear();
        }
        if (qwilightIOAudioMultiplierBuilder_ != null) {
          qwilightIOAudioMultiplierBuilder_.clear();
        }
        if (twilightIOAudioMultiplierBuilder_ != null) {
          twilightIOAudioMultiplierBuilder_.clear();
        }
        if (twilightAudioInputBuilder_ != null) {
          twilightAudioInputBuilder_.clear();
        }
        if (qwilightPostItemBuilder_ != null) {
          qwilightPostItemBuilder_.clear();
        }
        if (twilightPostItemBuilder_ != null) {
          twilightPostItemBuilder_.clear();
        }
        fastTextCase_ = 0;
        fastText_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return EventOuterClass.internal_static_Event_descriptor;
      }

      @java.lang.Override
      public EventOuterClass.Event getDefaultInstanceForType() {
        return EventOuterClass.Event.getDefaultInstance();
      }

      @java.lang.Override
      public EventOuterClass.Event build() {
        EventOuterClass.Event result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public EventOuterClass.Event buildPartial() {
        EventOuterClass.Event result = new EventOuterClass.Event(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        buildPartialOneofs(result);
        onBuilt();
        return result;
      }

      private void buildPartial0(EventOuterClass.Event result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.millis_ = millis_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.avatarID_ = avatarID_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.eventID_ = eventID_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.text_ = text_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          data_.makeImmutable();
          result.data_ = data_;
        }
      }

      private void buildPartialOneofs(EventOuterClass.Event result) {
        result.fastTextCase_ = fastTextCase_;
        result.fastText_ = this.fastText_;
        if (fastTextCase_ == 6 &&
            qwilightCallNetBuilder_ != null) {
          result.fastText_ = qwilightCallNetBuilder_.build();
        }
        if (fastTextCase_ == 7 &&
            twilightCallNetBuilder_ != null) {
          result.fastText_ = twilightCallNetBuilder_.build();
        }
        if (fastTextCase_ == 8 &&
            qwilightIOInputBuilder_ != null) {
          result.fastText_ = qwilightIOInputBuilder_.build();
        }
        if (fastTextCase_ == 9 &&
            twilightIOInputBuilder_ != null) {
          result.fastText_ = twilightIOInputBuilder_.build();
        }
        if (fastTextCase_ == 10 &&
            qwilightIOJudgeBuilder_ != null) {
          result.fastText_ = qwilightIOJudgeBuilder_.build();
        }
        if (fastTextCase_ == 11 &&
            twilightIOJudgeBuilder_ != null) {
          result.fastText_ = twilightIOJudgeBuilder_.build();
        }
        if (fastTextCase_ == 12 &&
            qwilightIOJudgmentMeterBuilder_ != null) {
          result.fastText_ = qwilightIOJudgmentMeterBuilder_.build();
        }
        if (fastTextCase_ == 13 &&
            twilightIOJudgmentMeterBuilder_ != null) {
          result.fastText_ = twilightIOJudgmentMeterBuilder_.build();
        }
        if (fastTextCase_ == 14 &&
            qwilightIONoteVisibilityBuilder_ != null) {
          result.fastText_ = qwilightIONoteVisibilityBuilder_.build();
        }
        if (fastTextCase_ == 15 &&
            twilightIONoteVisibilityBuilder_ != null) {
          result.fastText_ = twilightIONoteVisibilityBuilder_.build();
        }
        if (fastTextCase_ == 16 &&
            qwilightIOMultiplierBuilder_ != null) {
          result.fastText_ = qwilightIOMultiplierBuilder_.build();
        }
        if (fastTextCase_ == 17 &&
            twilightIOMultiplierBuilder_ != null) {
          result.fastText_ = twilightIOMultiplierBuilder_.build();
        }
        if (fastTextCase_ == 18 &&
            qwilightIOAudioMultiplierBuilder_ != null) {
          result.fastText_ = qwilightIOAudioMultiplierBuilder_.build();
        }
        if (fastTextCase_ == 19 &&
            twilightIOAudioMultiplierBuilder_ != null) {
          result.fastText_ = twilightIOAudioMultiplierBuilder_.build();
        }
        if (fastTextCase_ == 20 &&
            twilightAudioInputBuilder_ != null) {
          result.fastText_ = twilightAudioInputBuilder_.build();
        }
        if (fastTextCase_ == 21 &&
            qwilightPostItemBuilder_ != null) {
          result.fastText_ = qwilightPostItemBuilder_.build();
        }
        if (fastTextCase_ == 22 &&
            twilightPostItemBuilder_ != null) {
          result.fastText_ = twilightPostItemBuilder_.build();
        }
      }

      @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 EventOuterClass.Event) {
          return mergeFrom((EventOuterClass.Event)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(EventOuterClass.Event other) {
        if (other == EventOuterClass.Event.getDefaultInstance()) return this;
        if (other.getMillis() != 0L) {
          setMillis(other.getMillis());
        }
        if (!other.getAvatarID().isEmpty()) {
          avatarID_ = other.avatarID_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.eventID_ != 0) {
          setEventIDValue(other.getEventIDValue());
        }
        if (!other.getText().isEmpty()) {
          text_ = other.text_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (!other.data_.isEmpty()) {
          if (data_.isEmpty()) {
            data_ = other.data_;
            data_.makeImmutable();
            bitField0_ |= 0x00000010;
          } else {
            ensureDataIsMutable();
            data_.addAll(other.data_);
          }
          onChanged();
        }
        switch (other.getFastTextCase()) {
          case QWILIGHTCALLNET: {
            mergeQwilightCallNet(other.getQwilightCallNet());
            break;
          }
          case TWILIGHTCALLNET: {
            mergeTwilightCallNet(other.getTwilightCallNet());
            break;
          }
          case QWILIGHTIOINPUT: {
            mergeQwilightIOInput(other.getQwilightIOInput());
            break;
          }
          case TWILIGHTIOINPUT: {
            mergeTwilightIOInput(other.getTwilightIOInput());
            break;
          }
          case QWILIGHTIOJUDGE: {
            mergeQwilightIOJudge(other.getQwilightIOJudge());
            break;
          }
          case TWILIGHTIOJUDGE: {
            mergeTwilightIOJudge(other.getTwilightIOJudge());
            break;
          }
          case QWILIGHTIOJUDGMENTMETER: {
            mergeQwilightIOJudgmentMeter(other.getQwilightIOJudgmentMeter());
            break;
          }
          case TWILIGHTIOJUDGMENTMETER: {
            mergeTwilightIOJudgmentMeter(other.getTwilightIOJudgmentMeter());
            break;
          }
          case QWILIGHTIONOTEVISIBILITY: {
            mergeQwilightIONoteVisibility(other.getQwilightIONoteVisibility());
            break;
          }
          case TWILIGHTIONOTEVISIBILITY: {
            mergeTwilightIONoteVisibility(other.getTwilightIONoteVisibility());
            break;
          }
          case QWILIGHTIOMULTIPLIER: {
            mergeQwilightIOMultiplier(other.getQwilightIOMultiplier());
            break;
          }
          case TWILIGHTIOMULTIPLIER: {
            mergeTwilightIOMultiplier(other.getTwilightIOMultiplier());
            break;
          }
          case QWILIGHTIOAUDIOMULTIPLIER: {
            mergeQwilightIOAudioMultiplier(other.getQwilightIOAudioMultiplier());
            break;
          }
          case TWILIGHTIOAUDIOMULTIPLIER: {
            mergeTwilightIOAudioMultiplier(other.getTwilightIOAudioMultiplier());
            break;
          }
          case TWILIGHTAUDIOINPUT: {
            mergeTwilightAudioInput(other.getTwilightAudioInput());
            break;
          }
          case QWILIGHTPOSTITEM: {
            mergeQwilightPostItem(other.getQwilightPostItem());
            break;
          }
          case TWILIGHTPOSTITEM: {
            mergeTwilightPostItem(other.getTwilightPostItem());
            break;
          }
          case FASTTEXT_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        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 {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                millis_ = input.readInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                avatarID_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                eventID_ = input.readEnum();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 34: {
                text_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                com.google.protobuf.ByteString v = input.readBytes();
                ensureDataIsMutable();
                data_.add(v);
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getQwilightCallNetFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 6;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    getTwilightCallNetFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 7;
                break;
              } // case 58
              case 66: {
                input.readMessage(
                    getQwilightIOInputFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 8;
                break;
              } // case 66
              case 74: {
                input.readMessage(
                    getTwilightIOInputFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 9;
                break;
              } // case 74
              case 82: {
                input.readMessage(
                    getQwilightIOJudgeFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 10;
                break;
              } // case 82
              case 90: {
                input.readMessage(
                    getTwilightIOJudgeFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 11;
                break;
              } // case 90
              case 98: {
                input.readMessage(
                    getQwilightIOJudgmentMeterFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 12;
                break;
              } // case 98
              case 106: {
                input.readMessage(
                    getTwilightIOJudgmentMeterFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 13;
                break;
              } // case 106
              case 114: {
                input.readMessage(
                    getQwilightIONoteVisibilityFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 14;
                break;
              } // case 114
              case 122: {
                input.readMessage(
                    getTwilightIONoteVisibilityFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 15;
                break;
              } // case 122
              case 130: {
                input.readMessage(
                    getQwilightIOMultiplierFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 16;
                break;
              } // case 130
              case 138: {
                input.readMessage(
                    getTwilightIOMultiplierFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 17;
                break;
              } // case 138
              case 146: {
                input.readMessage(
                    getQwilightIOAudioMultiplierFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 18;
                break;
              } // case 146
              case 154: {
                input.readMessage(
                    getTwilightIOAudioMultiplierFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 19;
                break;
              } // case 154
              case 162: {
                input.readMessage(
                    getTwilightAudioInputFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 20;
                break;
              } // case 162
              case 170: {
                input.readMessage(
                    getQwilightPostItemFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 21;
                break;
              } // case 170
              case 178: {
                input.readMessage(
                    getTwilightPostItemFieldBuilder().getBuilder(),
                    extensionRegistry);
                fastTextCase_ = 22;
                break;
              } // case 178
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int fastTextCase_ = 0;
      private java.lang.Object fastText_;
      public FastTextCase
          getFastTextCase() {
        return FastTextCase.forNumber(
            fastTextCase_);
      }

      public Builder clearFastText() {
        fastTextCase_ = 0;
        fastText_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private long millis_ ;
      /**
       * <code>int64 millis = 1;</code>
       * @return The millis.
       */
      @java.lang.Override
      public long getMillis() {
        return millis_;
      }
      /**
       * <code>int64 millis = 1;</code>
       * @param value The millis to set.
       * @return This builder for chaining.
       */
      public Builder setMillis(long value) {

        millis_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int64 millis = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMillis() {
        bitField0_ = (bitField0_ & ~0x00000001);
        millis_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object avatarID_ = "";
      /**
       * <code>string avatarID = 2;</code>
       * @return The avatarID.
       */
      public java.lang.String getAvatarID() {
        java.lang.Object ref = avatarID_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          avatarID_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string avatarID = 2;</code>
       * @return The bytes for avatarID.
       */
      public com.google.protobuf.ByteString
          getAvatarIDBytes() {
        java.lang.Object ref = avatarID_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          avatarID_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string avatarID = 2;</code>
       * @param value The avatarID to set.
       * @return This builder for chaining.
       */
      public Builder setAvatarID(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        avatarID_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>string avatarID = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAvatarID() {
        avatarID_ = getDefaultInstance().getAvatarID();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>string avatarID = 2;</code>
       * @param value The bytes for avatarID to set.
       * @return This builder for chaining.
       */
      public Builder setAvatarIDBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        avatarID_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private int eventID_ = 0;
      /**
       * <code>.Event.EventID eventID = 3;</code>
       * @return The enum numeric value on the wire for eventID.
       */
      @java.lang.Override public int getEventIDValue() {
        return eventID_;
      }
      /**
       * <code>.Event.EventID eventID = 3;</code>
       * @param value The enum numeric value on the wire for eventID to set.
       * @return This builder for chaining.
       */
      public Builder setEventIDValue(int value) {
        eventID_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>.Event.EventID eventID = 3;</code>
       * @return The eventID.
       */
      @java.lang.Override
      public EventOuterClass.Event.EventID getEventID() {
        EventOuterClass.Event.EventID result = EventOuterClass.Event.EventID.forNumber(eventID_);
        return result == null ? EventOuterClass.Event.EventID.UNRECOGNIZED : result;
      }
      /**
       * <code>.Event.EventID eventID = 3;</code>
       * @param value The eventID to set.
       * @return This builder for chaining.
       */
      public Builder setEventID(EventOuterClass.Event.EventID value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        eventID_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.Event.EventID eventID = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventID() {
        bitField0_ = (bitField0_ & ~0x00000004);
        eventID_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object text_ = "";
      /**
       * <code>string text = 4;</code>
       * @return The text.
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          text_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string text = 4;</code>
       * @return The bytes for text.
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string text = 4;</code>
       * @param value The text to set.
       * @return This builder for chaining.
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        text_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>string text = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearText() {
        text_ = getDefaultInstance().getText();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <code>string text = 4;</code>
       * @param value The bytes for text to set.
       * @return This builder for chaining.
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        text_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.ProtobufList<com.google.protobuf.ByteString> data_ = emptyList(com.google.protobuf.ByteString.class);
      private void ensureDataIsMutable() {
        if (!data_.isModifiable()) {
          data_ = makeMutableCopy(data_);
        }
        bitField0_ |= 0x00000010;
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @return A list containing the data.
       */
      public java.util.List<com.google.protobuf.ByteString>
          getDataList() {
        data_.makeImmutable();
        return data_;
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @return The count of data.
       */
      public int getDataCount() {
        return data_.size();
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @param index The index of the element to return.
       * @return The data at the given index.
       */
      public com.google.protobuf.ByteString getData(int index) {
        return data_.get(index);
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @param index The index to set the value at.
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(
          int index, com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureDataIsMutable();
        data_.set(index, value);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @param value The data to add.
       * @return This builder for chaining.
       */
      public Builder addData(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureDataIsMutable();
        data_.add(value);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @param values The data to add.
       * @return This builder for chaining.
       */
      public Builder addAllData(
          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
        ensureDataIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, data_);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>repeated bytes data = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        data_ = emptyList(com.google.protobuf.ByteString.class);
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightCallNet, EventOuterClass.Event.QwilightCallNet.Builder, EventOuterClass.Event.QwilightCallNetOrBuilder> qwilightCallNetBuilder_;
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       * @return Whether the qwilightCallNet field is set.
       */
      @java.lang.Override
      public boolean hasQwilightCallNet() {
        return fastTextCase_ == 6;
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       * @return The qwilightCallNet.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightCallNet getQwilightCallNet() {
        if (qwilightCallNetBuilder_ == null) {
          if (fastTextCase_ == 6) {
            return (EventOuterClass.Event.QwilightCallNet) fastText_;
          }
          return EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
        } else {
          if (fastTextCase_ == 6) {
            return qwilightCallNetBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      public Builder setQwilightCallNet(EventOuterClass.Event.QwilightCallNet value) {
        if (qwilightCallNetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightCallNetBuilder_.setMessage(value);
        }
        fastTextCase_ = 6;
        return this;
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      public Builder setQwilightCallNet(
          EventOuterClass.Event.QwilightCallNet.Builder builderForValue) {
        if (qwilightCallNetBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightCallNetBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 6;
        return this;
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      public Builder mergeQwilightCallNet(EventOuterClass.Event.QwilightCallNet value) {
        if (qwilightCallNetBuilder_ == null) {
          if (fastTextCase_ == 6 &&
              fastText_ != EventOuterClass.Event.QwilightCallNet.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightCallNet.newBuilder((EventOuterClass.Event.QwilightCallNet) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 6) {
            qwilightCallNetBuilder_.mergeFrom(value);
          } else {
            qwilightCallNetBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 6;
        return this;
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      public Builder clearQwilightCallNet() {
        if (qwilightCallNetBuilder_ == null) {
          if (fastTextCase_ == 6) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 6) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightCallNetBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      public EventOuterClass.Event.QwilightCallNet.Builder getQwilightCallNetBuilder() {
        return getQwilightCallNetFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightCallNetOrBuilder getQwilightCallNetOrBuilder() {
        if ((fastTextCase_ == 6) && (qwilightCallNetBuilder_ != null)) {
          return qwilightCallNetBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 6) {
            return (EventOuterClass.Event.QwilightCallNet) fastText_;
          }
          return EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightCallNet qwilightCallNet = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightCallNet, EventOuterClass.Event.QwilightCallNet.Builder, EventOuterClass.Event.QwilightCallNetOrBuilder> 
          getQwilightCallNetFieldBuilder() {
        if (qwilightCallNetBuilder_ == null) {
          if (!(fastTextCase_ == 6)) {
            fastText_ = EventOuterClass.Event.QwilightCallNet.getDefaultInstance();
          }
          qwilightCallNetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightCallNet, EventOuterClass.Event.QwilightCallNet.Builder, EventOuterClass.Event.QwilightCallNetOrBuilder>(
                  (EventOuterClass.Event.QwilightCallNet) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 6;
        onChanged();
        return qwilightCallNetBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightCallNet, EventOuterClass.Event.TwilightCallNet.Builder, EventOuterClass.Event.TwilightCallNetOrBuilder> twilightCallNetBuilder_;
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       * @return Whether the twilightCallNet field is set.
       */
      @java.lang.Override
      public boolean hasTwilightCallNet() {
        return fastTextCase_ == 7;
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       * @return The twilightCallNet.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightCallNet getTwilightCallNet() {
        if (twilightCallNetBuilder_ == null) {
          if (fastTextCase_ == 7) {
            return (EventOuterClass.Event.TwilightCallNet) fastText_;
          }
          return EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
        } else {
          if (fastTextCase_ == 7) {
            return twilightCallNetBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      public Builder setTwilightCallNet(EventOuterClass.Event.TwilightCallNet value) {
        if (twilightCallNetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightCallNetBuilder_.setMessage(value);
        }
        fastTextCase_ = 7;
        return this;
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      public Builder setTwilightCallNet(
          EventOuterClass.Event.TwilightCallNet.Builder builderForValue) {
        if (twilightCallNetBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightCallNetBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 7;
        return this;
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      public Builder mergeTwilightCallNet(EventOuterClass.Event.TwilightCallNet value) {
        if (twilightCallNetBuilder_ == null) {
          if (fastTextCase_ == 7 &&
              fastText_ != EventOuterClass.Event.TwilightCallNet.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightCallNet.newBuilder((EventOuterClass.Event.TwilightCallNet) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 7) {
            twilightCallNetBuilder_.mergeFrom(value);
          } else {
            twilightCallNetBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 7;
        return this;
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      public Builder clearTwilightCallNet() {
        if (twilightCallNetBuilder_ == null) {
          if (fastTextCase_ == 7) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 7) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightCallNetBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      public EventOuterClass.Event.TwilightCallNet.Builder getTwilightCallNetBuilder() {
        return getTwilightCallNetFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightCallNetOrBuilder getTwilightCallNetOrBuilder() {
        if ((fastTextCase_ == 7) && (twilightCallNetBuilder_ != null)) {
          return twilightCallNetBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 7) {
            return (EventOuterClass.Event.TwilightCallNet) fastText_;
          }
          return EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightCallNet twilightCallNet = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightCallNet, EventOuterClass.Event.TwilightCallNet.Builder, EventOuterClass.Event.TwilightCallNetOrBuilder> 
          getTwilightCallNetFieldBuilder() {
        if (twilightCallNetBuilder_ == null) {
          if (!(fastTextCase_ == 7)) {
            fastText_ = EventOuterClass.Event.TwilightCallNet.getDefaultInstance();
          }
          twilightCallNetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightCallNet, EventOuterClass.Event.TwilightCallNet.Builder, EventOuterClass.Event.TwilightCallNetOrBuilder>(
                  (EventOuterClass.Event.TwilightCallNet) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 7;
        onChanged();
        return twilightCallNetBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOInput, EventOuterClass.Event.QwilightIOInput.Builder, EventOuterClass.Event.QwilightIOInputOrBuilder> qwilightIOInputBuilder_;
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       * @return Whether the qwilightIOInput field is set.
       */
      @java.lang.Override
      public boolean hasQwilightIOInput() {
        return fastTextCase_ == 8;
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       * @return The qwilightIOInput.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOInput getQwilightIOInput() {
        if (qwilightIOInputBuilder_ == null) {
          if (fastTextCase_ == 8) {
            return (EventOuterClass.Event.QwilightIOInput) fastText_;
          }
          return EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
        } else {
          if (fastTextCase_ == 8) {
            return qwilightIOInputBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      public Builder setQwilightIOInput(EventOuterClass.Event.QwilightIOInput value) {
        if (qwilightIOInputBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightIOInputBuilder_.setMessage(value);
        }
        fastTextCase_ = 8;
        return this;
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      public Builder setQwilightIOInput(
          EventOuterClass.Event.QwilightIOInput.Builder builderForValue) {
        if (qwilightIOInputBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightIOInputBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 8;
        return this;
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      public Builder mergeQwilightIOInput(EventOuterClass.Event.QwilightIOInput value) {
        if (qwilightIOInputBuilder_ == null) {
          if (fastTextCase_ == 8 &&
              fastText_ != EventOuterClass.Event.QwilightIOInput.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightIOInput.newBuilder((EventOuterClass.Event.QwilightIOInput) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 8) {
            qwilightIOInputBuilder_.mergeFrom(value);
          } else {
            qwilightIOInputBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 8;
        return this;
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      public Builder clearQwilightIOInput() {
        if (qwilightIOInputBuilder_ == null) {
          if (fastTextCase_ == 8) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 8) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightIOInputBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      public EventOuterClass.Event.QwilightIOInput.Builder getQwilightIOInputBuilder() {
        return getQwilightIOInputFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOInputOrBuilder getQwilightIOInputOrBuilder() {
        if ((fastTextCase_ == 8) && (qwilightIOInputBuilder_ != null)) {
          return qwilightIOInputBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 8) {
            return (EventOuterClass.Event.QwilightIOInput) fastText_;
          }
          return EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOInput qwilightIOInput = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOInput, EventOuterClass.Event.QwilightIOInput.Builder, EventOuterClass.Event.QwilightIOInputOrBuilder> 
          getQwilightIOInputFieldBuilder() {
        if (qwilightIOInputBuilder_ == null) {
          if (!(fastTextCase_ == 8)) {
            fastText_ = EventOuterClass.Event.QwilightIOInput.getDefaultInstance();
          }
          qwilightIOInputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightIOInput, EventOuterClass.Event.QwilightIOInput.Builder, EventOuterClass.Event.QwilightIOInputOrBuilder>(
                  (EventOuterClass.Event.QwilightIOInput) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 8;
        onChanged();
        return qwilightIOInputBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOInput, EventOuterClass.Event.TwilightIOInput.Builder, EventOuterClass.Event.TwilightIOInputOrBuilder> twilightIOInputBuilder_;
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       * @return Whether the twilightIOInput field is set.
       */
      @java.lang.Override
      public boolean hasTwilightIOInput() {
        return fastTextCase_ == 9;
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       * @return The twilightIOInput.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOInput getTwilightIOInput() {
        if (twilightIOInputBuilder_ == null) {
          if (fastTextCase_ == 9) {
            return (EventOuterClass.Event.TwilightIOInput) fastText_;
          }
          return EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
        } else {
          if (fastTextCase_ == 9) {
            return twilightIOInputBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      public Builder setTwilightIOInput(EventOuterClass.Event.TwilightIOInput value) {
        if (twilightIOInputBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightIOInputBuilder_.setMessage(value);
        }
        fastTextCase_ = 9;
        return this;
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      public Builder setTwilightIOInput(
          EventOuterClass.Event.TwilightIOInput.Builder builderForValue) {
        if (twilightIOInputBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightIOInputBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 9;
        return this;
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      public Builder mergeTwilightIOInput(EventOuterClass.Event.TwilightIOInput value) {
        if (twilightIOInputBuilder_ == null) {
          if (fastTextCase_ == 9 &&
              fastText_ != EventOuterClass.Event.TwilightIOInput.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightIOInput.newBuilder((EventOuterClass.Event.TwilightIOInput) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 9) {
            twilightIOInputBuilder_.mergeFrom(value);
          } else {
            twilightIOInputBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 9;
        return this;
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      public Builder clearTwilightIOInput() {
        if (twilightIOInputBuilder_ == null) {
          if (fastTextCase_ == 9) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 9) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightIOInputBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      public EventOuterClass.Event.TwilightIOInput.Builder getTwilightIOInputBuilder() {
        return getTwilightIOInputFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOInputOrBuilder getTwilightIOInputOrBuilder() {
        if ((fastTextCase_ == 9) && (twilightIOInputBuilder_ != null)) {
          return twilightIOInputBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 9) {
            return (EventOuterClass.Event.TwilightIOInput) fastText_;
          }
          return EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOInput twilightIOInput = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOInput, EventOuterClass.Event.TwilightIOInput.Builder, EventOuterClass.Event.TwilightIOInputOrBuilder> 
          getTwilightIOInputFieldBuilder() {
        if (twilightIOInputBuilder_ == null) {
          if (!(fastTextCase_ == 9)) {
            fastText_ = EventOuterClass.Event.TwilightIOInput.getDefaultInstance();
          }
          twilightIOInputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightIOInput, EventOuterClass.Event.TwilightIOInput.Builder, EventOuterClass.Event.TwilightIOInputOrBuilder>(
                  (EventOuterClass.Event.TwilightIOInput) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 9;
        onChanged();
        return twilightIOInputBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOJudge, EventOuterClass.Event.QwilightIOJudge.Builder, EventOuterClass.Event.QwilightIOJudgeOrBuilder> qwilightIOJudgeBuilder_;
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       * @return Whether the qwilightIOJudge field is set.
       */
      @java.lang.Override
      public boolean hasQwilightIOJudge() {
        return fastTextCase_ == 10;
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       * @return The qwilightIOJudge.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOJudge getQwilightIOJudge() {
        if (qwilightIOJudgeBuilder_ == null) {
          if (fastTextCase_ == 10) {
            return (EventOuterClass.Event.QwilightIOJudge) fastText_;
          }
          return EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
        } else {
          if (fastTextCase_ == 10) {
            return qwilightIOJudgeBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      public Builder setQwilightIOJudge(EventOuterClass.Event.QwilightIOJudge value) {
        if (qwilightIOJudgeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightIOJudgeBuilder_.setMessage(value);
        }
        fastTextCase_ = 10;
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      public Builder setQwilightIOJudge(
          EventOuterClass.Event.QwilightIOJudge.Builder builderForValue) {
        if (qwilightIOJudgeBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightIOJudgeBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 10;
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      public Builder mergeQwilightIOJudge(EventOuterClass.Event.QwilightIOJudge value) {
        if (qwilightIOJudgeBuilder_ == null) {
          if (fastTextCase_ == 10 &&
              fastText_ != EventOuterClass.Event.QwilightIOJudge.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightIOJudge.newBuilder((EventOuterClass.Event.QwilightIOJudge) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 10) {
            qwilightIOJudgeBuilder_.mergeFrom(value);
          } else {
            qwilightIOJudgeBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 10;
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      public Builder clearQwilightIOJudge() {
        if (qwilightIOJudgeBuilder_ == null) {
          if (fastTextCase_ == 10) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 10) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightIOJudgeBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      public EventOuterClass.Event.QwilightIOJudge.Builder getQwilightIOJudgeBuilder() {
        return getQwilightIOJudgeFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOJudgeOrBuilder getQwilightIOJudgeOrBuilder() {
        if ((fastTextCase_ == 10) && (qwilightIOJudgeBuilder_ != null)) {
          return qwilightIOJudgeBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 10) {
            return (EventOuterClass.Event.QwilightIOJudge) fastText_;
          }
          return EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOJudge qwilightIOJudge = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOJudge, EventOuterClass.Event.QwilightIOJudge.Builder, EventOuterClass.Event.QwilightIOJudgeOrBuilder> 
          getQwilightIOJudgeFieldBuilder() {
        if (qwilightIOJudgeBuilder_ == null) {
          if (!(fastTextCase_ == 10)) {
            fastText_ = EventOuterClass.Event.QwilightIOJudge.getDefaultInstance();
          }
          qwilightIOJudgeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightIOJudge, EventOuterClass.Event.QwilightIOJudge.Builder, EventOuterClass.Event.QwilightIOJudgeOrBuilder>(
                  (EventOuterClass.Event.QwilightIOJudge) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 10;
        onChanged();
        return qwilightIOJudgeBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOJudge, EventOuterClass.Event.TwilightIOJudge.Builder, EventOuterClass.Event.TwilightIOJudgeOrBuilder> twilightIOJudgeBuilder_;
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       * @return Whether the twilightIOJudge field is set.
       */
      @java.lang.Override
      public boolean hasTwilightIOJudge() {
        return fastTextCase_ == 11;
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       * @return The twilightIOJudge.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOJudge getTwilightIOJudge() {
        if (twilightIOJudgeBuilder_ == null) {
          if (fastTextCase_ == 11) {
            return (EventOuterClass.Event.TwilightIOJudge) fastText_;
          }
          return EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
        } else {
          if (fastTextCase_ == 11) {
            return twilightIOJudgeBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      public Builder setTwilightIOJudge(EventOuterClass.Event.TwilightIOJudge value) {
        if (twilightIOJudgeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightIOJudgeBuilder_.setMessage(value);
        }
        fastTextCase_ = 11;
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      public Builder setTwilightIOJudge(
          EventOuterClass.Event.TwilightIOJudge.Builder builderForValue) {
        if (twilightIOJudgeBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightIOJudgeBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 11;
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      public Builder mergeTwilightIOJudge(EventOuterClass.Event.TwilightIOJudge value) {
        if (twilightIOJudgeBuilder_ == null) {
          if (fastTextCase_ == 11 &&
              fastText_ != EventOuterClass.Event.TwilightIOJudge.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightIOJudge.newBuilder((EventOuterClass.Event.TwilightIOJudge) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 11) {
            twilightIOJudgeBuilder_.mergeFrom(value);
          } else {
            twilightIOJudgeBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 11;
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      public Builder clearTwilightIOJudge() {
        if (twilightIOJudgeBuilder_ == null) {
          if (fastTextCase_ == 11) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 11) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightIOJudgeBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      public EventOuterClass.Event.TwilightIOJudge.Builder getTwilightIOJudgeBuilder() {
        return getTwilightIOJudgeFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOJudgeOrBuilder getTwilightIOJudgeOrBuilder() {
        if ((fastTextCase_ == 11) && (twilightIOJudgeBuilder_ != null)) {
          return twilightIOJudgeBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 11) {
            return (EventOuterClass.Event.TwilightIOJudge) fastText_;
          }
          return EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOJudge twilightIOJudge = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOJudge, EventOuterClass.Event.TwilightIOJudge.Builder, EventOuterClass.Event.TwilightIOJudgeOrBuilder> 
          getTwilightIOJudgeFieldBuilder() {
        if (twilightIOJudgeBuilder_ == null) {
          if (!(fastTextCase_ == 11)) {
            fastText_ = EventOuterClass.Event.TwilightIOJudge.getDefaultInstance();
          }
          twilightIOJudgeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightIOJudge, EventOuterClass.Event.TwilightIOJudge.Builder, EventOuterClass.Event.TwilightIOJudgeOrBuilder>(
                  (EventOuterClass.Event.TwilightIOJudge) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 11;
        onChanged();
        return twilightIOJudgeBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOJudgmentMeter, EventOuterClass.Event.QwilightIOJudgmentMeter.Builder, EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder> qwilightIOJudgmentMeterBuilder_;
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       * @return Whether the qwilightIOJudgmentMeter field is set.
       */
      @java.lang.Override
      public boolean hasQwilightIOJudgmentMeter() {
        return fastTextCase_ == 12;
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       * @return The qwilightIOJudgmentMeter.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOJudgmentMeter getQwilightIOJudgmentMeter() {
        if (qwilightIOJudgmentMeterBuilder_ == null) {
          if (fastTextCase_ == 12) {
            return (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_;
          }
          return EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
        } else {
          if (fastTextCase_ == 12) {
            return qwilightIOJudgmentMeterBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      public Builder setQwilightIOJudgmentMeter(EventOuterClass.Event.QwilightIOJudgmentMeter value) {
        if (qwilightIOJudgmentMeterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightIOJudgmentMeterBuilder_.setMessage(value);
        }
        fastTextCase_ = 12;
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      public Builder setQwilightIOJudgmentMeter(
          EventOuterClass.Event.QwilightIOJudgmentMeter.Builder builderForValue) {
        if (qwilightIOJudgmentMeterBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightIOJudgmentMeterBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 12;
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      public Builder mergeQwilightIOJudgmentMeter(EventOuterClass.Event.QwilightIOJudgmentMeter value) {
        if (qwilightIOJudgmentMeterBuilder_ == null) {
          if (fastTextCase_ == 12 &&
              fastText_ != EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightIOJudgmentMeter.newBuilder((EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 12) {
            qwilightIOJudgmentMeterBuilder_.mergeFrom(value);
          } else {
            qwilightIOJudgmentMeterBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 12;
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      public Builder clearQwilightIOJudgmentMeter() {
        if (qwilightIOJudgmentMeterBuilder_ == null) {
          if (fastTextCase_ == 12) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 12) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightIOJudgmentMeterBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      public EventOuterClass.Event.QwilightIOJudgmentMeter.Builder getQwilightIOJudgmentMeterBuilder() {
        return getQwilightIOJudgmentMeterFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder getQwilightIOJudgmentMeterOrBuilder() {
        if ((fastTextCase_ == 12) && (qwilightIOJudgmentMeterBuilder_ != null)) {
          return qwilightIOJudgmentMeterBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 12) {
            return (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_;
          }
          return EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOJudgmentMeter qwilightIOJudgmentMeter = 12;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOJudgmentMeter, EventOuterClass.Event.QwilightIOJudgmentMeter.Builder, EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder> 
          getQwilightIOJudgmentMeterFieldBuilder() {
        if (qwilightIOJudgmentMeterBuilder_ == null) {
          if (!(fastTextCase_ == 12)) {
            fastText_ = EventOuterClass.Event.QwilightIOJudgmentMeter.getDefaultInstance();
          }
          qwilightIOJudgmentMeterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightIOJudgmentMeter, EventOuterClass.Event.QwilightIOJudgmentMeter.Builder, EventOuterClass.Event.QwilightIOJudgmentMeterOrBuilder>(
                  (EventOuterClass.Event.QwilightIOJudgmentMeter) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 12;
        onChanged();
        return qwilightIOJudgmentMeterBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOJudgmentMeter, EventOuterClass.Event.TwilightIOJudgmentMeter.Builder, EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder> twilightIOJudgmentMeterBuilder_;
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       * @return Whether the twilightIOJudgmentMeter field is set.
       */
      @java.lang.Override
      public boolean hasTwilightIOJudgmentMeter() {
        return fastTextCase_ == 13;
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       * @return The twilightIOJudgmentMeter.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOJudgmentMeter getTwilightIOJudgmentMeter() {
        if (twilightIOJudgmentMeterBuilder_ == null) {
          if (fastTextCase_ == 13) {
            return (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_;
          }
          return EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
        } else {
          if (fastTextCase_ == 13) {
            return twilightIOJudgmentMeterBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      public Builder setTwilightIOJudgmentMeter(EventOuterClass.Event.TwilightIOJudgmentMeter value) {
        if (twilightIOJudgmentMeterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightIOJudgmentMeterBuilder_.setMessage(value);
        }
        fastTextCase_ = 13;
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      public Builder setTwilightIOJudgmentMeter(
          EventOuterClass.Event.TwilightIOJudgmentMeter.Builder builderForValue) {
        if (twilightIOJudgmentMeterBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightIOJudgmentMeterBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 13;
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      public Builder mergeTwilightIOJudgmentMeter(EventOuterClass.Event.TwilightIOJudgmentMeter value) {
        if (twilightIOJudgmentMeterBuilder_ == null) {
          if (fastTextCase_ == 13 &&
              fastText_ != EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightIOJudgmentMeter.newBuilder((EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 13) {
            twilightIOJudgmentMeterBuilder_.mergeFrom(value);
          } else {
            twilightIOJudgmentMeterBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 13;
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      public Builder clearTwilightIOJudgmentMeter() {
        if (twilightIOJudgmentMeterBuilder_ == null) {
          if (fastTextCase_ == 13) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 13) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightIOJudgmentMeterBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      public EventOuterClass.Event.TwilightIOJudgmentMeter.Builder getTwilightIOJudgmentMeterBuilder() {
        return getTwilightIOJudgmentMeterFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder getTwilightIOJudgmentMeterOrBuilder() {
        if ((fastTextCase_ == 13) && (twilightIOJudgmentMeterBuilder_ != null)) {
          return twilightIOJudgmentMeterBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 13) {
            return (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_;
          }
          return EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOJudgmentMeter twilightIOJudgmentMeter = 13;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOJudgmentMeter, EventOuterClass.Event.TwilightIOJudgmentMeter.Builder, EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder> 
          getTwilightIOJudgmentMeterFieldBuilder() {
        if (twilightIOJudgmentMeterBuilder_ == null) {
          if (!(fastTextCase_ == 13)) {
            fastText_ = EventOuterClass.Event.TwilightIOJudgmentMeter.getDefaultInstance();
          }
          twilightIOJudgmentMeterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightIOJudgmentMeter, EventOuterClass.Event.TwilightIOJudgmentMeter.Builder, EventOuterClass.Event.TwilightIOJudgmentMeterOrBuilder>(
                  (EventOuterClass.Event.TwilightIOJudgmentMeter) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 13;
        onChanged();
        return twilightIOJudgmentMeterBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIONoteVisibility, EventOuterClass.Event.QwilightIONoteVisibility.Builder, EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder> qwilightIONoteVisibilityBuilder_;
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       * @return Whether the qwilightIONoteVisibility field is set.
       */
      @java.lang.Override
      public boolean hasQwilightIONoteVisibility() {
        return fastTextCase_ == 14;
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       * @return The qwilightIONoteVisibility.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIONoteVisibility getQwilightIONoteVisibility() {
        if (qwilightIONoteVisibilityBuilder_ == null) {
          if (fastTextCase_ == 14) {
            return (EventOuterClass.Event.QwilightIONoteVisibility) fastText_;
          }
          return EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
        } else {
          if (fastTextCase_ == 14) {
            return qwilightIONoteVisibilityBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      public Builder setQwilightIONoteVisibility(EventOuterClass.Event.QwilightIONoteVisibility value) {
        if (qwilightIONoteVisibilityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightIONoteVisibilityBuilder_.setMessage(value);
        }
        fastTextCase_ = 14;
        return this;
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      public Builder setQwilightIONoteVisibility(
          EventOuterClass.Event.QwilightIONoteVisibility.Builder builderForValue) {
        if (qwilightIONoteVisibilityBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightIONoteVisibilityBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 14;
        return this;
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      public Builder mergeQwilightIONoteVisibility(EventOuterClass.Event.QwilightIONoteVisibility value) {
        if (qwilightIONoteVisibilityBuilder_ == null) {
          if (fastTextCase_ == 14 &&
              fastText_ != EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightIONoteVisibility.newBuilder((EventOuterClass.Event.QwilightIONoteVisibility) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 14) {
            qwilightIONoteVisibilityBuilder_.mergeFrom(value);
          } else {
            qwilightIONoteVisibilityBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 14;
        return this;
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      public Builder clearQwilightIONoteVisibility() {
        if (qwilightIONoteVisibilityBuilder_ == null) {
          if (fastTextCase_ == 14) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 14) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightIONoteVisibilityBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      public EventOuterClass.Event.QwilightIONoteVisibility.Builder getQwilightIONoteVisibilityBuilder() {
        return getQwilightIONoteVisibilityFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder getQwilightIONoteVisibilityOrBuilder() {
        if ((fastTextCase_ == 14) && (qwilightIONoteVisibilityBuilder_ != null)) {
          return qwilightIONoteVisibilityBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 14) {
            return (EventOuterClass.Event.QwilightIONoteVisibility) fastText_;
          }
          return EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIONoteVisibility qwilightIONoteVisibility = 14;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIONoteVisibility, EventOuterClass.Event.QwilightIONoteVisibility.Builder, EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder> 
          getQwilightIONoteVisibilityFieldBuilder() {
        if (qwilightIONoteVisibilityBuilder_ == null) {
          if (!(fastTextCase_ == 14)) {
            fastText_ = EventOuterClass.Event.QwilightIONoteVisibility.getDefaultInstance();
          }
          qwilightIONoteVisibilityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightIONoteVisibility, EventOuterClass.Event.QwilightIONoteVisibility.Builder, EventOuterClass.Event.QwilightIONoteVisibilityOrBuilder>(
                  (EventOuterClass.Event.QwilightIONoteVisibility) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 14;
        onChanged();
        return qwilightIONoteVisibilityBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIONoteVisibility, EventOuterClass.Event.TwilightIONoteVisibility.Builder, EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder> twilightIONoteVisibilityBuilder_;
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       * @return Whether the twilightIONoteVisibility field is set.
       */
      @java.lang.Override
      public boolean hasTwilightIONoteVisibility() {
        return fastTextCase_ == 15;
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       * @return The twilightIONoteVisibility.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIONoteVisibility getTwilightIONoteVisibility() {
        if (twilightIONoteVisibilityBuilder_ == null) {
          if (fastTextCase_ == 15) {
            return (EventOuterClass.Event.TwilightIONoteVisibility) fastText_;
          }
          return EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
        } else {
          if (fastTextCase_ == 15) {
            return twilightIONoteVisibilityBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      public Builder setTwilightIONoteVisibility(EventOuterClass.Event.TwilightIONoteVisibility value) {
        if (twilightIONoteVisibilityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightIONoteVisibilityBuilder_.setMessage(value);
        }
        fastTextCase_ = 15;
        return this;
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      public Builder setTwilightIONoteVisibility(
          EventOuterClass.Event.TwilightIONoteVisibility.Builder builderForValue) {
        if (twilightIONoteVisibilityBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightIONoteVisibilityBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 15;
        return this;
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      public Builder mergeTwilightIONoteVisibility(EventOuterClass.Event.TwilightIONoteVisibility value) {
        if (twilightIONoteVisibilityBuilder_ == null) {
          if (fastTextCase_ == 15 &&
              fastText_ != EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightIONoteVisibility.newBuilder((EventOuterClass.Event.TwilightIONoteVisibility) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 15) {
            twilightIONoteVisibilityBuilder_.mergeFrom(value);
          } else {
            twilightIONoteVisibilityBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 15;
        return this;
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      public Builder clearTwilightIONoteVisibility() {
        if (twilightIONoteVisibilityBuilder_ == null) {
          if (fastTextCase_ == 15) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 15) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightIONoteVisibilityBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      public EventOuterClass.Event.TwilightIONoteVisibility.Builder getTwilightIONoteVisibilityBuilder() {
        return getTwilightIONoteVisibilityFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder getTwilightIONoteVisibilityOrBuilder() {
        if ((fastTextCase_ == 15) && (twilightIONoteVisibilityBuilder_ != null)) {
          return twilightIONoteVisibilityBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 15) {
            return (EventOuterClass.Event.TwilightIONoteVisibility) fastText_;
          }
          return EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIONoteVisibility twilightIONoteVisibility = 15;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIONoteVisibility, EventOuterClass.Event.TwilightIONoteVisibility.Builder, EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder> 
          getTwilightIONoteVisibilityFieldBuilder() {
        if (twilightIONoteVisibilityBuilder_ == null) {
          if (!(fastTextCase_ == 15)) {
            fastText_ = EventOuterClass.Event.TwilightIONoteVisibility.getDefaultInstance();
          }
          twilightIONoteVisibilityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightIONoteVisibility, EventOuterClass.Event.TwilightIONoteVisibility.Builder, EventOuterClass.Event.TwilightIONoteVisibilityOrBuilder>(
                  (EventOuterClass.Event.TwilightIONoteVisibility) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 15;
        onChanged();
        return twilightIONoteVisibilityBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOMultiplier, EventOuterClass.Event.QwilightIOMultiplier.Builder, EventOuterClass.Event.QwilightIOMultiplierOrBuilder> qwilightIOMultiplierBuilder_;
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       * @return Whether the qwilightIOMultiplier field is set.
       */
      @java.lang.Override
      public boolean hasQwilightIOMultiplier() {
        return fastTextCase_ == 16;
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       * @return The qwilightIOMultiplier.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOMultiplier getQwilightIOMultiplier() {
        if (qwilightIOMultiplierBuilder_ == null) {
          if (fastTextCase_ == 16) {
            return (EventOuterClass.Event.QwilightIOMultiplier) fastText_;
          }
          return EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
        } else {
          if (fastTextCase_ == 16) {
            return qwilightIOMultiplierBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      public Builder setQwilightIOMultiplier(EventOuterClass.Event.QwilightIOMultiplier value) {
        if (qwilightIOMultiplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightIOMultiplierBuilder_.setMessage(value);
        }
        fastTextCase_ = 16;
        return this;
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      public Builder setQwilightIOMultiplier(
          EventOuterClass.Event.QwilightIOMultiplier.Builder builderForValue) {
        if (qwilightIOMultiplierBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightIOMultiplierBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 16;
        return this;
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      public Builder mergeQwilightIOMultiplier(EventOuterClass.Event.QwilightIOMultiplier value) {
        if (qwilightIOMultiplierBuilder_ == null) {
          if (fastTextCase_ == 16 &&
              fastText_ != EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightIOMultiplier.newBuilder((EventOuterClass.Event.QwilightIOMultiplier) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 16) {
            qwilightIOMultiplierBuilder_.mergeFrom(value);
          } else {
            qwilightIOMultiplierBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 16;
        return this;
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      public Builder clearQwilightIOMultiplier() {
        if (qwilightIOMultiplierBuilder_ == null) {
          if (fastTextCase_ == 16) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 16) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightIOMultiplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      public EventOuterClass.Event.QwilightIOMultiplier.Builder getQwilightIOMultiplierBuilder() {
        return getQwilightIOMultiplierFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOMultiplierOrBuilder getQwilightIOMultiplierOrBuilder() {
        if ((fastTextCase_ == 16) && (qwilightIOMultiplierBuilder_ != null)) {
          return qwilightIOMultiplierBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 16) {
            return (EventOuterClass.Event.QwilightIOMultiplier) fastText_;
          }
          return EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOMultiplier qwilightIOMultiplier = 16;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOMultiplier, EventOuterClass.Event.QwilightIOMultiplier.Builder, EventOuterClass.Event.QwilightIOMultiplierOrBuilder> 
          getQwilightIOMultiplierFieldBuilder() {
        if (qwilightIOMultiplierBuilder_ == null) {
          if (!(fastTextCase_ == 16)) {
            fastText_ = EventOuterClass.Event.QwilightIOMultiplier.getDefaultInstance();
          }
          qwilightIOMultiplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightIOMultiplier, EventOuterClass.Event.QwilightIOMultiplier.Builder, EventOuterClass.Event.QwilightIOMultiplierOrBuilder>(
                  (EventOuterClass.Event.QwilightIOMultiplier) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 16;
        onChanged();
        return qwilightIOMultiplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOMultiplier, EventOuterClass.Event.TwilightIOMultiplier.Builder, EventOuterClass.Event.TwilightIOMultiplierOrBuilder> twilightIOMultiplierBuilder_;
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       * @return Whether the twilightIOMultiplier field is set.
       */
      @java.lang.Override
      public boolean hasTwilightIOMultiplier() {
        return fastTextCase_ == 17;
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       * @return The twilightIOMultiplier.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOMultiplier getTwilightIOMultiplier() {
        if (twilightIOMultiplierBuilder_ == null) {
          if (fastTextCase_ == 17) {
            return (EventOuterClass.Event.TwilightIOMultiplier) fastText_;
          }
          return EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
        } else {
          if (fastTextCase_ == 17) {
            return twilightIOMultiplierBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      public Builder setTwilightIOMultiplier(EventOuterClass.Event.TwilightIOMultiplier value) {
        if (twilightIOMultiplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightIOMultiplierBuilder_.setMessage(value);
        }
        fastTextCase_ = 17;
        return this;
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      public Builder setTwilightIOMultiplier(
          EventOuterClass.Event.TwilightIOMultiplier.Builder builderForValue) {
        if (twilightIOMultiplierBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightIOMultiplierBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 17;
        return this;
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      public Builder mergeTwilightIOMultiplier(EventOuterClass.Event.TwilightIOMultiplier value) {
        if (twilightIOMultiplierBuilder_ == null) {
          if (fastTextCase_ == 17 &&
              fastText_ != EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightIOMultiplier.newBuilder((EventOuterClass.Event.TwilightIOMultiplier) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 17) {
            twilightIOMultiplierBuilder_.mergeFrom(value);
          } else {
            twilightIOMultiplierBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 17;
        return this;
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      public Builder clearTwilightIOMultiplier() {
        if (twilightIOMultiplierBuilder_ == null) {
          if (fastTextCase_ == 17) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 17) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightIOMultiplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      public EventOuterClass.Event.TwilightIOMultiplier.Builder getTwilightIOMultiplierBuilder() {
        return getTwilightIOMultiplierFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOMultiplierOrBuilder getTwilightIOMultiplierOrBuilder() {
        if ((fastTextCase_ == 17) && (twilightIOMultiplierBuilder_ != null)) {
          return twilightIOMultiplierBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 17) {
            return (EventOuterClass.Event.TwilightIOMultiplier) fastText_;
          }
          return EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOMultiplier twilightIOMultiplier = 17;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOMultiplier, EventOuterClass.Event.TwilightIOMultiplier.Builder, EventOuterClass.Event.TwilightIOMultiplierOrBuilder> 
          getTwilightIOMultiplierFieldBuilder() {
        if (twilightIOMultiplierBuilder_ == null) {
          if (!(fastTextCase_ == 17)) {
            fastText_ = EventOuterClass.Event.TwilightIOMultiplier.getDefaultInstance();
          }
          twilightIOMultiplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightIOMultiplier, EventOuterClass.Event.TwilightIOMultiplier.Builder, EventOuterClass.Event.TwilightIOMultiplierOrBuilder>(
                  (EventOuterClass.Event.TwilightIOMultiplier) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 17;
        onChanged();
        return twilightIOMultiplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOAudioMultiplier, EventOuterClass.Event.QwilightIOAudioMultiplier.Builder, EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder> qwilightIOAudioMultiplierBuilder_;
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       * @return Whether the qwilightIOAudioMultiplier field is set.
       */
      @java.lang.Override
      public boolean hasQwilightIOAudioMultiplier() {
        return fastTextCase_ == 18;
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       * @return The qwilightIOAudioMultiplier.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOAudioMultiplier getQwilightIOAudioMultiplier() {
        if (qwilightIOAudioMultiplierBuilder_ == null) {
          if (fastTextCase_ == 18) {
            return (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_;
          }
          return EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
        } else {
          if (fastTextCase_ == 18) {
            return qwilightIOAudioMultiplierBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      public Builder setQwilightIOAudioMultiplier(EventOuterClass.Event.QwilightIOAudioMultiplier value) {
        if (qwilightIOAudioMultiplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightIOAudioMultiplierBuilder_.setMessage(value);
        }
        fastTextCase_ = 18;
        return this;
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      public Builder setQwilightIOAudioMultiplier(
          EventOuterClass.Event.QwilightIOAudioMultiplier.Builder builderForValue) {
        if (qwilightIOAudioMultiplierBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightIOAudioMultiplierBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 18;
        return this;
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      public Builder mergeQwilightIOAudioMultiplier(EventOuterClass.Event.QwilightIOAudioMultiplier value) {
        if (qwilightIOAudioMultiplierBuilder_ == null) {
          if (fastTextCase_ == 18 &&
              fastText_ != EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightIOAudioMultiplier.newBuilder((EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 18) {
            qwilightIOAudioMultiplierBuilder_.mergeFrom(value);
          } else {
            qwilightIOAudioMultiplierBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 18;
        return this;
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      public Builder clearQwilightIOAudioMultiplier() {
        if (qwilightIOAudioMultiplierBuilder_ == null) {
          if (fastTextCase_ == 18) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 18) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightIOAudioMultiplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      public EventOuterClass.Event.QwilightIOAudioMultiplier.Builder getQwilightIOAudioMultiplierBuilder() {
        return getQwilightIOAudioMultiplierFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder getQwilightIOAudioMultiplierOrBuilder() {
        if ((fastTextCase_ == 18) && (qwilightIOAudioMultiplierBuilder_ != null)) {
          return qwilightIOAudioMultiplierBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 18) {
            return (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_;
          }
          return EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightIOAudioMultiplier qwilightIOAudioMultiplier = 18;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightIOAudioMultiplier, EventOuterClass.Event.QwilightIOAudioMultiplier.Builder, EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder> 
          getQwilightIOAudioMultiplierFieldBuilder() {
        if (qwilightIOAudioMultiplierBuilder_ == null) {
          if (!(fastTextCase_ == 18)) {
            fastText_ = EventOuterClass.Event.QwilightIOAudioMultiplier.getDefaultInstance();
          }
          qwilightIOAudioMultiplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightIOAudioMultiplier, EventOuterClass.Event.QwilightIOAudioMultiplier.Builder, EventOuterClass.Event.QwilightIOAudioMultiplierOrBuilder>(
                  (EventOuterClass.Event.QwilightIOAudioMultiplier) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 18;
        onChanged();
        return qwilightIOAudioMultiplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOAudioMultiplier, EventOuterClass.Event.TwilightIOAudioMultiplier.Builder, EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder> twilightIOAudioMultiplierBuilder_;
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       * @return Whether the twilightIOAudioMultiplier field is set.
       */
      @java.lang.Override
      public boolean hasTwilightIOAudioMultiplier() {
        return fastTextCase_ == 19;
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       * @return The twilightIOAudioMultiplier.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOAudioMultiplier getTwilightIOAudioMultiplier() {
        if (twilightIOAudioMultiplierBuilder_ == null) {
          if (fastTextCase_ == 19) {
            return (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_;
          }
          return EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
        } else {
          if (fastTextCase_ == 19) {
            return twilightIOAudioMultiplierBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      public Builder setTwilightIOAudioMultiplier(EventOuterClass.Event.TwilightIOAudioMultiplier value) {
        if (twilightIOAudioMultiplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightIOAudioMultiplierBuilder_.setMessage(value);
        }
        fastTextCase_ = 19;
        return this;
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      public Builder setTwilightIOAudioMultiplier(
          EventOuterClass.Event.TwilightIOAudioMultiplier.Builder builderForValue) {
        if (twilightIOAudioMultiplierBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightIOAudioMultiplierBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 19;
        return this;
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      public Builder mergeTwilightIOAudioMultiplier(EventOuterClass.Event.TwilightIOAudioMultiplier value) {
        if (twilightIOAudioMultiplierBuilder_ == null) {
          if (fastTextCase_ == 19 &&
              fastText_ != EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightIOAudioMultiplier.newBuilder((EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 19) {
            twilightIOAudioMultiplierBuilder_.mergeFrom(value);
          } else {
            twilightIOAudioMultiplierBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 19;
        return this;
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      public Builder clearTwilightIOAudioMultiplier() {
        if (twilightIOAudioMultiplierBuilder_ == null) {
          if (fastTextCase_ == 19) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 19) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightIOAudioMultiplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      public EventOuterClass.Event.TwilightIOAudioMultiplier.Builder getTwilightIOAudioMultiplierBuilder() {
        return getTwilightIOAudioMultiplierFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder getTwilightIOAudioMultiplierOrBuilder() {
        if ((fastTextCase_ == 19) && (twilightIOAudioMultiplierBuilder_ != null)) {
          return twilightIOAudioMultiplierBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 19) {
            return (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_;
          }
          return EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightIOAudioMultiplier twilightIOAudioMultiplier = 19;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightIOAudioMultiplier, EventOuterClass.Event.TwilightIOAudioMultiplier.Builder, EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder> 
          getTwilightIOAudioMultiplierFieldBuilder() {
        if (twilightIOAudioMultiplierBuilder_ == null) {
          if (!(fastTextCase_ == 19)) {
            fastText_ = EventOuterClass.Event.TwilightIOAudioMultiplier.getDefaultInstance();
          }
          twilightIOAudioMultiplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightIOAudioMultiplier, EventOuterClass.Event.TwilightIOAudioMultiplier.Builder, EventOuterClass.Event.TwilightIOAudioMultiplierOrBuilder>(
                  (EventOuterClass.Event.TwilightIOAudioMultiplier) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 19;
        onChanged();
        return twilightIOAudioMultiplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightAudioInput, EventOuterClass.Event.TwilightAudioInput.Builder, EventOuterClass.Event.TwilightAudioInputOrBuilder> twilightAudioInputBuilder_;
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       * @return Whether the twilightAudioInput field is set.
       */
      @java.lang.Override
      public boolean hasTwilightAudioInput() {
        return fastTextCase_ == 20;
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       * @return The twilightAudioInput.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightAudioInput getTwilightAudioInput() {
        if (twilightAudioInputBuilder_ == null) {
          if (fastTextCase_ == 20) {
            return (EventOuterClass.Event.TwilightAudioInput) fastText_;
          }
          return EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
        } else {
          if (fastTextCase_ == 20) {
            return twilightAudioInputBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      public Builder setTwilightAudioInput(EventOuterClass.Event.TwilightAudioInput value) {
        if (twilightAudioInputBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightAudioInputBuilder_.setMessage(value);
        }
        fastTextCase_ = 20;
        return this;
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      public Builder setTwilightAudioInput(
          EventOuterClass.Event.TwilightAudioInput.Builder builderForValue) {
        if (twilightAudioInputBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightAudioInputBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 20;
        return this;
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      public Builder mergeTwilightAudioInput(EventOuterClass.Event.TwilightAudioInput value) {
        if (twilightAudioInputBuilder_ == null) {
          if (fastTextCase_ == 20 &&
              fastText_ != EventOuterClass.Event.TwilightAudioInput.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightAudioInput.newBuilder((EventOuterClass.Event.TwilightAudioInput) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 20) {
            twilightAudioInputBuilder_.mergeFrom(value);
          } else {
            twilightAudioInputBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 20;
        return this;
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      public Builder clearTwilightAudioInput() {
        if (twilightAudioInputBuilder_ == null) {
          if (fastTextCase_ == 20) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 20) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightAudioInputBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      public EventOuterClass.Event.TwilightAudioInput.Builder getTwilightAudioInputBuilder() {
        return getTwilightAudioInputFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightAudioInputOrBuilder getTwilightAudioInputOrBuilder() {
        if ((fastTextCase_ == 20) && (twilightAudioInputBuilder_ != null)) {
          return twilightAudioInputBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 20) {
            return (EventOuterClass.Event.TwilightAudioInput) fastText_;
          }
          return EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightAudioInput twilightAudioInput = 20;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightAudioInput, EventOuterClass.Event.TwilightAudioInput.Builder, EventOuterClass.Event.TwilightAudioInputOrBuilder> 
          getTwilightAudioInputFieldBuilder() {
        if (twilightAudioInputBuilder_ == null) {
          if (!(fastTextCase_ == 20)) {
            fastText_ = EventOuterClass.Event.TwilightAudioInput.getDefaultInstance();
          }
          twilightAudioInputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightAudioInput, EventOuterClass.Event.TwilightAudioInput.Builder, EventOuterClass.Event.TwilightAudioInputOrBuilder>(
                  (EventOuterClass.Event.TwilightAudioInput) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 20;
        onChanged();
        return twilightAudioInputBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightPostItem, EventOuterClass.Event.QwilightPostItem.Builder, EventOuterClass.Event.QwilightPostItemOrBuilder> qwilightPostItemBuilder_;
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       * @return Whether the qwilightPostItem field is set.
       */
      @java.lang.Override
      public boolean hasQwilightPostItem() {
        return fastTextCase_ == 21;
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       * @return The qwilightPostItem.
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightPostItem getQwilightPostItem() {
        if (qwilightPostItemBuilder_ == null) {
          if (fastTextCase_ == 21) {
            return (EventOuterClass.Event.QwilightPostItem) fastText_;
          }
          return EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
        } else {
          if (fastTextCase_ == 21) {
            return qwilightPostItemBuilder_.getMessage();
          }
          return EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      public Builder setQwilightPostItem(EventOuterClass.Event.QwilightPostItem value) {
        if (qwilightPostItemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          qwilightPostItemBuilder_.setMessage(value);
        }
        fastTextCase_ = 21;
        return this;
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      public Builder setQwilightPostItem(
          EventOuterClass.Event.QwilightPostItem.Builder builderForValue) {
        if (qwilightPostItemBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          qwilightPostItemBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 21;
        return this;
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      public Builder mergeQwilightPostItem(EventOuterClass.Event.QwilightPostItem value) {
        if (qwilightPostItemBuilder_ == null) {
          if (fastTextCase_ == 21 &&
              fastText_ != EventOuterClass.Event.QwilightPostItem.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.QwilightPostItem.newBuilder((EventOuterClass.Event.QwilightPostItem) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 21) {
            qwilightPostItemBuilder_.mergeFrom(value);
          } else {
            qwilightPostItemBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 21;
        return this;
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      public Builder clearQwilightPostItem() {
        if (qwilightPostItemBuilder_ == null) {
          if (fastTextCase_ == 21) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 21) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          qwilightPostItemBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      public EventOuterClass.Event.QwilightPostItem.Builder getQwilightPostItemBuilder() {
        return getQwilightPostItemFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.QwilightPostItemOrBuilder getQwilightPostItemOrBuilder() {
        if ((fastTextCase_ == 21) && (qwilightPostItemBuilder_ != null)) {
          return qwilightPostItemBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 21) {
            return (EventOuterClass.Event.QwilightPostItem) fastText_;
          }
          return EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.QwilightPostItem qwilightPostItem = 21;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.QwilightPostItem, EventOuterClass.Event.QwilightPostItem.Builder, EventOuterClass.Event.QwilightPostItemOrBuilder> 
          getQwilightPostItemFieldBuilder() {
        if (qwilightPostItemBuilder_ == null) {
          if (!(fastTextCase_ == 21)) {
            fastText_ = EventOuterClass.Event.QwilightPostItem.getDefaultInstance();
          }
          qwilightPostItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.QwilightPostItem, EventOuterClass.Event.QwilightPostItem.Builder, EventOuterClass.Event.QwilightPostItemOrBuilder>(
                  (EventOuterClass.Event.QwilightPostItem) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 21;
        onChanged();
        return qwilightPostItemBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightPostItem, EventOuterClass.Event.TwilightPostItem.Builder, EventOuterClass.Event.TwilightPostItemOrBuilder> twilightPostItemBuilder_;
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       * @return Whether the twilightPostItem field is set.
       */
      @java.lang.Override
      public boolean hasTwilightPostItem() {
        return fastTextCase_ == 22;
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       * @return The twilightPostItem.
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightPostItem getTwilightPostItem() {
        if (twilightPostItemBuilder_ == null) {
          if (fastTextCase_ == 22) {
            return (EventOuterClass.Event.TwilightPostItem) fastText_;
          }
          return EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
        } else {
          if (fastTextCase_ == 22) {
            return twilightPostItemBuilder_.getMessage();
          }
          return EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      public Builder setTwilightPostItem(EventOuterClass.Event.TwilightPostItem value) {
        if (twilightPostItemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fastText_ = value;
          onChanged();
        } else {
          twilightPostItemBuilder_.setMessage(value);
        }
        fastTextCase_ = 22;
        return this;
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      public Builder setTwilightPostItem(
          EventOuterClass.Event.TwilightPostItem.Builder builderForValue) {
        if (twilightPostItemBuilder_ == null) {
          fastText_ = builderForValue.build();
          onChanged();
        } else {
          twilightPostItemBuilder_.setMessage(builderForValue.build());
        }
        fastTextCase_ = 22;
        return this;
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      public Builder mergeTwilightPostItem(EventOuterClass.Event.TwilightPostItem value) {
        if (twilightPostItemBuilder_ == null) {
          if (fastTextCase_ == 22 &&
              fastText_ != EventOuterClass.Event.TwilightPostItem.getDefaultInstance()) {
            fastText_ = EventOuterClass.Event.TwilightPostItem.newBuilder((EventOuterClass.Event.TwilightPostItem) fastText_)
                .mergeFrom(value).buildPartial();
          } else {
            fastText_ = value;
          }
          onChanged();
        } else {
          if (fastTextCase_ == 22) {
            twilightPostItemBuilder_.mergeFrom(value);
          } else {
            twilightPostItemBuilder_.setMessage(value);
          }
        }
        fastTextCase_ = 22;
        return this;
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      public Builder clearTwilightPostItem() {
        if (twilightPostItemBuilder_ == null) {
          if (fastTextCase_ == 22) {
            fastTextCase_ = 0;
            fastText_ = null;
            onChanged();
          }
        } else {
          if (fastTextCase_ == 22) {
            fastTextCase_ = 0;
            fastText_ = null;
          }
          twilightPostItemBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      public EventOuterClass.Event.TwilightPostItem.Builder getTwilightPostItemBuilder() {
        return getTwilightPostItemFieldBuilder().getBuilder();
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      @java.lang.Override
      public EventOuterClass.Event.TwilightPostItemOrBuilder getTwilightPostItemOrBuilder() {
        if ((fastTextCase_ == 22) && (twilightPostItemBuilder_ != null)) {
          return twilightPostItemBuilder_.getMessageOrBuilder();
        } else {
          if (fastTextCase_ == 22) {
            return (EventOuterClass.Event.TwilightPostItem) fastText_;
          }
          return EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
        }
      }
      /**
       * <code>.Event.TwilightPostItem twilightPostItem = 22;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          EventOuterClass.Event.TwilightPostItem, EventOuterClass.Event.TwilightPostItem.Builder, EventOuterClass.Event.TwilightPostItemOrBuilder> 
          getTwilightPostItemFieldBuilder() {
        if (twilightPostItemBuilder_ == null) {
          if (!(fastTextCase_ == 22)) {
            fastText_ = EventOuterClass.Event.TwilightPostItem.getDefaultInstance();
          }
          twilightPostItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              EventOuterClass.Event.TwilightPostItem, EventOuterClass.Event.TwilightPostItem.Builder, EventOuterClass.Event.TwilightPostItemOrBuilder>(
                  (EventOuterClass.Event.TwilightPostItem) fastText_,
                  getParentForChildren(),
                  isClean());
          fastText_ = null;
        }
        fastTextCase_ = 22;
        onChanged();
        return twilightPostItemBuilder_;
      }
      @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:Event)
    }

    // @@protoc_insertion_point(class_scope:Event)
    private static final EventOuterClass.Event DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new EventOuterClass.Event();
    }

    public static EventOuterClass.Event getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<Event>
        PARSER = new com.google.protobuf.AbstractParser<Event>() {
      @java.lang.Override
      public Event parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

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

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

    @java.lang.Override
    public EventOuterClass.Event getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightCallNet_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightCallNet_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightCallNet_CallNetItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightCallNet_CallNetItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightCallNet_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightCallNet_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_NetDrawing_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_NetDrawing_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_DrawingComponent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_DrawingComponent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightIOInput_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightIOInput_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightIOInput_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightIOInput_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightIOJudge_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightIOJudge_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightIOJudge_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightIOJudge_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightIOJudgmentMeter_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightIOJudgmentMeter_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightIOJudgmentMeter_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightIOJudgmentMeter_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightIONoteVisibility_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightIONoteVisibility_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightIONoteVisibility_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightIONoteVisibility_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightIOMultiplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightIOMultiplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightIOMultiplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightIOMultiplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightIOAudioMultiplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightIOAudioMultiplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightIOAudioMultiplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightIOAudioMultiplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightAudioInput_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightAudioInput_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_QwilightPostItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_QwilightPostItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_Event_TwilightPostItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_Event_TwilightPostItem_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\013Event.proto\"\3760\n\005Event\022\016\n\006millis\030\001 \001(\003\022" +
      "\020\n\010avatarID\030\002 \001(\t\022\037\n\007eventID\030\003 \001(\0162\016.Eve" +
      "nt.EventID\022\014\n\004text\030\004 \001(\t\022\014\n\004data\030\005 \003(\014\0221" +
      "\n\017qwilightCallNet\030\006 \001(\0132\026.Event.Qwilight" +
      "CallNetH\000\0221\n\017twilightCallNet\030\007 \001(\0132\026.Eve" +
      "nt.TwilightCallNetH\000\0221\n\017qwilightIOInput\030" +
      "\010 \001(\0132\026.Event.QwilightIOInputH\000\0221\n\017twili" +
      "ghtIOInput\030\t \001(\0132\026.Event.TwilightIOInput" +
      "H\000\0221\n\017qwilightIOJudge\030\n \001(\0132\026.Event.Qwil" +
      "ightIOJudgeH\000\0221\n\017twilightIOJudge\030\013 \001(\0132\026" +
      ".Event.TwilightIOJudgeH\000\022A\n\027qwilightIOJu" +
      "dgmentMeter\030\014 \001(\0132\036.Event.QwilightIOJudg" +
      "mentMeterH\000\022A\n\027twilightIOJudgmentMeter\030\r" +
      " \001(\0132\036.Event.TwilightIOJudgmentMeterH\000\022C" +
      "\n\030qwilightIONoteVisibility\030\016 \001(\0132\037.Event" +
      ".QwilightIONoteVisibilityH\000\022C\n\030twilightI" +
      "ONoteVisibility\030\017 \001(\0132\037.Event.TwilightIO" +
      "NoteVisibilityH\000\022;\n\024qwilightIOMultiplier" +
      "\030\020 \001(\0132\033.Event.QwilightIOMultiplierH\000\022;\n" +
      "\024twilightIOMultiplier\030\021 \001(\0132\033.Event.Twil" +
      "ightIOMultiplierH\000\022E\n\031qwilightIOAudioMul" +
      "tiplier\030\022 \001(\0132 .Event.QwilightIOAudioMul" +
      "tiplierH\000\022E\n\031twilightIOAudioMultiplier\030\023" +
      " \001(\0132 .Event.TwilightIOAudioMultiplierH\000" +
      "\0227\n\022twilightAudioInput\030\024 \001(\0132\031.Event.Twi" +
      "lightAudioInputH\000\0223\n\020qwilightPostItem\030\025 " +
      "\001(\0132\027.Event.QwilightPostItemH\000\0223\n\020twilig" +
      "htPostItem\030\026 \001(\0132\027.Event.TwilightPostIte" +
      "mH\000\032\251\003\n\017TwilightCallNet\022\021\n\thandlerID\030\001 \001" +
      "(\t\0220\n\004data\030\002 \003(\0132\".Event.TwilightCallNet" +
      ".CallNetItem\032\320\002\n\013CallNetItem\022/\n\017avatarNe" +
      "tStatus\030\001 \001(\0162\026.Event.AvatarNetStatus\022\020\n" +
      "\010avatarID\030\002 \001(\t\022\022\n\navatarName\030\003 \001(\t\022\r\n\005s" +
      "tand\030\004 \001(\005\022\014\n\004band\030\005 \001(\005\022\r\n\005point\030\006 \001(\001\022" +
      "\021\n\thitPoints\030\007 \001(\001\022\020\n\010isFailed\030\010 \001(\010\022\022\n\n" +
      "lastJudged\030\t \001(\005\022\025\n\rhitPointsMode\030\n \001(\005\022" +
      "\026\n\016targetPosition\030\013 \001(\005\022#\n\010drawings\030\014 \003(" +
      "\0132\021.Event.NetDrawing\0221\n\020drawingComponent" +
      "\030\r \001(\0132\027.Event.DrawingComponent\032\237\n\n\017Qwil" +
      "ightCallNet\022\016\n\006siteID\030\001 \001(\t\022\021\n\thandlerID" +
      "\030\002 \001(\t\022/\n\017avatarNetStatus\030\003 \001(\0162\026.Event." +
      "AvatarNetStatus\022\r\n\005stand\030\004 \001(\005\022\023\n\013highes" +
      "tBand\030\005 \001(\005\022\r\n\005point\030\006 \001(\001\022\021\n\thitPoints\030" +
      "\007 \001(\001\022\020\n\010isFailed\030\010 \001(\010\022\022\n\nlastJudged\030\t " +
      "\001(\005\022#\n\010drawings\030\n \003(\0132\021.Event.NetDrawing" +
      "\0221\n\020drawingComponent\030\013 \001(\0132\027.Event.Drawi" +
      "ngComponent\022\r\n\005title\030\014 \001(\t\022\016\n\006artist\030\r \001" +
      "(\t\022\r\n\005genre\030\016 \001(\t\022\r\n\005level\030\017 \001(\005\022\021\n\tleve" +
      "lText\030\020 \001(\t\022\023\n\013wantLevelID\030\021 \001(\t\022\020\n\010auto" +
      "Mode\030\022 \001(\005\022\024\n\014noteSaltMode\030\023 \001(\005\022\027\n\017audi" +
      "oMultiplier\030\024 \001(\001\022\025\n\rfaintNoteMode\030\025 \001(\005" +
      "\022\024\n\014judgmentMode\030\026 \001(\005\022\025\n\rhitPointsMode\030" +
      "\027 \001(\005\022\030\n\020noteMobilityMode\030\030 \001(\005\022\024\n\014longN" +
      "oteMode\030\031 \001(\005\022\026\n\016inputFavorMode\030\032 \001(\005\022\026\n" +
      "\016noteModifyMode\030\033 \001(\005\022\017\n\007bpmMode\030\034 \001(\005\022\020" +
      "\n\010waveMode\030\035 \001(\005\022\023\n\013setNoteMode\030\036 \001(\005\022#\n" +
      "\033lowestJudgmentConditionMode\030\037 \001(\005\022\022\n\nto" +
      "talNotes\030  \001(\005\022\025\n\rjudgmentStage\030! \001(\001\022\026\n" +
      "\016hitPointsValue\030\" \001(\001\022\031\n\021highestInputCou" +
      "nt\030# \001(\005\022\016\n\006length\030$ \001(\001\022\013\n\003bpm\030% \001(\001\022\022\n" +
      "\nmultiplier\030& \001(\001\022\021\n\tinputMode\030\' \001(\005\022\030\n\020" +
      "highestJudgment0\030( \001(\001\022\027\n\017higherJudgment" +
      "0\030) \001(\001\022\025\n\rhighJudgment0\030* \001(\001\022\024\n\014lowJud" +
      "gment0\030+ \001(\001\022\026\n\016lowerJudgment0\030, \001(\001\022\027\n\017" +
      "lowestJudgment0\030- \001(\001\022\030\n\020highestJudgment" +
      "1\030. \001(\001\022\027\n\017higherJudgment1\030/ \001(\001\022\025\n\rhigh" +
      "Judgment1\0300 \001(\001\022\024\n\014lowJudgment1\0301 \001(\001\022\026\n" +
      "\016lowerJudgment1\0302 \001(\001\022\027\n\017lowestJudgment1" +
      "\0303 \001(\001\022\027\n\017highestJudgment\0304 \001(\005\022\026\n\016highe" +
      "rJudgment\0305 \001(\005\022\024\n\014highJudgment\0306 \001(\005\022\023\n" +
      "\013lowJudgment\0307 \001(\005\022\025\n\rlowerJudgment\0308 \001(" +
      "\005\022\026\n\016lowestJudgment\0309 \001(\005\032\276\001\n\nNetDrawing" +
      "\0221\n\016drawingVariety\030\001 \001(\0162\031.Event.NetDraw" +
      "ing.Variety\022\r\n\005param\030\002 \001(\r\022\021\n\tposition0\030" +
      "\003 \001(\001\022\021\n\tposition1\030\004 \001(\001\022\016\n\006length\030\005 \001(\001" +
      "\022\016\n\006height\030\006 \001(\001\"(\n\007Variety\022\010\n\004Note\020\000\022\010\n" +
      "\004Main\020\001\022\t\n\005Meter\020\002\032G\n\020DrawingComponent\022\025" +
      "\n\rp2BuiltLength\030\001 \001(\002\022\034\n\024judgmentMainPos" +
      "ition\030\002 \001(\002\032U\n\017QwilightIOInput\022\021\n\tavatar" +
      "IDs\030\001 \003(\t\022\021\n\thandlerID\030\002 \001(\t\022\r\n\005input\030\003 " +
      "\001(\005\022\r\n\005power\030\004 \001(\005\032B\n\017TwilightIOInput\022\021\n" +
      "\thandlerID\030\001 \001(\t\022\r\n\005input\030\002 \001(\005\022\r\n\005power" +
      "\030\003 \001(\005\032W\n\017QwilightIOJudge\022\021\n\tavatarIDs\030\001" +
      " \003(\t\022\021\n\thandlerID\030\002 \001(\t\022\016\n\006noteID\030\003 \001(\005\022" +
      "\016\n\006judged\030\004 \001(\005\032D\n\017TwilightIOJudge\022\021\n\tha" +
      "ndlerID\030\001 \001(\t\022\016\n\006noteID\030\002 \001(\005\022\016\n\006judged\030" +
      "\003 \001(\005\032u\n\027QwilightIOJudgmentMeter\022\021\n\tavat" +
      "arIDs\030\001 \003(\t\022\021\n\thandlerID\030\002 \001(\t\022\r\n\005input\030" +
      "\003 \001(\005\022\025\n\rjudgmentMeter\030\004 \001(\001\022\016\n\006assist\030\005" +
      " \001(\005\032b\n\027TwilightIOJudgmentMeter\022\021\n\thandl" +
      "erID\030\001 \001(\t\022\r\n\005input\030\002 \001(\005\022\025\n\rjudgmentMet" +
      "er\030\003 \001(\001\022\016\n\006assist\030\004 \001(\005\032\204\001\n\030QwilightION" +
      "oteVisibility\022\021\n\tavatarIDs\030\001 \003(\t\022\021\n\thand" +
      "lerID\030\002 \001(\t\022\016\n\006noteID\030\003 \001(\005\022\033\n\023setValidJ" +
      "udgedNotes\030\004 \001(\010\022\025\n\rsetNoteFailed\030\005 \001(\010\032" +
      "q\n\030TwilightIONoteVisibility\022\021\n\thandlerID" +
      "\030\001 \001(\t\022\016\n\006noteID\030\002 \001(\005\022\033\n\023setValidJudged" +
      "Notes\030\003 \001(\010\022\025\n\rsetNoteFailed\030\004 \001(\010\032P\n\024Qw" +
      "ilightIOMultiplier\022\021\n\tavatarIDs\030\001 \003(\t\022\021\n" +
      "\thandlerID\030\002 \001(\t\022\022\n\nmultiplier\030\003 \001(\001\032=\n\024" +
      "TwilightIOMultiplier\022\021\n\thandlerID\030\001 \001(\t\022" +
      "\022\n\nmultiplier\030\002 \001(\001\032Z\n\031QwilightIOAudioMu" +
      "ltiplier\022\021\n\tavatarIDs\030\001 \003(\t\022\021\n\thandlerID" +
      "\030\002 \001(\t\022\027\n\017audioMultiplier\030\003 \001(\001\032G\n\031Twili" +
      "ghtIOAudioMultiplier\022\021\n\thandlerID\030\001 \001(\t\022" +
      "\027\n\017audioMultiplier\030\002 \001(\001\0326\n\022TwilightAudi" +
      "oInput\022\016\n\006siteID\030\001 \001(\t\022\020\n\010avatarID\030\002 \001(\t" +
      "\032\206\001\n\020QwilightPostItem\022\016\n\006siteID\030\001 \001(\t\022\021\n" +
      "\thandlerID\030\002 \001(\t\022\022\n\npostedItem\030\003 \001(\005\022\022\n\n" +
      "isPositive\030\004 \001(\005\022\022\n\nlowestWait\030\005 \001(\001\022\023\n\013" +
      "highestWait\030\006 \001(\001\032[\n\020TwilightPostItem\022\021\n" +
      "\thandlerID\030\001 \001(\t\022\022\n\npostedItem\030\002 \001(\005\022\022\n\n" +
      "avatarName\030\003 \001(\t\022\014\n\004wait\030\004 \001(\001\"5\n\017Avatar" +
      "NetStatus\022\013\n\007Default\020\000\022\t\n\005Clear\020\001\022\n\n\006Fai" +
      "led\020\002\"\252\r\n\007EventID\022\013\n\007SIGN_IN\020\000\022\017\n\013NOT_SI" +
      "GN_IN\020\001\022\013\n\007WARNING\020\002\022\r\n\tSITE_YELL\020\003\022\017\n\013C" +
      "ALL_BUNDLE\020\004\022\022\n\016SAVE_AS_BUNDLE\020\005\022\021\n\rSAVI" +
      "NG_BUNDLE\020\006\022\017\n\013WIPE_BUNDLE\020\007\022\016\n\nSET_BUND" +
      "LE\020\010\022\017\n\013CALL_UBUNTU\020\t\022\024\n\020CALL_SITE_AVATA" +
      "R\020\n\022\013\n\007COMMENT\020\013\022\021\n\rSET_SITUATION\020\014\022\r\n\tN" +
      "EW_TITLE\020\r\022\026\n\022STOP_SAVING_BUNDLE\020\016\022\020\n\014SA" +
      "VED_BUNDLE\020\017\022\017\n\013SAVE_BUNDLE\020\020\022\016\n\nENTER_S" +
      "ITE\020\021\022\r\n\tQUIT_SITE\020\022\022\017\n\013WIPE_UBUNTU\020\023\022\014\n" +
      "\010NEW_SITE\020\024\022\016\n\nNEW_UBUNTU\020\025\022\020\n\014EXILE_AVA" +
      "TAR\020\026\022\023\n\017NEW_SILENT_SITE\020\027\022\r\n\tESTABLISH\020" +
      "\030\022\022\n\016CALL_CONFIGURE\020\031\022\021\n\rSET_CONFIGURE\020\032" +
      "\022\017\n\013NOTIFY_INFO\020\033\022\014\n\010LEVY_NET\020\034\022\014\n\010COMPI" +
      "LED\020\035\022\014\n\010CALL_NET\020\036\022\026\n\022SET_MODE_COMPONEN" +
      "T\020\037\022\034\n\030SET_FAVOR_MODE_COMPONENT\020 \022\031\n\025SET" +
      "_VALID_HUNTER_MODE\020!\022\032\n\026CALL_NET_SITE_CO" +
      "MMENTS\020\"\022\021\n\rSET_NOTE_FILE\020#\022\021\n\rSET_SITE_" +
      "NAME\020$\022\021\n\rSET_SITE_HAND\020%\022\014\n\010QUIT_NET\020&\022" +
      "\024\n\020SAVING_AS_BUNDLE\020\'\022\023\n\017SAVED_AS_BUNDLE" +
      "\020(\022\031\n\025STOP_SAVING_AS_BUNDLE\020)\022\025\n\021SAVE_DE" +
      "FAULT_NOTE\020*\022\r\n\tPOST_FILE\020+\022\023\n\017SAVE_DEFA" +
      "ULT_UI\020,\022\036\n\032SET_FAVOR_AUDIO_MULTIPLIER\020-" +
      "\022\021\n\rCALL_SITE_NET\020.\022\016\n\nNOTIFY_YES\020/\022\013\n\007C" +
      "ALL_IO\0200\022\025\n\021CALL_IO_COMPONENT\0201\022\017\n\013COMPI" +
      "LED_IO\0202\022\013\n\007LEVY_IO\0203\022\014\n\010IO_INPUT\0204\022\014\n\010I" +
      "O_JUDGE\0205\022\026\n\022IO_NOTE_VISIBILITY\0206\022\025\n\021IO_" +
      "JUDGMENT_METER\0208\022\021\n\rIO_MULTIPLIER\0209\022\027\n\023I" +
      "O_AUDIO_MULTIPLIER\020:\022\014\n\010IO_PAUSE\020;\022\013\n\007IO" +
      "_QUIT\020<\022\n\n\006IO_NOT\020=\022\017\n\013AUDIO_INPUT\020>\022\034\n\030" +
      "CALL_SITE_MODE_COMPONENT\020?\022\016\n\nCOMMENTARY" +
      "\020A\022\r\n\tWWW_LEVEL\020B\022\020\n\014AVATAR_TITLE\020C\022\035\n\031I" +
      "NVALIDATE_AVATAR_DRAWING\020D\022\033\n\027INVALIDATE" +
      "_AVATAR_TITLE\020E\022\014\n\010LEVEL_UP\020F\022\027\n\023SET_FAV" +
      "OR_NOTE_FILE\020G\022\022\n\016GET_SITE_YELLS\020H\022\020\n\014SE" +
      "T_LANGUAGE\020I\022\021\n\rVALVE_COMMENT\020J\022\016\n\nABILI" +
      "TY_UP\020K\022\t\n\005CLOSE\020L\022\024\n\020UNAVAILABLE_DATE\020M" +
      "\022\017\n\013AVATAR_EDGE\020N\022\032\n\026INVALIDATE_AVATAR_E" +
      "DGE\020O\022\031\n\025FAILED_VALIDATE_TOTEM\020P\022\024\n\020MODI" +
      "FY_SITE_YELL\020Q\022\022\n\016WIPE_SITE_YELL\020R\022\032\n\026AL" +
      "READY_LOADING_BUNDLE\020S\022\r\n\tSET_FAVOR\020T\022\026\n" +
      "\022SET_AUTO_SITE_HAND\020U\022\024\n\020SET_AVATAR_GROU" +
      "P\020V\022\r\n\tPOST_ITEM\020W\022\026\n\022SET_VALID_NET_MODE" +
      "\020X\022\036\n\032SET_ALLOWED_POSTABLE_ITEMS\020YB\n\n\010fa" +
      "stTextb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_Event_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_Event_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_descriptor,
        new java.lang.String[] { "Millis", "AvatarID", "EventID", "Text", "Data", "QwilightCallNet", "TwilightCallNet", "QwilightIOInput", "TwilightIOInput", "QwilightIOJudge", "TwilightIOJudge", "QwilightIOJudgmentMeter", "TwilightIOJudgmentMeter", "QwilightIONoteVisibility", "TwilightIONoteVisibility", "QwilightIOMultiplier", "TwilightIOMultiplier", "QwilightIOAudioMultiplier", "TwilightIOAudioMultiplier", "TwilightAudioInput", "QwilightPostItem", "TwilightPostItem", "FastText", });
    internal_static_Event_TwilightCallNet_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(0);
    internal_static_Event_TwilightCallNet_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightCallNet_descriptor,
        new java.lang.String[] { "HandlerID", "Data", });
    internal_static_Event_TwilightCallNet_CallNetItem_descriptor =
      internal_static_Event_TwilightCallNet_descriptor.getNestedTypes().get(0);
    internal_static_Event_TwilightCallNet_CallNetItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightCallNet_CallNetItem_descriptor,
        new java.lang.String[] { "AvatarNetStatus", "AvatarID", "AvatarName", "Stand", "Band", "Point", "HitPoints", "IsFailed", "LastJudged", "HitPointsMode", "TargetPosition", "Drawings", "DrawingComponent", });
    internal_static_Event_QwilightCallNet_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(1);
    internal_static_Event_QwilightCallNet_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightCallNet_descriptor,
        new java.lang.String[] { "SiteID", "HandlerID", "AvatarNetStatus", "Stand", "HighestBand", "Point", "HitPoints", "IsFailed", "LastJudged", "Drawings", "DrawingComponent", "Title", "Artist", "Genre", "Level", "LevelText", "WantLevelID", "AutoMode", "NoteSaltMode", "AudioMultiplier", "FaintNoteMode", "JudgmentMode", "HitPointsMode", "NoteMobilityMode", "LongNoteMode", "InputFavorMode", "NoteModifyMode", "BpmMode", "WaveMode", "SetNoteMode", "LowestJudgmentConditionMode", "TotalNotes", "JudgmentStage", "HitPointsValue", "HighestInputCount", "Length", "Bpm", "Multiplier", "InputMode", "HighestJudgment0", "HigherJudgment0", "HighJudgment0", "LowJudgment0", "LowerJudgment0", "LowestJudgment0", "HighestJudgment1", "HigherJudgment1", "HighJudgment1", "LowJudgment1", "LowerJudgment1", "LowestJudgment1", "HighestJudgment", "HigherJudgment", "HighJudgment", "LowJudgment", "LowerJudgment", "LowestJudgment", });
    internal_static_Event_NetDrawing_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(2);
    internal_static_Event_NetDrawing_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_NetDrawing_descriptor,
        new java.lang.String[] { "DrawingVariety", "Param", "Position0", "Position1", "Length", "Height", });
    internal_static_Event_DrawingComponent_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(3);
    internal_static_Event_DrawingComponent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_DrawingComponent_descriptor,
        new java.lang.String[] { "P2BuiltLength", "JudgmentMainPosition", });
    internal_static_Event_QwilightIOInput_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(4);
    internal_static_Event_QwilightIOInput_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightIOInput_descriptor,
        new java.lang.String[] { "AvatarIDs", "HandlerID", "Input", "Power", });
    internal_static_Event_TwilightIOInput_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(5);
    internal_static_Event_TwilightIOInput_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightIOInput_descriptor,
        new java.lang.String[] { "HandlerID", "Input", "Power", });
    internal_static_Event_QwilightIOJudge_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(6);
    internal_static_Event_QwilightIOJudge_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightIOJudge_descriptor,
        new java.lang.String[] { "AvatarIDs", "HandlerID", "NoteID", "Judged", });
    internal_static_Event_TwilightIOJudge_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(7);
    internal_static_Event_TwilightIOJudge_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightIOJudge_descriptor,
        new java.lang.String[] { "HandlerID", "NoteID", "Judged", });
    internal_static_Event_QwilightIOJudgmentMeter_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(8);
    internal_static_Event_QwilightIOJudgmentMeter_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightIOJudgmentMeter_descriptor,
        new java.lang.String[] { "AvatarIDs", "HandlerID", "Input", "JudgmentMeter", "Assist", });
    internal_static_Event_TwilightIOJudgmentMeter_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(9);
    internal_static_Event_TwilightIOJudgmentMeter_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightIOJudgmentMeter_descriptor,
        new java.lang.String[] { "HandlerID", "Input", "JudgmentMeter", "Assist", });
    internal_static_Event_QwilightIONoteVisibility_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(10);
    internal_static_Event_QwilightIONoteVisibility_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightIONoteVisibility_descriptor,
        new java.lang.String[] { "AvatarIDs", "HandlerID", "NoteID", "SetValidJudgedNotes", "SetNoteFailed", });
    internal_static_Event_TwilightIONoteVisibility_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(11);
    internal_static_Event_TwilightIONoteVisibility_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightIONoteVisibility_descriptor,
        new java.lang.String[] { "HandlerID", "NoteID", "SetValidJudgedNotes", "SetNoteFailed", });
    internal_static_Event_QwilightIOMultiplier_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(12);
    internal_static_Event_QwilightIOMultiplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightIOMultiplier_descriptor,
        new java.lang.String[] { "AvatarIDs", "HandlerID", "Multiplier", });
    internal_static_Event_TwilightIOMultiplier_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(13);
    internal_static_Event_TwilightIOMultiplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightIOMultiplier_descriptor,
        new java.lang.String[] { "HandlerID", "Multiplier", });
    internal_static_Event_QwilightIOAudioMultiplier_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(14);
    internal_static_Event_QwilightIOAudioMultiplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightIOAudioMultiplier_descriptor,
        new java.lang.String[] { "AvatarIDs", "HandlerID", "AudioMultiplier", });
    internal_static_Event_TwilightIOAudioMultiplier_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(15);
    internal_static_Event_TwilightIOAudioMultiplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightIOAudioMultiplier_descriptor,
        new java.lang.String[] { "HandlerID", "AudioMultiplier", });
    internal_static_Event_TwilightAudioInput_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(16);
    internal_static_Event_TwilightAudioInput_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightAudioInput_descriptor,
        new java.lang.String[] { "SiteID", "AvatarID", });
    internal_static_Event_QwilightPostItem_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(17);
    internal_static_Event_QwilightPostItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_QwilightPostItem_descriptor,
        new java.lang.String[] { "SiteID", "HandlerID", "PostedItem", "IsPositive", "LowestWait", "HighestWait", });
    internal_static_Event_TwilightPostItem_descriptor =
      internal_static_Event_descriptor.getNestedTypes().get(18);
    internal_static_Event_TwilightPostItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Event_TwilightPostItem_descriptor,
        new java.lang.String[] { "HandlerID", "PostedItem", "AvatarName", "Wait", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
