content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // NO CHECKED-IN PROTOBUF GENCODE
  // source: messages.proto
  // Protobuf Java Version: 4.28.2
  
  package finsky.protos;
  
  /**
   * Protobuf type {@code finsky.protos.LibraryUpdateProto}
   */
  public  final class LibraryUpdateProto extends
      com.google.protobuf.GeneratedMessageLite<
          LibraryUpdateProto, LibraryUpdateProto.Builder> implements
      // @@protoc_insertion_point(message_implements:finsky.protos.LibraryUpdateProto)
      LibraryUpdateProtoOrBuilder {
    private LibraryUpdateProto() {
    }
    public interface ClientLibraryStateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:finsky.protos.LibraryUpdateProto.ClientLibraryState)
        com.google.protobuf.MessageLiteOrBuilder {
  
      /**
       * <code>required int32 corpus = 1;</code>
       * @return Whether the corpus field is set.
       */
      boolean hasCorpus();
      /**
       * <code>required int32 corpus = 1;</code>
       * @return The corpus.
       */
      int getCorpus();
  
      /**
       * <code>optional bytes serverToken = 2;</code>
       * @return Whether the serverToken field is set.
       */
      boolean hasServerToken();
      /**
       * <code>optional bytes serverToken = 2;</code>
       * @return The serverToken.
       */
      com.google.protobuf.ByteString getServerToken();
  
      /**
       * <code>required int64 hashCodeSum = 3;</code>
       * @return Whether the hashCodeSum field is set.
       */
      boolean hasHashCodeSum();
      /**
       * <code>required int64 hashCodeSum = 3;</code>
       * @return The hashCodeSum.
       */
      long getHashCodeSum();
  
      /**
       * <code>required int32 librarySize = 4;</code>
       * @return Whether the librarySize field is set.
       */
      boolean hasLibrarySize();
      /**
       * <code>required int32 librarySize = 4;</code>
       * @return The librarySize.
       */
      int getLibrarySize();
  
      /**
       * <code>required string libraryId = 5;</code>
       * @return Whether the libraryId field is set.
       */
      boolean hasLibraryId();
      /**
       * <code>required string libraryId = 5;</code>
       * @return The libraryId.
       */
      java.lang.String getLibraryId();
      /**
       * <code>required string libraryId = 5;</code>
       * @return The bytes for libraryId.
       */
      com.google.protobuf.ByteString
          getLibraryIdBytes();
    }
    /**
     * Protobuf type {@code finsky.protos.LibraryUpdateProto.ClientLibraryState}
     */
    public  static final class ClientLibraryState extends
        com.google.protobuf.GeneratedMessageLite<
            ClientLibraryState, ClientLibraryState.Builder> implements
        // @@protoc_insertion_point(message_implements:finsky.protos.LibraryUpdateProto.ClientLibraryState)
        ClientLibraryStateOrBuilder {
      private ClientLibraryState() {
        serverToken_ = com.google.protobuf.ByteString.EMPTY;
        libraryId_ = "";
      }
      private int bitField0_;
      public static final int CORPUS_FIELD_NUMBER = 1;
      private int corpus_;
      /**
       * <code>required int32 corpus = 1;</code>
       * @return Whether the corpus field is set.
       */
      @java.lang.Override
      public boolean hasCorpus() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required int32 corpus = 1;</code>
       * @return The corpus.
       */
      @java.lang.Override
      public int getCorpus() {
        return corpus_;
      }
      /**
       * <code>required int32 corpus = 1;</code>
       * @param value The corpus to set.
       */
      private void setCorpus(int value) {
        bitField0_ |= 0x00000001;
        corpus_ = value;
      }
      /**
       * <code>required int32 corpus = 1;</code>
       */
      private void clearCorpus() {
        bitField0_ = (bitField0_ & ~0x00000001);
        corpus_ = 0;
      }
  
      public static final int SERVERTOKEN_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString serverToken_;
      /**
       * <code>optional bytes serverToken = 2;</code>
       * @return Whether the serverToken field is set.
       */
      @java.lang.Override
      public boolean hasServerToken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional bytes serverToken = 2;</code>
       * @return The serverToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getServerToken() {
        return serverToken_;
      }
      /**
       * <code>optional bytes serverToken = 2;</code>
       * @param value The serverToken to set.
       */
      private void setServerToken(com.google.protobuf.ByteString value) {
        java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000002;
        serverToken_ = value;
      }
      /**
       * <code>optional bytes serverToken = 2;</code>
       */
      private void clearServerToken() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serverToken_ = getDefaultInstance().getServerToken();
      }
  
      public static final int HASHCODESUM_FIELD_NUMBER = 3;
      private long hashCodeSum_;
      /**
       * <code>required int64 hashCodeSum = 3;</code>
       * @return Whether the hashCodeSum field is set.
       */
      @java.lang.Override
      public boolean hasHashCodeSum() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required int64 hashCodeSum = 3;</code>
       * @return The hashCodeSum.
       */
      @java.lang.Override
      public long getHashCodeSum() {
        return hashCodeSum_;
      }
      /**
       * <code>required int64 hashCodeSum = 3;</code>
       * @param value The hashCodeSum to set.
       */
      private void setHashCodeSum(long value) {
        bitField0_ |= 0x00000004;
        hashCodeSum_ = value;
      }
      /**
       * <code>required int64 hashCodeSum = 3;</code>
       */
      private void clearHashCodeSum() {
        bitField0_ = (bitField0_ & ~0x00000004);
        hashCodeSum_ = 0L;
      }
  
      public static final int LIBRARYSIZE_FIELD_NUMBER = 4;
      private int librarySize_;
      /**
       * <code>required int32 librarySize = 4;</code>
       * @return Whether the librarySize field is set.
       */
      @java.lang.Override
      public boolean hasLibrarySize() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required int32 librarySize = 4;</code>
       * @return The librarySize.
       */
      @java.lang.Override
      public int getLibrarySize() {
        return librarySize_;
      }
      /**
       * <code>required int32 librarySize = 4;</code>
       * @param value The librarySize to set.
       */
      private void setLibrarySize(int value) {
        bitField0_ |= 0x00000008;
        librarySize_ = value;
      }
      /**
       * <code>required int32 librarySize = 4;</code>
       */
      private void clearLibrarySize() {
        bitField0_ = (bitField0_ & ~0x00000008);
        librarySize_ = 0;
      }
  
      public static final int LIBRARYID_FIELD_NUMBER = 5;
      private java.lang.String libraryId_;
      /**
       * <code>required string libraryId = 5;</code>
       * @return Whether the libraryId field is set.
       */
      @java.lang.Override
      public boolean hasLibraryId() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>required string libraryId = 5;</code>
       * @return The libraryId.
       */
      @java.lang.Override
      public java.lang.String getLibraryId() {
        return libraryId_;
      }
      /**
       * <code>required string libraryId = 5;</code>
       * @return The bytes for libraryId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLibraryIdBytes() {
        return com.google.protobuf.ByteString.copyFromUtf8(libraryId_);
      }
      /**
       * <code>required string libraryId = 5;</code>
       * @param value The libraryId to set.
       */
      private void setLibraryId(
          java.lang.String value) {
        java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000010;
        libraryId_ = value;
      }
      /**
       * <code>required string libraryId = 5;</code>
       */
      private void clearLibraryId() {
        bitField0_ = (bitField0_ & ~0x00000010);
        libraryId_ = getDefaultInstance().getLibraryId();
      }
      /**
       * <code>required string libraryId = 5;</code>
       * @param value The bytes for libraryId to set.
       */
      private void setLibraryIdBytes(
          com.google.protobuf.ByteString value) {
        libraryId_ = value.toStringUtf8();
        bitField0_ |= 0x00000010;
      }
  
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }
  
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(finsky.protos.LibraryUpdateProto.ClientLibraryState prototype) {
        return DEFAULT_INSTANCE.createBuilder(prototype);
      }
  
      /**
       * Protobuf type {@code finsky.protos.LibraryUpdateProto.ClientLibraryState}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            finsky.protos.LibraryUpdateProto.ClientLibraryState, Builder> implements
          // @@protoc_insertion_point(builder_implements:finsky.protos.LibraryUpdateProto.ClientLibraryState)
          finsky.protos.LibraryUpdateProto.ClientLibraryStateOrBuilder {
        // Construct using finsky.protos.LibraryUpdateProto.ClientLibraryState.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }
  
  
        /**
         * <code>required int32 corpus = 1;</code>
         * @return Whether the corpus field is set.
         */
        @java.lang.Override
        public boolean hasCorpus() {
          return instance.hasCorpus();
        }
        /**
         * <code>required int32 corpus = 1;</code>
         * @return The corpus.
         */
        @java.lang.Override
        public int getCorpus() {
          return instance.getCorpus();
        }
        /**
         * <code>required int32 corpus = 1;</code>
         * @param value The corpus to set.
         * @return This builder for chaining.
         */
        public Builder setCorpus(int value) {
          copyOnWrite();
          instance.setCorpus(value);
          return this;
        }
        /**
         * <code>required int32 corpus = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearCorpus() {
          copyOnWrite();
          instance.clearCorpus();
          return this;
        }
  
        /**
         * <code>optional bytes serverToken = 2;</code>
         * @return Whether the serverToken field is set.
         */
        @java.lang.Override
        public boolean hasServerToken() {
          return instance.hasServerToken();
        }
        /**
         * <code>optional bytes serverToken = 2;</code>
         * @return The serverToken.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getServerToken() {
          return instance.getServerToken();
        }
        /**
         * <code>optional bytes serverToken = 2;</code>
         * @param value The serverToken to set.
         * @return This builder for chaining.
         */
        public Builder setServerToken(com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setServerToken(value);
          return this;
        }
        /**
         * <code>optional bytes serverToken = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearServerToken() {
          copyOnWrite();
          instance.clearServerToken();
          return this;
        }
  
        /**
         * <code>required int64 hashCodeSum = 3;</code>
         * @return Whether the hashCodeSum field is set.
         */
        @java.lang.Override
        public boolean hasHashCodeSum() {
          return instance.hasHashCodeSum();
        }
        /**
         * <code>required int64 hashCodeSum = 3;</code>
         * @return The hashCodeSum.
         */
        @java.lang.Override
        public long getHashCodeSum() {
          return instance.getHashCodeSum();
        }
        /**
         * <code>required int64 hashCodeSum = 3;</code>
         * @param value The hashCodeSum to set.
         * @return This builder for chaining.
         */
        public Builder setHashCodeSum(long value) {
          copyOnWrite();
          instance.setHashCodeSum(value);
          return this;
        }
        /**
         * <code>required int64 hashCodeSum = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearHashCodeSum() {
          copyOnWrite();
          instance.clearHashCodeSum();
          return this;
        }
  
        /**
         * <code>required int32 librarySize = 4;</code>
         * @return Whether the librarySize field is set.
         */
        @java.lang.Override
        public boolean hasLibrarySize() {
          return instance.hasLibrarySize();
        }
        /**
         * <code>required int32 librarySize = 4;</code>
         * @return The librarySize.
         */
        @java.lang.Override
        public int getLibrarySize() {
          return instance.getLibrarySize();
        }
        /**
         * <code>required int32 librarySize = 4;</code>
         * @param value The librarySize to set.
         * @return This builder for chaining.
         */
        public Builder setLibrarySize(int value) {
          copyOnWrite();
          instance.setLibrarySize(value);
          return this;
        }
        /**
         * <code>required int32 librarySize = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLibrarySize() {
          copyOnWrite();
          instance.clearLibrarySize();
          return this;
        }
  
        /**
         * <code>required string libraryId = 5;</code>
         * @return Whether the libraryId field is set.
         */
        @java.lang.Override
        public boolean hasLibraryId() {
          return instance.hasLibraryId();
        }
        /**
         * <code>required string libraryId = 5;</code>
         * @return The libraryId.
         */
        @java.lang.Override
        public java.lang.String getLibraryId() {
          return instance.getLibraryId();
        }
        /**
         * <code>required string libraryId = 5;</code>
         * @return The bytes for libraryId.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getLibraryIdBytes() {
          return instance.getLibraryIdBytes();
        }
        /**
         * <code>required string libraryId = 5;</code>
         * @param value The libraryId to set.
         * @return This builder for chaining.
         */
        public Builder setLibraryId(
            java.lang.String value) {
          copyOnWrite();
          instance.setLibraryId(value);
          return this;
        }
        /**
         * <code>required string libraryId = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearLibraryId() {
          copyOnWrite();
          instance.clearLibraryId();
          return this;
        }
        /**
         * <code>required string libraryId = 5;</code>
         * @param value The bytes for libraryId to set.
         * @return This builder for chaining.
         */
        public Builder setLibraryIdBytes(
            com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setLibraryIdBytes(value);
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:finsky.protos.LibraryUpdateProto.ClientLibraryState)
      }
      private byte memoizedIsInitialized = 2;
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new finsky.protos.LibraryUpdateProto.ClientLibraryState();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "bitField0_",
                "corpus_",
                "serverToken_",
                "hashCodeSum_",
                "librarySize_",
                "libraryId_",
              };
              java.lang.String info =
                  "\u0001\u0005\u0000\u0001\u0001\u0005\u0005\u0000\u0000\u0004\u0001\u1504\u0000\u0002" +
                  "\u100a\u0001\u0003\u1502\u0002\u0004\u1504\u0003\u0005\u1508\u0004";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<finsky.protos.LibraryUpdateProto.ClientLibraryState> parser = PARSER;
            if (parser == null) {
              synchronized (finsky.protos.LibraryUpdateProto.ClientLibraryState.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<finsky.protos.LibraryUpdateProto.ClientLibraryState>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return memoizedIsInitialized;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }
  
  
      // @@protoc_insertion_point(class_scope:finsky.protos.LibraryUpdateProto.ClientLibraryState)
      private static final finsky.protos.LibraryUpdateProto.ClientLibraryState DEFAULT_INSTANCE;
      static {
        ClientLibraryState defaultInstance = new ClientLibraryState();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          ClientLibraryState.class, defaultInstance);
      }
  
      public static finsky.protos.LibraryUpdateProto.ClientLibraryState getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static volatile com.google.protobuf.Parser<ClientLibraryState> PARSER;
  
      public static com.google.protobuf.Parser<ClientLibraryState> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }
  
    public interface LibraryAppDetailsOrBuilder extends
        // @@protoc_insertion_point(interface_extends:finsky.protos.LibraryUpdateProto.LibraryAppDetails)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * Protobuf type {@code finsky.protos.LibraryUpdateProto.LibraryAppDetails}
     */
    public  static final class LibraryAppDetails extends
        com.google.protobuf.GeneratedMessageLite<
            LibraryAppDetails, LibraryAppDetails.Builder> implements
        // @@protoc_insertion_point(message_implements:finsky.protos.LibraryUpdateProto.LibraryAppDetails)
        LibraryAppDetailsOrBuilder {
      private LibraryAppDetails() {
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(finsky.protos.LibraryUpdateProto.LibraryAppDetails prototype) {
        return DEFAULT_INSTANCE.createBuilder(prototype);
      }
  
      /**
       * Protobuf type {@code finsky.protos.LibraryUpdateProto.LibraryAppDetails}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            finsky.protos.LibraryUpdateProto.LibraryAppDetails, Builder> implements
          // @@protoc_insertion_point(builder_implements:finsky.protos.LibraryUpdateProto.LibraryAppDetails)
          finsky.protos.LibraryUpdateProto.LibraryAppDetailsOrBuilder {
        // Construct using finsky.protos.LibraryUpdateProto.LibraryAppDetails.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }
  
  
        // @@protoc_insertion_point(builder_scope:finsky.protos.LibraryUpdateProto.LibraryAppDetails)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new finsky.protos.LibraryUpdateProto.LibraryAppDetails();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0001\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<finsky.protos.LibraryUpdateProto.LibraryAppDetails> parser = PARSER;
            if (parser == null) {
              synchronized (finsky.protos.LibraryUpdateProto.LibraryAppDetails.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<finsky.protos.LibraryUpdateProto.LibraryAppDetails>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }
  
  
      // @@protoc_insertion_point(class_scope:finsky.protos.LibraryUpdateProto.LibraryAppDetails)
      private static final finsky.protos.LibraryUpdateProto.LibraryAppDetails DEFAULT_INSTANCE;
      static {
        LibraryAppDetails defaultInstance = new LibraryAppDetails();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          LibraryAppDetails.class, defaultInstance);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryAppDetails getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static volatile com.google.protobuf.Parser<LibraryAppDetails> PARSER;
  
      public static com.google.protobuf.Parser<LibraryAppDetails> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }
  
    public interface LibraryMutationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:finsky.protos.LibraryUpdateProto.LibraryMutation)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * Protobuf type {@code finsky.protos.LibraryUpdateProto.LibraryMutation}
     */
    public  static final class LibraryMutation extends
        com.google.protobuf.GeneratedMessageLite<
            LibraryMutation, LibraryMutation.Builder> implements
        // @@protoc_insertion_point(message_implements:finsky.protos.LibraryUpdateProto.LibraryMutation)
        LibraryMutationOrBuilder {
      private LibraryMutation() {
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryMutation parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(finsky.protos.LibraryUpdateProto.LibraryMutation prototype) {
        return DEFAULT_INSTANCE.createBuilder(prototype);
      }
  
      /**
       * Protobuf type {@code finsky.protos.LibraryUpdateProto.LibraryMutation}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            finsky.protos.LibraryUpdateProto.LibraryMutation, Builder> implements
          // @@protoc_insertion_point(builder_implements:finsky.protos.LibraryUpdateProto.LibraryMutation)
          finsky.protos.LibraryUpdateProto.LibraryMutationOrBuilder {
        // Construct using finsky.protos.LibraryUpdateProto.LibraryMutation.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }
  
  
        // @@protoc_insertion_point(builder_scope:finsky.protos.LibraryUpdateProto.LibraryMutation)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new finsky.protos.LibraryUpdateProto.LibraryMutation();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0001\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<finsky.protos.LibraryUpdateProto.LibraryMutation> parser = PARSER;
            if (parser == null) {
              synchronized (finsky.protos.LibraryUpdateProto.LibraryMutation.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<finsky.protos.LibraryUpdateProto.LibraryMutation>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }
  
  
      // @@protoc_insertion_point(class_scope:finsky.protos.LibraryUpdateProto.LibraryMutation)
      private static final finsky.protos.LibraryUpdateProto.LibraryMutation DEFAULT_INSTANCE;
      static {
        LibraryMutation defaultInstance = new LibraryMutation();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          LibraryMutation.class, defaultInstance);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryMutation getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static volatile com.google.protobuf.Parser<LibraryMutation> PARSER;
  
      public static com.google.protobuf.Parser<LibraryMutation> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }
  
    public interface LibraryUpdateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:finsky.protos.LibraryUpdateProto.LibraryUpdate)
        com.google.protobuf.MessageLiteOrBuilder {
  
      /**
       * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
       * @return Whether the status field is set.
       */
      boolean hasStatus();
      /**
       * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
       * @return The status.
       */
      finsky.protos.LibraryUpdateProto.LibraryUpdate.Status getStatus();
  
      /**
       * <code>optional int32 corpus = 2;</code>
       * @return Whether the corpus field is set.
       */
      boolean hasCorpus();
      /**
       * <code>optional int32 corpus = 2;</code>
       * @return The corpus.
       */
      int getCorpus();
  
      /**
       * <code>optional bytes serverToken = 3;</code>
       * @return Whether the serverToken field is set.
       */
      boolean hasServerToken();
      /**
       * <code>optional bytes serverToken = 3;</code>
       * @return The serverToken.
       */
      com.google.protobuf.ByteString getServerToken();
  
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      java.util.List<finsky.protos.LibraryUpdateProto.LibraryMutation> 
          getMutationList();
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      finsky.protos.LibraryUpdateProto.LibraryMutation getMutation(int index);
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      int getMutationCount();
  
      /**
       * <code>optional bool hasMore = 5;</code>
       * @return Whether the hasMore field is set.
       */
      boolean hasHasMore();
      /**
       * <code>optional bool hasMore = 5;</code>
       * @return The hasMore.
       */
      boolean getHasMore();
  
      /**
       * <code>optional string libraryId = 6;</code>
       * @return Whether the libraryId field is set.
       */
      boolean hasLibraryId();
      /**
       * <code>optional string libraryId = 6;</code>
       * @return The libraryId.
       */
      java.lang.String getLibraryId();
      /**
       * <code>optional string libraryId = 6;</code>
       * @return The bytes for libraryId.
       */
      com.google.protobuf.ByteString
          getLibraryIdBytes();
    }
    /**
     * Protobuf type {@code finsky.protos.LibraryUpdateProto.LibraryUpdate}
     */
    public  static final class LibraryUpdate extends
        com.google.protobuf.GeneratedMessageLite<
            LibraryUpdate, LibraryUpdate.Builder> implements
        // @@protoc_insertion_point(message_implements:finsky.protos.LibraryUpdateProto.LibraryUpdate)
        LibraryUpdateOrBuilder {
      private LibraryUpdate() {
        status_ = 1;
        serverToken_ = com.google.protobuf.ByteString.EMPTY;
        mutation_ = emptyProtobufList();
        libraryId_ = "";
      }
      /**
       * Protobuf enum {@code finsky.protos.LibraryUpdateProto.LibraryUpdate.Status}
       */
      public enum Status
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>LIBRARY_UPDATE_STATUS_1 = 1;</code>
         */
        LIBRARY_UPDATE_STATUS_1(1),
        ;
  
        /**
         * <code>LIBRARY_UPDATE_STATUS_1 = 1;</code>
         */
        public static final int LIBRARY_UPDATE_STATUS_1_VALUE = 1;
  
  
        @java.lang.Override
        public final int getNumber() {
          return 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 Status valueOf(int value) {
          return forNumber(value);
        }
  
        public static Status forNumber(int value) {
          switch (value) {
            case 1: return LIBRARY_UPDATE_STATUS_1;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Status>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Status> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Status>() {
                @java.lang.Override
                public Status findValueByNumber(int number) {
                  return Status.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return StatusVerifier.INSTANCE;
        }
  
        private static final class StatusVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new StatusVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return Status.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private Status(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:finsky.protos.LibraryUpdateProto.LibraryUpdate.Status)
      }
  
      private int bitField0_;
      public static final int STATUS_FIELD_NUMBER = 1;
      private int status_;
      /**
       * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
       * @return Whether the status field is set.
       */
      @java.lang.Override
      public boolean hasStatus() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
       * @return The status.
       */
      @java.lang.Override
      public finsky.protos.LibraryUpdateProto.LibraryUpdate.Status getStatus() {
        finsky.protos.LibraryUpdateProto.LibraryUpdate.Status result = finsky.protos.LibraryUpdateProto.LibraryUpdate.Status.forNumber(status_);
        return result == null ? finsky.protos.LibraryUpdateProto.LibraryUpdate.Status.LIBRARY_UPDATE_STATUS_1 : result;
      }
      /**
       * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
       * @param value The status to set.
       */
      private void setStatus(finsky.protos.LibraryUpdateProto.LibraryUpdate.Status value) {
        status_ = value.getNumber();
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
       */
      private void clearStatus() {
        bitField0_ = (bitField0_ & ~0x00000001);
        status_ = 1;
      }
  
      public static final int CORPUS_FIELD_NUMBER = 2;
      private int corpus_;
      /**
       * <code>optional int32 corpus = 2;</code>
       * @return Whether the corpus field is set.
       */
      @java.lang.Override
      public boolean hasCorpus() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional int32 corpus = 2;</code>
       * @return The corpus.
       */
      @java.lang.Override
      public int getCorpus() {
        return corpus_;
      }
      /**
       * <code>optional int32 corpus = 2;</code>
       * @param value The corpus to set.
       */
      private void setCorpus(int value) {
        bitField0_ |= 0x00000002;
        corpus_ = value;
      }
      /**
       * <code>optional int32 corpus = 2;</code>
       */
      private void clearCorpus() {
        bitField0_ = (bitField0_ & ~0x00000002);
        corpus_ = 0;
      }
  
      public static final int SERVERTOKEN_FIELD_NUMBER = 3;
      private com.google.protobuf.ByteString serverToken_;
      /**
       * <code>optional bytes serverToken = 3;</code>
       * @return Whether the serverToken field is set.
       */
      @java.lang.Override
      public boolean hasServerToken() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bytes serverToken = 3;</code>
       * @return The serverToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getServerToken() {
        return serverToken_;
      }
      /**
       * <code>optional bytes serverToken = 3;</code>
       * @param value The serverToken to set.
       */
      private void setServerToken(com.google.protobuf.ByteString value) {
        java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000004;
        serverToken_ = value;
      }
      /**
       * <code>optional bytes serverToken = 3;</code>
       */
      private void clearServerToken() {
        bitField0_ = (bitField0_ & ~0x00000004);
        serverToken_ = getDefaultInstance().getServerToken();
      }
  
      public static final int MUTATION_FIELD_NUMBER = 4;
      private com.google.protobuf.Internal.ProtobufList<finsky.protos.LibraryUpdateProto.LibraryMutation> mutation_;
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      @java.lang.Override
      public java.util.List<finsky.protos.LibraryUpdateProto.LibraryMutation> getMutationList() {
        return mutation_;
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      public java.util.List<? extends finsky.protos.LibraryUpdateProto.LibraryMutationOrBuilder> 
          getMutationOrBuilderList() {
        return mutation_;
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      @java.lang.Override
      public int getMutationCount() {
        return mutation_.size();
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      @java.lang.Override
      public finsky.protos.LibraryUpdateProto.LibraryMutation getMutation(int index) {
        return mutation_.get(index);
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      public finsky.protos.LibraryUpdateProto.LibraryMutationOrBuilder getMutationOrBuilder(
          int index) {
        return mutation_.get(index);
      }
      private void ensureMutationIsMutable() {
        com.google.protobuf.Internal.ProtobufList<finsky.protos.LibraryUpdateProto.LibraryMutation> tmp = mutation_;
        if (!tmp.isModifiable()) {
          mutation_ =
              com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
         }
      }
  
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      private void setMutation(
          int index, finsky.protos.LibraryUpdateProto.LibraryMutation value) {
        value.getClass();
    ensureMutationIsMutable();
        mutation_.set(index, value);
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      private void addMutation(finsky.protos.LibraryUpdateProto.LibraryMutation value) {
        value.getClass();
    ensureMutationIsMutable();
        mutation_.add(value);
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      private void addMutation(
          int index, finsky.protos.LibraryUpdateProto.LibraryMutation value) {
        value.getClass();
    ensureMutationIsMutable();
        mutation_.add(index, value);
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      private void addAllMutation(
          java.lang.Iterable<? extends finsky.protos.LibraryUpdateProto.LibraryMutation> values) {
        ensureMutationIsMutable();
        com.google.protobuf.AbstractMessageLite.addAll(
            values, mutation_);
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      private void clearMutation() {
        mutation_ = emptyProtobufList();
      }
      /**
       * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
       */
      private void removeMutation(int index) {
        ensureMutationIsMutable();
        mutation_.remove(index);
      }
  
      public static final int HASMORE_FIELD_NUMBER = 5;
      private boolean hasMore_;
      /**
       * <code>optional bool hasMore = 5;</code>
       * @return Whether the hasMore field is set.
       */
      @java.lang.Override
      public boolean hasHasMore() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional bool hasMore = 5;</code>
       * @return The hasMore.
       */
      @java.lang.Override
      public boolean getHasMore() {
        return hasMore_;
      }
      /**
       * <code>optional bool hasMore = 5;</code>
       * @param value The hasMore to set.
       */
      private void setHasMore(boolean value) {
        bitField0_ |= 0x00000008;
        hasMore_ = value;
      }
      /**
       * <code>optional bool hasMore = 5;</code>
       */
      private void clearHasMore() {
        bitField0_ = (bitField0_ & ~0x00000008);
        hasMore_ = false;
      }
  
      public static final int LIBRARYID_FIELD_NUMBER = 6;
      private java.lang.String libraryId_;
      /**
       * <code>optional string libraryId = 6;</code>
       * @return Whether the libraryId field is set.
       */
      @java.lang.Override
      public boolean hasLibraryId() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional string libraryId = 6;</code>
       * @return The libraryId.
       */
      @java.lang.Override
      public java.lang.String getLibraryId() {
        return libraryId_;
      }
      /**
       * <code>optional string libraryId = 6;</code>
       * @return The bytes for libraryId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLibraryIdBytes() {
        return com.google.protobuf.ByteString.copyFromUtf8(libraryId_);
      }
      /**
       * <code>optional string libraryId = 6;</code>
       * @param value The libraryId to set.
       */
      private void setLibraryId(
          java.lang.String value) {
        java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000010;
        libraryId_ = value;
      }
      /**
       * <code>optional string libraryId = 6;</code>
       */
      private void clearLibraryId() {
        bitField0_ = (bitField0_ & ~0x00000010);
        libraryId_ = getDefaultInstance().getLibraryId();
      }
      /**
       * <code>optional string libraryId = 6;</code>
       * @param value The bytes for libraryId to set.
       */
      private void setLibraryIdBytes(
          com.google.protobuf.ByteString value) {
        libraryId_ = value.toStringUtf8();
        bitField0_ |= 0x00000010;
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }
  
      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(finsky.protos.LibraryUpdateProto.LibraryUpdate prototype) {
        return DEFAULT_INSTANCE.createBuilder(prototype);
      }
  
      /**
       * Protobuf type {@code finsky.protos.LibraryUpdateProto.LibraryUpdate}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            finsky.protos.LibraryUpdateProto.LibraryUpdate, Builder> implements
          // @@protoc_insertion_point(builder_implements:finsky.protos.LibraryUpdateProto.LibraryUpdate)
          finsky.protos.LibraryUpdateProto.LibraryUpdateOrBuilder {
        // Construct using finsky.protos.LibraryUpdateProto.LibraryUpdate.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }
  
  
        /**
         * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
         * @return Whether the status field is set.
         */
        @java.lang.Override
        public boolean hasStatus() {
          return instance.hasStatus();
        }
        /**
         * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
         * @return The status.
         */
        @java.lang.Override
        public finsky.protos.LibraryUpdateProto.LibraryUpdate.Status getStatus() {
          return instance.getStatus();
        }
        /**
         * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
         * @param value The enum numeric value on the wire for status to set.
         * @return This builder for chaining.
         */
        public Builder setStatus(finsky.protos.LibraryUpdateProto.LibraryUpdate.Status value) {
          copyOnWrite();
          instance.setStatus(value);
          return this;
        }
        /**
         * <code>optional .finsky.protos.LibraryUpdateProto.LibraryUpdate.Status status = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearStatus() {
          copyOnWrite();
          instance.clearStatus();
          return this;
        }
  
        /**
         * <code>optional int32 corpus = 2;</code>
         * @return Whether the corpus field is set.
         */
        @java.lang.Override
        public boolean hasCorpus() {
          return instance.hasCorpus();
        }
        /**
         * <code>optional int32 corpus = 2;</code>
         * @return The corpus.
         */
        @java.lang.Override
        public int getCorpus() {
          return instance.getCorpus();
        }
        /**
         * <code>optional int32 corpus = 2;</code>
         * @param value The corpus to set.
         * @return This builder for chaining.
         */
        public Builder setCorpus(int value) {
          copyOnWrite();
          instance.setCorpus(value);
          return this;
        }
        /**
         * <code>optional int32 corpus = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearCorpus() {
          copyOnWrite();
          instance.clearCorpus();
          return this;
        }
  
        /**
         * <code>optional bytes serverToken = 3;</code>
         * @return Whether the serverToken field is set.
         */
        @java.lang.Override
        public boolean hasServerToken() {
          return instance.hasServerToken();
        }
        /**
         * <code>optional bytes serverToken = 3;</code>
         * @return The serverToken.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getServerToken() {
          return instance.getServerToken();
        }
        /**
         * <code>optional bytes serverToken = 3;</code>
         * @param value The serverToken to set.
         * @return This builder for chaining.
         */
        public Builder setServerToken(com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setServerToken(value);
          return this;
        }
        /**
         * <code>optional bytes serverToken = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearServerToken() {
          copyOnWrite();
          instance.clearServerToken();
          return this;
        }
  
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        @java.lang.Override
        public java.util.List<finsky.protos.LibraryUpdateProto.LibraryMutation> getMutationList() {
          return java.util.Collections.unmodifiableList(
              instance.getMutationList());
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        @java.lang.Override
        public int getMutationCount() {
          return instance.getMutationCount();
        }/**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        @java.lang.Override
        public finsky.protos.LibraryUpdateProto.LibraryMutation getMutation(int index) {
          return instance.getMutation(index);
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder setMutation(
            int index, finsky.protos.LibraryUpdateProto.LibraryMutation value) {
          copyOnWrite();
          instance.setMutation(index, value);
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder setMutation(
            int index, finsky.protos.LibraryUpdateProto.LibraryMutation.Builder builderForValue) {
          copyOnWrite();
          instance.setMutation(index,
              builderForValue.build());
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder addMutation(finsky.protos.LibraryUpdateProto.LibraryMutation value) {
          copyOnWrite();
          instance.addMutation(value);
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder addMutation(
            int index, finsky.protos.LibraryUpdateProto.LibraryMutation value) {
          copyOnWrite();
          instance.addMutation(index, value);
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder addMutation(
            finsky.protos.LibraryUpdateProto.LibraryMutation.Builder builderForValue) {
          copyOnWrite();
          instance.addMutation(builderForValue.build());
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder addMutation(
            int index, finsky.protos.LibraryUpdateProto.LibraryMutation.Builder builderForValue) {
          copyOnWrite();
          instance.addMutation(index,
              builderForValue.build());
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder addAllMutation(
            java.lang.Iterable<? extends finsky.protos.LibraryUpdateProto.LibraryMutation> values) {
          copyOnWrite();
          instance.addAllMutation(values);
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder clearMutation() {
          copyOnWrite();
          instance.clearMutation();
          return this;
        }
        /**
         * <code>repeated .finsky.protos.LibraryUpdateProto.LibraryMutation mutation = 4;</code>
         */
        public Builder removeMutation(int index) {
          copyOnWrite();
          instance.removeMutation(index);
          return this;
        }
  
        /**
         * <code>optional bool hasMore = 5;</code>
         * @return Whether the hasMore field is set.
         */
        @java.lang.Override
        public boolean hasHasMore() {
          return instance.hasHasMore();
        }
        /**
         * <code>optional bool hasMore = 5;</code>
         * @return The hasMore.
         */
        @java.lang.Override
        public boolean getHasMore() {
          return instance.getHasMore();
        }
        /**
         * <code>optional bool hasMore = 5;</code>
         * @param value The hasMore to set.
         * @return This builder for chaining.
         */
        public Builder setHasMore(boolean value) {
          copyOnWrite();
          instance.setHasMore(value);
          return this;
        }
        /**
         * <code>optional bool hasMore = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearHasMore() {
          copyOnWrite();
          instance.clearHasMore();
          return this;
        }
  
        /**
         * <code>optional string libraryId = 6;</code>
         * @return Whether the libraryId field is set.
         */
        @java.lang.Override
        public boolean hasLibraryId() {
          return instance.hasLibraryId();
        }
        /**
         * <code>optional string libraryId = 6;</code>
         * @return The libraryId.
         */
        @java.lang.Override
        public java.lang.String getLibraryId() {
          return instance.getLibraryId();
        }
        /**
         * <code>optional string libraryId = 6;</code>
         * @return The bytes for libraryId.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getLibraryIdBytes() {
          return instance.getLibraryIdBytes();
        }
        /**
         * <code>optional string libraryId = 6;</code>
         * @param value The libraryId to set.
         * @return This builder for chaining.
         */
        public Builder setLibraryId(
            java.lang.String value) {
          copyOnWrite();
          instance.setLibraryId(value);
          return this;
        }
        /**
         * <code>optional string libraryId = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearLibraryId() {
          copyOnWrite();
          instance.clearLibraryId();
          return this;
        }
        /**
         * <code>optional string libraryId = 6;</code>
         * @param value The bytes for libraryId to set.
         * @return This builder for chaining.
         */
        public Builder setLibraryIdBytes(
            com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setLibraryIdBytes(value);
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:finsky.protos.LibraryUpdateProto.LibraryUpdate)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new finsky.protos.LibraryUpdateProto.LibraryUpdate();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "bitField0_",
                "status_",
                finsky.protos.LibraryUpdateProto.LibraryUpdate.Status.internalGetVerifier(),
                "corpus_",
                "serverToken_",
                "mutation_",
                finsky.protos.LibraryUpdateProto.LibraryMutation.class,
                "hasMore_",
                "libraryId_",
              };
              java.lang.String info =
                  "\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0001\u0000\u0001\u180c\u0000\u0002" +
                  "\u1004\u0001\u0003\u100a\u0002\u0004\u001b\u0005\u1007\u0003\u0006\u1008\u0004";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<finsky.protos.LibraryUpdateProto.LibraryUpdate> parser = PARSER;
            if (parser == null) {
              synchronized (finsky.protos.LibraryUpdateProto.LibraryUpdate.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<finsky.protos.LibraryUpdateProto.LibraryUpdate>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }
  
  
      // @@protoc_insertion_point(class_scope:finsky.protos.LibraryUpdateProto.LibraryUpdate)
      private static final finsky.protos.LibraryUpdateProto.LibraryUpdate DEFAULT_INSTANCE;
      static {
        LibraryUpdate defaultInstance = new LibraryUpdate();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          LibraryUpdate.class, defaultInstance);
      }
  
      public static finsky.protos.LibraryUpdateProto.LibraryUpdate getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static volatile com.google.protobuf.Parser<LibraryUpdate> PARSER;
  
      public static com.google.protobuf.Parser<LibraryUpdate> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }
  
    public static finsky.protos.LibraryUpdateProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static finsky.protos.LibraryUpdateProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
  
    public static finsky.protos.LibraryUpdateProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.LibraryUpdateProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(finsky.protos.LibraryUpdateProto prototype) {
      return DEFAULT_INSTANCE.createBuilder(prototype);
    }
  
    /**
     * Protobuf type {@code finsky.protos.LibraryUpdateProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          finsky.protos.LibraryUpdateProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:finsky.protos.LibraryUpdateProto)
        finsky.protos.LibraryUpdateProtoOrBuilder {
      // Construct using finsky.protos.LibraryUpdateProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }
  
  
      // @@protoc_insertion_point(builder_scope:finsky.protos.LibraryUpdateProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new finsky.protos.LibraryUpdateProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = null;java.lang.String info =
                "\u0001\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<finsky.protos.LibraryUpdateProto> parser = PARSER;
          if (parser == null) {
            synchronized (finsky.protos.LibraryUpdateProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<finsky.protos.LibraryUpdateProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }
  
  
    // @@protoc_insertion_point(class_scope:finsky.protos.LibraryUpdateProto)
    private static final finsky.protos.LibraryUpdateProto DEFAULT_INSTANCE;
    static {
      LibraryUpdateProto defaultInstance = new LibraryUpdateProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        LibraryUpdateProto.class, defaultInstance);
    }
  
    public static finsky.protos.LibraryUpdateProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
  
    private static volatile com.google.protobuf.Parser<LibraryUpdateProto> PARSER;
  
    public static com.google.protobuf.Parser<LibraryUpdateProto> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }
  
  