All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alipay.sofa.jraft.rpc.CliRequests Maven / Gradle / Ivy

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: cli.proto

package com.alipay.sofa.jraft.rpc;

public final class CliRequests {
    private CliRequests() {
    }

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

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * required string peer_id = 3;
         */
        boolean hasPeerId();

        /**
         * required string peer_id = 3;
         */
        java.lang.String getPeerId();

        /**
         * required string peer_id = 3;
         */
        com.google.protobuf.ByteString getPeerIdBytes();
    }

    /**
     * Protobuf type {@code jraft.AddPeerRequest}
     */
    public static final class AddPeerRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.AddPeerRequest)
                                                                                           AddPeerRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use AddPeerRequest.newBuilder() to construct.
        private AddPeerRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private AddPeerRequest() {
            groupId_ = "";
            leaderId_ = "";
            peerId_ = "";
        }

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

        private AddPeerRequest(com.google.protobuf.CodedInputStream input,
                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                           throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000004;
                            peerId_ = bs;
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           PEER_ID_FIELD_NUMBER = 3;
        private volatile java.lang.Object peerId_;

        /**
         * required string peer_id = 3;
         */
        public boolean hasPeerId() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
        }

        /**
         * required string peer_id = 3;
         */
        public java.lang.String getPeerId() {
            java.lang.Object ref = peerId_;
            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();
                if (bs.isValidUtf8()) {
                    peerId_ = s;
                }
                return s;
            }
        }

        /**
         * required string peer_id = 3;
         */
        public com.google.protobuf.ByteString getPeerIdBytes() {
            java.lang.Object ref = peerId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                peerId_ = 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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasPeerId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, peerId_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, peerId_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && (hasPeerId() == other.hasPeerId());
            if (hasPeerId()) {
                result = result && getPeerId().equals(other.getPeerId());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (hasPeerId()) {
                hash = (37 * hash) + PEER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getPeerId().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(java.nio.ByteBuffer data,
                                                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(byte[] data)
                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(byte[] data,
                                                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(java.io.InputStream input)
                                                                                                               throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                        throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest 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 jraft.AddPeerRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.AddPeerRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                peerId_ = "";
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                    to_bitField0_ |= 0x00000004;
                }
                result.peerId_ = peerId_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (other.hasPeerId()) {
                    bitField0_ |= 0x00000004;
                    peerId_ = other.peerId_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                if (!hasPeerId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object peerId_ = "";

            /**
             * required string peer_id = 3;
             */
            public boolean hasPeerId() {
                return ((bitField0_ & 0x00000004) == 0x00000004);
            }

            /**
             * required string peer_id = 3;
             */
            public java.lang.String getPeerId() {
                java.lang.Object ref = peerId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        peerId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string peer_id = 3;
             */
            public com.google.protobuf.ByteString getPeerIdBytes() {
                java.lang.Object ref = peerId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    peerId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string peer_id = 3;
             */
            public Builder setPeerId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                peerId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string peer_id = 3;
             */
            public Builder clearPeerId() {
                bitField0_ = (bitField0_ & ~0x00000004);
                peerId_ = getDefaultInstance().getPeerId();
                onChanged();
                return this;
            }

            /**
             * required string peer_id = 3;
             */
            public Builder setPeerIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                peerId_ = value;
                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:jraft.AddPeerRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.AddPeerRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface AddPeerResponseOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.AddPeerResponse)
                                             com.google.protobuf.MessageOrBuilder {

        /**
         * repeated string old_peers = 1;
         */
        java.util.List getOldPeersList();

        /**
         * repeated string old_peers = 1;
         */
        int getOldPeersCount();

        /**
         * repeated string old_peers = 1;
         */
        java.lang.String getOldPeers(int index);

        /**
         * repeated string old_peers = 1;
         */
        com.google.protobuf.ByteString getOldPeersBytes(int index);

        /**
         * repeated string new_peers = 2;
         */
        java.util.List getNewPeersList();

        /**
         * repeated string new_peers = 2;
         */
        int getNewPeersCount();

        /**
         * repeated string new_peers = 2;
         */
        java.lang.String getNewPeers(int index);

        /**
         * repeated string new_peers = 2;
         */
        com.google.protobuf.ByteString getNewPeersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.AddPeerResponse}
     */
    public static final class AddPeerResponse extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.AddPeerResponse)
                                                                                            AddPeerResponseOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use AddPeerResponse.newBuilder() to construct.
        private AddPeerResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private AddPeerResponse() {
            oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private AddPeerResponse(com.google.protobuf.CodedInputStream input,
                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                            throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                                oldPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000001;
                            }
                            oldPeers_.add(bs);
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                newPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            newPeers_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerResponse_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.Builder.class);
        }

        public static final int                    OLD_PEERS_FIELD_NUMBER = 1;
        private com.google.protobuf.LazyStringList oldPeers_;

        /**
         * repeated string old_peers = 1;
         */
        public com.google.protobuf.ProtocolStringList getOldPeersList() {
            return oldPeers_;
        }

        /**
         * repeated string old_peers = 1;
         */
        public int getOldPeersCount() {
            return oldPeers_.size();
        }

        /**
         * repeated string old_peers = 1;
         */
        public java.lang.String getOldPeers(int index) {
            return oldPeers_.get(index);
        }

        /**
         * repeated string old_peers = 1;
         */
        public com.google.protobuf.ByteString getOldPeersBytes(int index) {
            return oldPeers_.getByteString(index);
        }

        public static final int                    NEW_PEERS_FIELD_NUMBER = 2;
        private com.google.protobuf.LazyStringList newPeers_;

        /**
         * repeated string new_peers = 2;
         */
        public com.google.protobuf.ProtocolStringList getNewPeersList() {
            return newPeers_;
        }

        /**
         * repeated string new_peers = 2;
         */
        public int getNewPeersCount() {
            return newPeers_.size();
        }

        /**
         * repeated string new_peers = 2;
         */
        public java.lang.String getNewPeers(int index) {
            return newPeers_.get(index);
        }

        /**
         * repeated string new_peers = 2;
         */
        public com.google.protobuf.ByteString getNewPeersBytes(int index) {
            return newPeers_.getByteString(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 {
            for (int i = 0; i < oldPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, oldPeers_.getRaw(i));
            }
            for (int i = 0; i < newPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, newPeers_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            {
                int dataSize = 0;
                for (int i = 0; i < oldPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(oldPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOldPeersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < newPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(newPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getNewPeersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse other = (com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse) obj;

            boolean result = true;
            result = result && getOldPeersList().equals(other.getOldPeersList());
            result = result && getNewPeersList().equals(other.getNewPeersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getOldPeersCount() > 0) {
                hash = (37 * hash) + OLD_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getOldPeersList().hashCode();
            }
            if (getNewPeersCount() > 0) {
                hash = (37 * hash) + NEW_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getNewPeersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(java.nio.ByteBuffer data)
                                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(java.nio.ByteBuffer data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(com.google.protobuf.ByteString data)
                                                                                                                          throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(com.google.protobuf.ByteString data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(byte[] data)
                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(byte[] data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(java.io.InputStream input)
                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseDelimitedFrom(java.io.InputStream input)
                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                 throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse 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(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse 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 jraft.AddPeerResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.AddPeerResponse)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerResponse_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddPeerResponse_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse build() {
                com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse result = new com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse(
                    this);
                int from_bitField0_ = bitField0_;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.oldPeers_ = oldPeers_;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.newPeers_ = newPeers_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse.getDefaultInstance())
                    return this;
                if (!other.oldPeers_.isEmpty()) {
                    if (oldPeers_.isEmpty()) {
                        oldPeers_ = other.oldPeers_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensureOldPeersIsMutable();
                        oldPeers_.addAll(other.oldPeers_);
                    }
                    onChanged();
                }
                if (!other.newPeers_.isEmpty()) {
                    if (newPeers_.isEmpty()) {
                        newPeers_ = other.newPeers_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureNewPeersIsMutable();
                        newPeers_.addAll(other.newPeers_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                bitField0_;

            private com.google.protobuf.LazyStringList oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOldPeersIsMutable() {
                if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = new com.google.protobuf.LazyStringArrayList(oldPeers_);
                    bitField0_ |= 0x00000001;
                }
            }

            /**
             * repeated string old_peers = 1;
             */
            public com.google.protobuf.ProtocolStringList getOldPeersList() {
                return oldPeers_.getUnmodifiableView();
            }

            /**
             * repeated string old_peers = 1;
             */
            public int getOldPeersCount() {
                return oldPeers_.size();
            }

            /**
             * repeated string old_peers = 1;
             */
            public java.lang.String getOldPeers(int index) {
                return oldPeers_.get(index);
            }

            /**
             * repeated string old_peers = 1;
             */
            public com.google.protobuf.ByteString getOldPeersBytes(int index) {
                return oldPeers_.getByteString(index);
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder setOldPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addOldPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addAllOldPeers(java.lang.Iterable values) {
                ensureOldPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, oldPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder clearOldPeers() {
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addOldPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureNewPeersIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = new com.google.protobuf.LazyStringArrayList(newPeers_);
                    bitField0_ |= 0x00000002;
                }
            }

            /**
             * repeated string new_peers = 2;
             */
            public com.google.protobuf.ProtocolStringList getNewPeersList() {
                return newPeers_.getUnmodifiableView();
            }

            /**
             * repeated string new_peers = 2;
             */
            public int getNewPeersCount() {
                return newPeers_.size();
            }

            /**
             * repeated string new_peers = 2;
             */
            public java.lang.String getNewPeers(int index) {
                return newPeers_.get(index);
            }

            /**
             * repeated string new_peers = 2;
             */
            public com.google.protobuf.ByteString getNewPeersBytes(int index) {
                return newPeers_.getByteString(index);
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder setNewPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addNewPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addAllNewPeers(java.lang.Iterable values) {
                ensureNewPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, newPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder clearNewPeers() {
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addNewPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                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:jraft.AddPeerResponse)
        }

        // @@protoc_insertion_point(class_scope:jraft.AddPeerResponse)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.AddPeerResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface RemovePeerRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.RemovePeerRequest)
                                               com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * required string peer_id = 3;
         */
        boolean hasPeerId();

        /**
         * required string peer_id = 3;
         */
        java.lang.String getPeerId();

        /**
         * required string peer_id = 3;
         */
        com.google.protobuf.ByteString getPeerIdBytes();
    }

    /**
     * Protobuf type {@code jraft.RemovePeerRequest}
     */
    public static final class RemovePeerRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.RemovePeerRequest)
                                                                                              RemovePeerRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use RemovePeerRequest.newBuilder() to construct.
        private RemovePeerRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private RemovePeerRequest() {
            groupId_ = "";
            leaderId_ = "";
            peerId_ = "";
        }

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

        private RemovePeerRequest(com.google.protobuf.CodedInputStream input,
                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                              throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000004;
                            peerId_ = bs;
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           PEER_ID_FIELD_NUMBER = 3;
        private volatile java.lang.Object peerId_;

        /**
         * required string peer_id = 3;
         */
        public boolean hasPeerId() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
        }

        /**
         * required string peer_id = 3;
         */
        public java.lang.String getPeerId() {
            java.lang.Object ref = peerId_;
            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();
                if (bs.isValidUtf8()) {
                    peerId_ = s;
                }
                return s;
            }
        }

        /**
         * required string peer_id = 3;
         */
        public com.google.protobuf.ByteString getPeerIdBytes() {
            java.lang.Object ref = peerId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                peerId_ = 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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasPeerId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, peerId_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, peerId_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && (hasPeerId() == other.hasPeerId());
            if (hasPeerId()) {
                result = result && getPeerId().equals(other.getPeerId());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (hasPeerId()) {
                hash = (37 * hash) + PEER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getPeerId().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(java.nio.ByteBuffer data,
                                                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                            throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(byte[] data)
                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(byte[] data,
                                                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(java.io.InputStream input)
                                                                                                                  throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                           throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                   throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest 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 jraft.RemovePeerRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.RemovePeerRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                peerId_ = "";
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                    to_bitField0_ |= 0x00000004;
                }
                result.peerId_ = peerId_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (other.hasPeerId()) {
                    bitField0_ |= 0x00000004;
                    peerId_ = other.peerId_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                if (!hasPeerId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object peerId_ = "";

            /**
             * required string peer_id = 3;
             */
            public boolean hasPeerId() {
                return ((bitField0_ & 0x00000004) == 0x00000004);
            }

            /**
             * required string peer_id = 3;
             */
            public java.lang.String getPeerId() {
                java.lang.Object ref = peerId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        peerId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string peer_id = 3;
             */
            public com.google.protobuf.ByteString getPeerIdBytes() {
                java.lang.Object ref = peerId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    peerId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string peer_id = 3;
             */
            public Builder setPeerId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                peerId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string peer_id = 3;
             */
            public Builder clearPeerId() {
                bitField0_ = (bitField0_ & ~0x00000004);
                peerId_ = getDefaultInstance().getPeerId();
                onChanged();
                return this;
            }

            /**
             * required string peer_id = 3;
             */
            public Builder setPeerIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                peerId_ = value;
                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:jraft.RemovePeerRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.RemovePeerRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface RemovePeerResponseOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.RemovePeerResponse)
                                                com.google.protobuf.MessageOrBuilder {

        /**
         * repeated string old_peers = 1;
         */
        java.util.List getOldPeersList();

        /**
         * repeated string old_peers = 1;
         */
        int getOldPeersCount();

        /**
         * repeated string old_peers = 1;
         */
        java.lang.String getOldPeers(int index);

        /**
         * repeated string old_peers = 1;
         */
        com.google.protobuf.ByteString getOldPeersBytes(int index);

        /**
         * repeated string new_peers = 2;
         */
        java.util.List getNewPeersList();

        /**
         * repeated string new_peers = 2;
         */
        int getNewPeersCount();

        /**
         * repeated string new_peers = 2;
         */
        java.lang.String getNewPeers(int index);

        /**
         * repeated string new_peers = 2;
         */
        com.google.protobuf.ByteString getNewPeersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.RemovePeerResponse}
     */
    public static final class RemovePeerResponse extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.RemovePeerResponse)
                                                                                               RemovePeerResponseOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use RemovePeerResponse.newBuilder() to construct.
        private RemovePeerResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private RemovePeerResponse() {
            oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private RemovePeerResponse(com.google.protobuf.CodedInputStream input,
                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                                oldPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000001;
                            }
                            oldPeers_.add(bs);
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                newPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            newPeers_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerResponse_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.Builder.class);
        }

        public static final int                    OLD_PEERS_FIELD_NUMBER = 1;
        private com.google.protobuf.LazyStringList oldPeers_;

        /**
         * repeated string old_peers = 1;
         */
        public com.google.protobuf.ProtocolStringList getOldPeersList() {
            return oldPeers_;
        }

        /**
         * repeated string old_peers = 1;
         */
        public int getOldPeersCount() {
            return oldPeers_.size();
        }

        /**
         * repeated string old_peers = 1;
         */
        public java.lang.String getOldPeers(int index) {
            return oldPeers_.get(index);
        }

        /**
         * repeated string old_peers = 1;
         */
        public com.google.protobuf.ByteString getOldPeersBytes(int index) {
            return oldPeers_.getByteString(index);
        }

        public static final int                    NEW_PEERS_FIELD_NUMBER = 2;
        private com.google.protobuf.LazyStringList newPeers_;

        /**
         * repeated string new_peers = 2;
         */
        public com.google.protobuf.ProtocolStringList getNewPeersList() {
            return newPeers_;
        }

        /**
         * repeated string new_peers = 2;
         */
        public int getNewPeersCount() {
            return newPeers_.size();
        }

        /**
         * repeated string new_peers = 2;
         */
        public java.lang.String getNewPeers(int index) {
            return newPeers_.get(index);
        }

        /**
         * repeated string new_peers = 2;
         */
        public com.google.protobuf.ByteString getNewPeersBytes(int index) {
            return newPeers_.getByteString(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 {
            for (int i = 0; i < oldPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, oldPeers_.getRaw(i));
            }
            for (int i = 0; i < newPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, newPeers_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            {
                int dataSize = 0;
                for (int i = 0; i < oldPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(oldPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOldPeersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < newPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(newPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getNewPeersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse other = (com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse) obj;

            boolean result = true;
            result = result && getOldPeersList().equals(other.getOldPeersList());
            result = result && getNewPeersList().equals(other.getNewPeersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getOldPeersCount() > 0) {
                hash = (37 * hash) + OLD_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getOldPeersList().hashCode();
            }
            if (getNewPeersCount() > 0) {
                hash = (37 * hash) + NEW_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getNewPeersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(java.nio.ByteBuffer data)
                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(java.nio.ByteBuffer data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(com.google.protobuf.ByteString data)
                                                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(com.google.protobuf.ByteString data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(byte[] data)
                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(byte[] data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(java.io.InputStream input)
                                                                                                                   throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseDelimitedFrom(java.io.InputStream input)
                                                                                                                            throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                    throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse 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(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse 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 jraft.RemovePeerResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.RemovePeerResponse)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerResponse_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemovePeerResponse_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse build() {
                com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse result = new com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse(
                    this);
                int from_bitField0_ = bitField0_;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.oldPeers_ = oldPeers_;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.newPeers_ = newPeers_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse.getDefaultInstance())
                    return this;
                if (!other.oldPeers_.isEmpty()) {
                    if (oldPeers_.isEmpty()) {
                        oldPeers_ = other.oldPeers_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensureOldPeersIsMutable();
                        oldPeers_.addAll(other.oldPeers_);
                    }
                    onChanged();
                }
                if (!other.newPeers_.isEmpty()) {
                    if (newPeers_.isEmpty()) {
                        newPeers_ = other.newPeers_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureNewPeersIsMutable();
                        newPeers_.addAll(other.newPeers_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                bitField0_;

            private com.google.protobuf.LazyStringList oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOldPeersIsMutable() {
                if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = new com.google.protobuf.LazyStringArrayList(oldPeers_);
                    bitField0_ |= 0x00000001;
                }
            }

            /**
             * repeated string old_peers = 1;
             */
            public com.google.protobuf.ProtocolStringList getOldPeersList() {
                return oldPeers_.getUnmodifiableView();
            }

            /**
             * repeated string old_peers = 1;
             */
            public int getOldPeersCount() {
                return oldPeers_.size();
            }

            /**
             * repeated string old_peers = 1;
             */
            public java.lang.String getOldPeers(int index) {
                return oldPeers_.get(index);
            }

            /**
             * repeated string old_peers = 1;
             */
            public com.google.protobuf.ByteString getOldPeersBytes(int index) {
                return oldPeers_.getByteString(index);
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder setOldPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addOldPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addAllOldPeers(java.lang.Iterable values) {
                ensureOldPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, oldPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder clearOldPeers() {
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addOldPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureNewPeersIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = new com.google.protobuf.LazyStringArrayList(newPeers_);
                    bitField0_ |= 0x00000002;
                }
            }

            /**
             * repeated string new_peers = 2;
             */
            public com.google.protobuf.ProtocolStringList getNewPeersList() {
                return newPeers_.getUnmodifiableView();
            }

            /**
             * repeated string new_peers = 2;
             */
            public int getNewPeersCount() {
                return newPeers_.size();
            }

            /**
             * repeated string new_peers = 2;
             */
            public java.lang.String getNewPeers(int index) {
                return newPeers_.get(index);
            }

            /**
             * repeated string new_peers = 2;
             */
            public com.google.protobuf.ByteString getNewPeersBytes(int index) {
                return newPeers_.getByteString(index);
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder setNewPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addNewPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addAllNewPeers(java.lang.Iterable values) {
                ensureNewPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, newPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder clearNewPeers() {
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addNewPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                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:jraft.RemovePeerResponse)
        }

        // @@protoc_insertion_point(class_scope:jraft.RemovePeerResponse)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.RemovePeerResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface ChangePeersRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.ChangePeersRequest)
                                                com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * repeated string new_peers = 3;
         */
        java.util.List getNewPeersList();

        /**
         * repeated string new_peers = 3;
         */
        int getNewPeersCount();

        /**
         * repeated string new_peers = 3;
         */
        java.lang.String getNewPeers(int index);

        /**
         * repeated string new_peers = 3;
         */
        com.google.protobuf.ByteString getNewPeersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.ChangePeersRequest}
     */
    public static final class ChangePeersRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.ChangePeersRequest)
                                                                                               ChangePeersRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use ChangePeersRequest.newBuilder() to construct.
        private ChangePeersRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private ChangePeersRequest() {
            groupId_ = "";
            leaderId_ = "";
            newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private ChangePeersRequest(com.google.protobuf.CodedInputStream input,
                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                                newPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000004;
                            }
                            newPeers_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int                    NEW_PEERS_FIELD_NUMBER = 3;
        private com.google.protobuf.LazyStringList newPeers_;

        /**
         * repeated string new_peers = 3;
         */
        public com.google.protobuf.ProtocolStringList getNewPeersList() {
            return newPeers_;
        }

        /**
         * repeated string new_peers = 3;
         */
        public int getNewPeersCount() {
            return newPeers_.size();
        }

        /**
         * repeated string new_peers = 3;
         */
        public java.lang.String getNewPeers(int index) {
            return newPeers_.get(index);
        }

        /**
         * repeated string new_peers = 3;
         */
        public com.google.protobuf.ByteString getNewPeersBytes(int index) {
            return newPeers_.getByteString(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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            for (int i = 0; i < newPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, newPeers_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            {
                int dataSize = 0;
                for (int i = 0; i < newPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(newPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getNewPeersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && getNewPeersList().equals(other.getNewPeersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (getNewPeersCount() > 0) {
                hash = (37 * hash) + NEW_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getNewPeersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(java.nio.ByteBuffer data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(byte[] data)
                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(byte[] data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(java.io.InputStream input)
                                                                                                                   throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                            throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                    throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest 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 jraft.ChangePeersRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.ChangePeersRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000004);
                }
                result.newPeers_ = newPeers_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (!other.newPeers_.isEmpty()) {
                    if (newPeers_.isEmpty()) {
                        newPeers_ = other.newPeers_;
                        bitField0_ = (bitField0_ & ~0x00000004);
                    } else {
                        ensureNewPeersIsMutable();
                        newPeers_.addAll(other.newPeers_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureNewPeersIsMutable() {
                if (!((bitField0_ & 0x00000004) == 0x00000004)) {
                    newPeers_ = new com.google.protobuf.LazyStringArrayList(newPeers_);
                    bitField0_ |= 0x00000004;
                }
            }

            /**
             * repeated string new_peers = 3;
             */
            public com.google.protobuf.ProtocolStringList getNewPeersList() {
                return newPeers_.getUnmodifiableView();
            }

            /**
             * repeated string new_peers = 3;
             */
            public int getNewPeersCount() {
                return newPeers_.size();
            }

            /**
             * repeated string new_peers = 3;
             */
            public java.lang.String getNewPeers(int index) {
                return newPeers_.get(index);
            }

            /**
             * repeated string new_peers = 3;
             */
            public com.google.protobuf.ByteString getNewPeersBytes(int index) {
                return newPeers_.getByteString(index);
            }

            /**
             * repeated string new_peers = 3;
             */
            public Builder setNewPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 3;
             */
            public Builder addNewPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 3;
             */
            public Builder addAllNewPeers(java.lang.Iterable values) {
                ensureNewPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, newPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 3;
             */
            public Builder clearNewPeers() {
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 3;
             */
            public Builder addNewPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                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:jraft.ChangePeersRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.ChangePeersRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface ChangePeersResponseOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.ChangePeersResponse)
                                                 com.google.protobuf.MessageOrBuilder {

        /**
         * repeated string old_peers = 1;
         */
        java.util.List getOldPeersList();

        /**
         * repeated string old_peers = 1;
         */
        int getOldPeersCount();

        /**
         * repeated string old_peers = 1;
         */
        java.lang.String getOldPeers(int index);

        /**
         * repeated string old_peers = 1;
         */
        com.google.protobuf.ByteString getOldPeersBytes(int index);

        /**
         * repeated string new_peers = 2;
         */
        java.util.List getNewPeersList();

        /**
         * repeated string new_peers = 2;
         */
        int getNewPeersCount();

        /**
         * repeated string new_peers = 2;
         */
        java.lang.String getNewPeers(int index);

        /**
         * repeated string new_peers = 2;
         */
        com.google.protobuf.ByteString getNewPeersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.ChangePeersResponse}
     */
    public static final class ChangePeersResponse extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.ChangePeersResponse)
                                                                                                ChangePeersResponseOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use ChangePeersResponse.newBuilder() to construct.
        private ChangePeersResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private ChangePeersResponse() {
            oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private ChangePeersResponse(com.google.protobuf.CodedInputStream input,
                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                                oldPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000001;
                            }
                            oldPeers_.add(bs);
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                newPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            newPeers_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersResponse_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.Builder.class);
        }

        public static final int                    OLD_PEERS_FIELD_NUMBER = 1;
        private com.google.protobuf.LazyStringList oldPeers_;

        /**
         * repeated string old_peers = 1;
         */
        public com.google.protobuf.ProtocolStringList getOldPeersList() {
            return oldPeers_;
        }

        /**
         * repeated string old_peers = 1;
         */
        public int getOldPeersCount() {
            return oldPeers_.size();
        }

        /**
         * repeated string old_peers = 1;
         */
        public java.lang.String getOldPeers(int index) {
            return oldPeers_.get(index);
        }

        /**
         * repeated string old_peers = 1;
         */
        public com.google.protobuf.ByteString getOldPeersBytes(int index) {
            return oldPeers_.getByteString(index);
        }

        public static final int                    NEW_PEERS_FIELD_NUMBER = 2;
        private com.google.protobuf.LazyStringList newPeers_;

        /**
         * repeated string new_peers = 2;
         */
        public com.google.protobuf.ProtocolStringList getNewPeersList() {
            return newPeers_;
        }

        /**
         * repeated string new_peers = 2;
         */
        public int getNewPeersCount() {
            return newPeers_.size();
        }

        /**
         * repeated string new_peers = 2;
         */
        public java.lang.String getNewPeers(int index) {
            return newPeers_.get(index);
        }

        /**
         * repeated string new_peers = 2;
         */
        public com.google.protobuf.ByteString getNewPeersBytes(int index) {
            return newPeers_.getByteString(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 {
            for (int i = 0; i < oldPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, oldPeers_.getRaw(i));
            }
            for (int i = 0; i < newPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, newPeers_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            {
                int dataSize = 0;
                for (int i = 0; i < oldPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(oldPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOldPeersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < newPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(newPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getNewPeersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse other = (com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse) obj;

            boolean result = true;
            result = result && getOldPeersList().equals(other.getOldPeersList());
            result = result && getNewPeersList().equals(other.getNewPeersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getOldPeersCount() > 0) {
                hash = (37 * hash) + OLD_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getOldPeersList().hashCode();
            }
            if (getNewPeersCount() > 0) {
                hash = (37 * hash) + NEW_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getNewPeersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(java.nio.ByteBuffer data)
                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(java.nio.ByteBuffer data,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(com.google.protobuf.ByteString data)
                                                                                                                              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(com.google.protobuf.ByteString data,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(byte[] data)
                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(byte[] data,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(java.io.InputStream input)
                                                                                                                    throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseDelimitedFrom(java.io.InputStream input)
                                                                                                                             throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                     throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse 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(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse 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 jraft.ChangePeersResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.ChangePeersResponse)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersResponse_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ChangePeersResponse_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse build() {
                com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse result = new com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse(
                    this);
                int from_bitField0_ = bitField0_;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.oldPeers_ = oldPeers_;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.newPeers_ = newPeers_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse.getDefaultInstance())
                    return this;
                if (!other.oldPeers_.isEmpty()) {
                    if (oldPeers_.isEmpty()) {
                        oldPeers_ = other.oldPeers_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensureOldPeersIsMutable();
                        oldPeers_.addAll(other.oldPeers_);
                    }
                    onChanged();
                }
                if (!other.newPeers_.isEmpty()) {
                    if (newPeers_.isEmpty()) {
                        newPeers_ = other.newPeers_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureNewPeersIsMutable();
                        newPeers_.addAll(other.newPeers_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                bitField0_;

            private com.google.protobuf.LazyStringList oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOldPeersIsMutable() {
                if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldPeers_ = new com.google.protobuf.LazyStringArrayList(oldPeers_);
                    bitField0_ |= 0x00000001;
                }
            }

            /**
             * repeated string old_peers = 1;
             */
            public com.google.protobuf.ProtocolStringList getOldPeersList() {
                return oldPeers_.getUnmodifiableView();
            }

            /**
             * repeated string old_peers = 1;
             */
            public int getOldPeersCount() {
                return oldPeers_.size();
            }

            /**
             * repeated string old_peers = 1;
             */
            public java.lang.String getOldPeers(int index) {
                return oldPeers_.get(index);
            }

            /**
             * repeated string old_peers = 1;
             */
            public com.google.protobuf.ByteString getOldPeersBytes(int index) {
                return oldPeers_.getByteString(index);
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder setOldPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addOldPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addAllOldPeers(java.lang.Iterable values) {
                ensureOldPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, oldPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder clearOldPeers() {
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 1;
             */
            public Builder addOldPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureNewPeersIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    newPeers_ = new com.google.protobuf.LazyStringArrayList(newPeers_);
                    bitField0_ |= 0x00000002;
                }
            }

            /**
             * repeated string new_peers = 2;
             */
            public com.google.protobuf.ProtocolStringList getNewPeersList() {
                return newPeers_.getUnmodifiableView();
            }

            /**
             * repeated string new_peers = 2;
             */
            public int getNewPeersCount() {
                return newPeers_.size();
            }

            /**
             * repeated string new_peers = 2;
             */
            public java.lang.String getNewPeers(int index) {
                return newPeers_.get(index);
            }

            /**
             * repeated string new_peers = 2;
             */
            public com.google.protobuf.ByteString getNewPeersBytes(int index) {
                return newPeers_.getByteString(index);
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder setNewPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addNewPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addAllNewPeers(java.lang.Iterable values) {
                ensureNewPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, newPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder clearNewPeers() {
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 2;
             */
            public Builder addNewPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                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:jraft.ChangePeersResponse)
        }

        // @@protoc_insertion_point(class_scope:jraft.ChangePeersResponse)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.ChangePeersResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface SnapshotRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.SnapshotRequest)
                                             com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * optional string peer_id = 2;
         */
        boolean hasPeerId();

        /**
         * optional string peer_id = 2;
         */
        java.lang.String getPeerId();

        /**
         * optional string peer_id = 2;
         */
        com.google.protobuf.ByteString getPeerIdBytes();
    }

    /**
     * Protobuf type {@code jraft.SnapshotRequest}
     */
    public static final class SnapshotRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.SnapshotRequest)
                                                                                            SnapshotRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use SnapshotRequest.newBuilder() to construct.
        private SnapshotRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private SnapshotRequest() {
            groupId_ = "";
            peerId_ = "";
        }

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

        private SnapshotRequest(com.google.protobuf.CodedInputStream input,
                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                            throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            peerId_ = bs;
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_SnapshotRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_SnapshotRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           PEER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object peerId_;

        /**
         * optional string peer_id = 2;
         */
        public boolean hasPeerId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * optional string peer_id = 2;
         */
        public java.lang.String getPeerId() {
            java.lang.Object ref = peerId_;
            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();
                if (bs.isValidUtf8()) {
                    peerId_ = s;
                }
                return s;
            }
        }

        /**
         * optional string peer_id = 2;
         */
        public com.google.protobuf.ByteString getPeerIdBytes() {
            java.lang.Object ref = peerId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                peerId_ = 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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, peerId_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, peerId_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasPeerId() == other.hasPeerId());
            if (hasPeerId()) {
                result = result && getPeerId().equals(other.getPeerId());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasPeerId()) {
                hash = (37 * hash) + PEER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getPeerId().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(java.nio.ByteBuffer data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                          throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(byte[] data)
                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(byte[] data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(java.io.InputStream input)
                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                 throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest 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 jraft.SnapshotRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.SnapshotRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_SnapshotRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_SnapshotRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                peerId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_SnapshotRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.peerId_ = peerId_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasPeerId()) {
                    bitField0_ |= 0x00000002;
                    peerId_ = other.peerId_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object peerId_ = "";

            /**
             * optional string peer_id = 2;
             */
            public boolean hasPeerId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * optional string peer_id = 2;
             */
            public java.lang.String getPeerId() {
                java.lang.Object ref = peerId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        peerId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * optional string peer_id = 2;
             */
            public com.google.protobuf.ByteString getPeerIdBytes() {
                java.lang.Object ref = peerId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    peerId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * optional string peer_id = 2;
             */
            public Builder setPeerId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                peerId_ = value;
                onChanged();
                return this;
            }

            /**
             * optional string peer_id = 2;
             */
            public Builder clearPeerId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                peerId_ = getDefaultInstance().getPeerId();
                onChanged();
                return this;
            }

            /**
             * optional string peer_id = 2;
             */
            public Builder setPeerIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                peerId_ = value;
                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:jraft.SnapshotRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.SnapshotRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.SnapshotRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface ResetPeerRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.ResetPeerRequest)
                                              com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string peer_id = 2;
         */
        boolean hasPeerId();

        /**
         * required string peer_id = 2;
         */
        java.lang.String getPeerId();

        /**
         * required string peer_id = 2;
         */
        com.google.protobuf.ByteString getPeerIdBytes();

        /**
         * repeated string old_peers = 3;
         */
        java.util.List getOldPeersList();

        /**
         * repeated string old_peers = 3;
         */
        int getOldPeersCount();

        /**
         * repeated string old_peers = 3;
         */
        java.lang.String getOldPeers(int index);

        /**
         * repeated string old_peers = 3;
         */
        com.google.protobuf.ByteString getOldPeersBytes(int index);

        /**
         * repeated string new_peers = 4;
         */
        java.util.List getNewPeersList();

        /**
         * repeated string new_peers = 4;
         */
        int getNewPeersCount();

        /**
         * repeated string new_peers = 4;
         */
        java.lang.String getNewPeers(int index);

        /**
         * repeated string new_peers = 4;
         */
        com.google.protobuf.ByteString getNewPeersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.ResetPeerRequest}
     */
    public static final class ResetPeerRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.ResetPeerRequest)
                                                                                             ResetPeerRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use ResetPeerRequest.newBuilder() to construct.
        private ResetPeerRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private ResetPeerRequest() {
            groupId_ = "";
            peerId_ = "";
            oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private ResetPeerRequest(com.google.protobuf.CodedInputStream input,
                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            peerId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                                oldPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000004;
                            }
                            oldPeers_.add(bs);
                            break;
                        }
                        case 34: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                                newPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000008;
                            }
                            newPeers_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetPeerRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetPeerRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           PEER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object peerId_;

        /**
         * required string peer_id = 2;
         */
        public boolean hasPeerId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string peer_id = 2;
         */
        public java.lang.String getPeerId() {
            java.lang.Object ref = peerId_;
            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();
                if (bs.isValidUtf8()) {
                    peerId_ = s;
                }
                return s;
            }
        }

        /**
         * required string peer_id = 2;
         */
        public com.google.protobuf.ByteString getPeerIdBytes() {
            java.lang.Object ref = peerId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                peerId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int                    OLD_PEERS_FIELD_NUMBER = 3;
        private com.google.protobuf.LazyStringList oldPeers_;

        /**
         * repeated string old_peers = 3;
         */
        public com.google.protobuf.ProtocolStringList getOldPeersList() {
            return oldPeers_;
        }

        /**
         * repeated string old_peers = 3;
         */
        public int getOldPeersCount() {
            return oldPeers_.size();
        }

        /**
         * repeated string old_peers = 3;
         */
        public java.lang.String getOldPeers(int index) {
            return oldPeers_.get(index);
        }

        /**
         * repeated string old_peers = 3;
         */
        public com.google.protobuf.ByteString getOldPeersBytes(int index) {
            return oldPeers_.getByteString(index);
        }

        public static final int                    NEW_PEERS_FIELD_NUMBER = 4;
        private com.google.protobuf.LazyStringList newPeers_;

        /**
         * repeated string new_peers = 4;
         */
        public com.google.protobuf.ProtocolStringList getNewPeersList() {
            return newPeers_;
        }

        /**
         * repeated string new_peers = 4;
         */
        public int getNewPeersCount() {
            return newPeers_.size();
        }

        /**
         * repeated string new_peers = 4;
         */
        public java.lang.String getNewPeers(int index) {
            return newPeers_.get(index);
        }

        /**
         * repeated string new_peers = 4;
         */
        public com.google.protobuf.ByteString getNewPeersBytes(int index) {
            return newPeers_.getByteString(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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasPeerId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, peerId_);
            }
            for (int i = 0; i < oldPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, oldPeers_.getRaw(i));
            }
            for (int i = 0; i < newPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 4, newPeers_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, peerId_);
            }
            {
                int dataSize = 0;
                for (int i = 0; i < oldPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(oldPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOldPeersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < newPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(newPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getNewPeersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasPeerId() == other.hasPeerId());
            if (hasPeerId()) {
                result = result && getPeerId().equals(other.getPeerId());
            }
            result = result && getOldPeersList().equals(other.getOldPeersList());
            result = result && getNewPeersList().equals(other.getNewPeersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasPeerId()) {
                hash = (37 * hash) + PEER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getPeerId().hashCode();
            }
            if (getOldPeersCount() > 0) {
                hash = (37 * hash) + OLD_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getOldPeersList().hashCode();
            }
            if (getNewPeersCount() > 0) {
                hash = (37 * hash) + NEW_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getNewPeersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(java.nio.ByteBuffer data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                           throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(byte[] data)
                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(byte[] data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(java.io.InputStream input)
                                                                                                                 throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                          throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                  throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest 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 jraft.ResetPeerRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.ResetPeerRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetPeerRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetPeerRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                peerId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000008);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetPeerRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.peerId_ = peerId_;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000004);
                }
                result.oldPeers_ = oldPeers_;
                if (((bitField0_ & 0x00000008) == 0x00000008)) {
                    newPeers_ = newPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000008);
                }
                result.newPeers_ = newPeers_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasPeerId()) {
                    bitField0_ |= 0x00000002;
                    peerId_ = other.peerId_;
                    onChanged();
                }
                if (!other.oldPeers_.isEmpty()) {
                    if (oldPeers_.isEmpty()) {
                        oldPeers_ = other.oldPeers_;
                        bitField0_ = (bitField0_ & ~0x00000004);
                    } else {
                        ensureOldPeersIsMutable();
                        oldPeers_.addAll(other.oldPeers_);
                    }
                    onChanged();
                }
                if (!other.newPeers_.isEmpty()) {
                    if (newPeers_.isEmpty()) {
                        newPeers_ = other.newPeers_;
                        bitField0_ = (bitField0_ & ~0x00000008);
                    } else {
                        ensureNewPeersIsMutable();
                        newPeers_.addAll(other.newPeers_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasPeerId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object peerId_ = "";

            /**
             * required string peer_id = 2;
             */
            public boolean hasPeerId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string peer_id = 2;
             */
            public java.lang.String getPeerId() {
                java.lang.Object ref = peerId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        peerId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string peer_id = 2;
             */
            public com.google.protobuf.ByteString getPeerIdBytes() {
                java.lang.Object ref = peerId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    peerId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string peer_id = 2;
             */
            public Builder setPeerId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                peerId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string peer_id = 2;
             */
            public Builder clearPeerId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                peerId_ = getDefaultInstance().getPeerId();
                onChanged();
                return this;
            }

            /**
             * required string peer_id = 2;
             */
            public Builder setPeerIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                peerId_ = value;
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOldPeersIsMutable() {
                if (!((bitField0_ & 0x00000004) == 0x00000004)) {
                    oldPeers_ = new com.google.protobuf.LazyStringArrayList(oldPeers_);
                    bitField0_ |= 0x00000004;
                }
            }

            /**
             * repeated string old_peers = 3;
             */
            public com.google.protobuf.ProtocolStringList getOldPeersList() {
                return oldPeers_.getUnmodifiableView();
            }

            /**
             * repeated string old_peers = 3;
             */
            public int getOldPeersCount() {
                return oldPeers_.size();
            }

            /**
             * repeated string old_peers = 3;
             */
            public java.lang.String getOldPeers(int index) {
                return oldPeers_.get(index);
            }

            /**
             * repeated string old_peers = 3;
             */
            public com.google.protobuf.ByteString getOldPeersBytes(int index) {
                return oldPeers_.getByteString(index);
            }

            /**
             * repeated string old_peers = 3;
             */
            public Builder setOldPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 3;
             */
            public Builder addOldPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 3;
             */
            public Builder addAllOldPeers(java.lang.Iterable values) {
                ensureOldPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, oldPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 3;
             */
            public Builder clearOldPeers() {
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                onChanged();
                return this;
            }

            /**
             * repeated string old_peers = 3;
             */
            public Builder addOldPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureNewPeersIsMutable() {
                if (!((bitField0_ & 0x00000008) == 0x00000008)) {
                    newPeers_ = new com.google.protobuf.LazyStringArrayList(newPeers_);
                    bitField0_ |= 0x00000008;
                }
            }

            /**
             * repeated string new_peers = 4;
             */
            public com.google.protobuf.ProtocolStringList getNewPeersList() {
                return newPeers_.getUnmodifiableView();
            }

            /**
             * repeated string new_peers = 4;
             */
            public int getNewPeersCount() {
                return newPeers_.size();
            }

            /**
             * repeated string new_peers = 4;
             */
            public java.lang.String getNewPeers(int index) {
                return newPeers_.get(index);
            }

            /**
             * repeated string new_peers = 4;
             */
            public com.google.protobuf.ByteString getNewPeersBytes(int index) {
                return newPeers_.getByteString(index);
            }

            /**
             * repeated string new_peers = 4;
             */
            public Builder setNewPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 4;
             */
            public Builder addNewPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 4;
             */
            public Builder addAllNewPeers(java.lang.Iterable values) {
                ensureNewPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, newPeers_);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 4;
             */
            public Builder clearNewPeers() {
                newPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000008);
                onChanged();
                return this;
            }

            /**
             * repeated string new_peers = 4;
             */
            public Builder addNewPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewPeersIsMutable();
                newPeers_.add(value);
                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:jraft.ResetPeerRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.ResetPeerRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.ResetPeerRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface TransferLeaderRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.TransferLeaderRequest)
                                                   com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * optional string peer_id = 3;
         */
        boolean hasPeerId();

        /**
         * optional string peer_id = 3;
         */
        java.lang.String getPeerId();

        /**
         * optional string peer_id = 3;
         */
        com.google.protobuf.ByteString getPeerIdBytes();
    }

    /**
     * Protobuf type {@code jraft.TransferLeaderRequest}
     */
    public static final class TransferLeaderRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.TransferLeaderRequest)
                                                                                                  TransferLeaderRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use TransferLeaderRequest.newBuilder() to construct.
        private TransferLeaderRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private TransferLeaderRequest() {
            groupId_ = "";
            leaderId_ = "";
            peerId_ = "";
        }

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

        private TransferLeaderRequest(com.google.protobuf.CodedInputStream input,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000004;
                            peerId_ = bs;
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_TransferLeaderRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_TransferLeaderRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           PEER_ID_FIELD_NUMBER = 3;
        private volatile java.lang.Object peerId_;

        /**
         * optional string peer_id = 3;
         */
        public boolean hasPeerId() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
        }

        /**
         * optional string peer_id = 3;
         */
        public java.lang.String getPeerId() {
            java.lang.Object ref = peerId_;
            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();
                if (bs.isValidUtf8()) {
                    peerId_ = s;
                }
                return s;
            }
        }

        /**
         * optional string peer_id = 3;
         */
        public com.google.protobuf.ByteString getPeerIdBytes() {
            java.lang.Object ref = peerId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                peerId_ = 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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, peerId_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, peerId_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && (hasPeerId() == other.hasPeerId());
            if (hasPeerId()) {
                result = result && getPeerId().equals(other.getPeerId());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (hasPeerId()) {
                hash = (37 * hash) + PEER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getPeerId().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(java.nio.ByteBuffer data,
                                                                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(byte[] data)
                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(byte[] data,
                                                                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(java.io.InputStream input)
                                                                                                                      throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                               throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                       throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest 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 jraft.TransferLeaderRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.TransferLeaderRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_TransferLeaderRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_TransferLeaderRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                peerId_ = "";
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_TransferLeaderRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                    to_bitField0_ |= 0x00000004;
                }
                result.peerId_ = peerId_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (other.hasPeerId()) {
                    bitField0_ |= 0x00000004;
                    peerId_ = other.peerId_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object peerId_ = "";

            /**
             * optional string peer_id = 3;
             */
            public boolean hasPeerId() {
                return ((bitField0_ & 0x00000004) == 0x00000004);
            }

            /**
             * optional string peer_id = 3;
             */
            public java.lang.String getPeerId() {
                java.lang.Object ref = peerId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        peerId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * optional string peer_id = 3;
             */
            public com.google.protobuf.ByteString getPeerIdBytes() {
                java.lang.Object ref = peerId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    peerId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * optional string peer_id = 3;
             */
            public Builder setPeerId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                peerId_ = value;
                onChanged();
                return this;
            }

            /**
             * optional string peer_id = 3;
             */
            public Builder clearPeerId() {
                bitField0_ = (bitField0_ & ~0x00000004);
                peerId_ = getDefaultInstance().getPeerId();
                onChanged();
                return this;
            }

            /**
             * optional string peer_id = 3;
             */
            public Builder setPeerIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                peerId_ = value;
                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:jraft.TransferLeaderRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.TransferLeaderRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.TransferLeaderRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface GetLeaderRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.GetLeaderRequest)
                                              com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * optional string peer_id = 2;
         */
        boolean hasPeerId();

        /**
         * optional string peer_id = 2;
         */
        java.lang.String getPeerId();

        /**
         * optional string peer_id = 2;
         */
        com.google.protobuf.ByteString getPeerIdBytes();
    }

    /**
     * Protobuf type {@code jraft.GetLeaderRequest}
     */
    public static final class GetLeaderRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.GetLeaderRequest)
                                                                                             GetLeaderRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use GetLeaderRequest.newBuilder() to construct.
        private GetLeaderRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private GetLeaderRequest() {
            groupId_ = "";
            peerId_ = "";
        }

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

        private GetLeaderRequest(com.google.protobuf.CodedInputStream input,
                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            peerId_ = bs;
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           PEER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object peerId_;

        /**
         * optional string peer_id = 2;
         */
        public boolean hasPeerId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * optional string peer_id = 2;
         */
        public java.lang.String getPeerId() {
            java.lang.Object ref = peerId_;
            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();
                if (bs.isValidUtf8()) {
                    peerId_ = s;
                }
                return s;
            }
        }

        /**
         * optional string peer_id = 2;
         */
        public com.google.protobuf.ByteString getPeerIdBytes() {
            java.lang.Object ref = peerId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                peerId_ = 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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, peerId_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, peerId_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasPeerId() == other.hasPeerId());
            if (hasPeerId()) {
                result = result && getPeerId().equals(other.getPeerId());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasPeerId()) {
                hash = (37 * hash) + PEER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getPeerId().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(java.nio.ByteBuffer data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                           throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(byte[] data)
                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(byte[] data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(java.io.InputStream input)
                                                                                                                 throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                          throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                  throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest 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 jraft.GetLeaderRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.GetLeaderRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                peerId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.peerId_ = peerId_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasPeerId()) {
                    bitField0_ |= 0x00000002;
                    peerId_ = other.peerId_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object peerId_ = "";

            /**
             * optional string peer_id = 2;
             */
            public boolean hasPeerId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * optional string peer_id = 2;
             */
            public java.lang.String getPeerId() {
                java.lang.Object ref = peerId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        peerId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * optional string peer_id = 2;
             */
            public com.google.protobuf.ByteString getPeerIdBytes() {
                java.lang.Object ref = peerId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    peerId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * optional string peer_id = 2;
             */
            public Builder setPeerId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                peerId_ = value;
                onChanged();
                return this;
            }

            /**
             * optional string peer_id = 2;
             */
            public Builder clearPeerId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                peerId_ = getDefaultInstance().getPeerId();
                onChanged();
                return this;
            }

            /**
             * optional string peer_id = 2;
             */
            public Builder setPeerIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                peerId_ = value;
                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:jraft.GetLeaderRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.GetLeaderRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface GetLeaderResponseOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.GetLeaderResponse)
                                               com.google.protobuf.MessageOrBuilder {

        /**
         * required string leader_id = 1;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 1;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 1;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();
    }

    /**
     * Protobuf type {@code jraft.GetLeaderResponse}
     */
    public static final class GetLeaderResponse extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.GetLeaderResponse)
                                                                                              GetLeaderResponseOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use GetLeaderResponse.newBuilder() to construct.
        private GetLeaderResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private GetLeaderResponse() {
            leaderId_ = "";
        }

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

        private GetLeaderResponse(com.google.protobuf.CodedInputStream input,
                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                              throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            leaderId_ = bs;
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderResponse_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.Builder.class);
        }

        private int                       bitField0_;
        public static final int           LEADER_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 1;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string leader_id = 1;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 1;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = 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;

            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, leaderId_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, leaderId_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse other = (com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse) obj;

            boolean result = true;
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(java.nio.ByteBuffer data)
                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(java.nio.ByteBuffer data,
                                                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(com.google.protobuf.ByteString data)
                                                                                                                            throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(com.google.protobuf.ByteString data,
                                                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(byte[] data)
                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(byte[] data,
                                                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(java.io.InputStream input)
                                                                                                                  throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseDelimitedFrom(java.io.InputStream input)
                                                                                                                           throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                   throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse 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(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse 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 jraft.GetLeaderResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.GetLeaderResponse)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderResponse_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetLeaderResponse_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse build() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse result = new com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.leaderId_ = leaderId_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse.getDefaultInstance())
                    return this;
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000001;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasLeaderId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 1;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string leader_id = 1;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 1;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 1;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 1;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 1;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                leaderId_ = value;
                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:jraft.GetLeaderResponse)
        }

        // @@protoc_insertion_point(class_scope:jraft.GetLeaderResponse)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.GetLeaderResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface GetPeersRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.GetPeersRequest)
                                             com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * optional string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * optional string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * optional string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * optional bool only_alive = 3 [default = false];
         */
        boolean hasOnlyAlive();

        /**
         * optional bool only_alive = 3 [default = false];
         */
        boolean getOnlyAlive();
    }

    /**
     * Protobuf type {@code jraft.GetPeersRequest}
     */
    public static final class GetPeersRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.GetPeersRequest)
                                                                                            GetPeersRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use GetPeersRequest.newBuilder() to construct.
        private GetPeersRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private GetPeersRequest() {
            groupId_ = "";
            leaderId_ = "";
            onlyAlive_ = false;
        }

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

        private GetPeersRequest(com.google.protobuf.CodedInputStream input,
                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                            throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 24: {
                            bitField0_ |= 0x00000004;
                            onlyAlive_ = input.readBool();
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * optional string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * optional string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * optional string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int ONLY_ALIVE_FIELD_NUMBER = 3;
        private boolean         onlyAlive_;

        /**
         * optional bool only_alive = 3 [default = false];
         */
        public boolean hasOnlyAlive() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
        }

        /**
         * optional bool only_alive = 3 [default = false];
         */
        public boolean getOnlyAlive() {
            return onlyAlive_;
        }

        private byte memoizedIsInitialized = -1;

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

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                output.writeBool(3, onlyAlive_);
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, onlyAlive_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && (hasOnlyAlive() == other.hasOnlyAlive());
            if (hasOnlyAlive()) {
                result = result && (getOnlyAlive() == other.getOnlyAlive());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (hasOnlyAlive()) {
                hash = (37 * hash) + ONLY_ALIVE_FIELD_NUMBER;
                hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getOnlyAlive());
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(java.nio.ByteBuffer data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                          throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(byte[] data)
                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(byte[] data,
                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(java.io.InputStream input)
                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                 throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest 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 jraft.GetPeersRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.GetPeersRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                onlyAlive_ = false;
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                    to_bitField0_ |= 0x00000004;
                }
                result.onlyAlive_ = onlyAlive_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (other.hasOnlyAlive()) {
                    setOnlyAlive(other.getOnlyAlive());
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * optional string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * optional string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * optional string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * optional string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * optional string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * optional string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private boolean onlyAlive_;

            /**
             * optional bool only_alive = 3 [default = false];
             */
            public boolean hasOnlyAlive() {
                return ((bitField0_ & 0x00000004) == 0x00000004);
            }

            /**
             * optional bool only_alive = 3 [default = false];
             */
            public boolean getOnlyAlive() {
                return onlyAlive_;
            }

            /**
             * optional bool only_alive = 3 [default = false];
             */
            public Builder setOnlyAlive(boolean value) {
                bitField0_ |= 0x00000004;
                onlyAlive_ = value;
                onChanged();
                return this;
            }

            /**
             * optional bool only_alive = 3 [default = false];
             */
            public Builder clearOnlyAlive() {
                bitField0_ = (bitField0_ & ~0x00000004);
                onlyAlive_ = 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:jraft.GetPeersRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.GetPeersRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface GetPeersResponseOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.GetPeersResponse)
                                              com.google.protobuf.MessageOrBuilder {

        /**
         * repeated string peers = 1;
         */
        java.util.List getPeersList();

        /**
         * repeated string peers = 1;
         */
        int getPeersCount();

        /**
         * repeated string peers = 1;
         */
        java.lang.String getPeers(int index);

        /**
         * repeated string peers = 1;
         */
        com.google.protobuf.ByteString getPeersBytes(int index);

        /**
         * repeated string learners = 2;
         */
        java.util.List getLearnersList();

        /**
         * repeated string learners = 2;
         */
        int getLearnersCount();

        /**
         * repeated string learners = 2;
         */
        java.lang.String getLearners(int index);

        /**
         * repeated string learners = 2;
         */
        com.google.protobuf.ByteString getLearnersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.GetPeersResponse}
     */
    public static final class GetPeersResponse extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.GetPeersResponse)
                                                                                             GetPeersResponseOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use GetPeersResponse.newBuilder() to construct.
        private GetPeersResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private GetPeersResponse() {
            peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private GetPeersResponse(com.google.protobuf.CodedInputStream input,
                                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                                peers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000001;
                            }
                            peers_.add(bs);
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                learners_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            learners_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                    peers_ = peers_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    learners_ = learners_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersResponse_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.Builder.class);
        }

        public static final int                    PEERS_FIELD_NUMBER = 1;
        private com.google.protobuf.LazyStringList peers_;

        /**
         * repeated string peers = 1;
         */
        public com.google.protobuf.ProtocolStringList getPeersList() {
            return peers_;
        }

        /**
         * repeated string peers = 1;
         */
        public int getPeersCount() {
            return peers_.size();
        }

        /**
         * repeated string peers = 1;
         */
        public java.lang.String getPeers(int index) {
            return peers_.get(index);
        }

        /**
         * repeated string peers = 1;
         */
        public com.google.protobuf.ByteString getPeersBytes(int index) {
            return peers_.getByteString(index);
        }

        public static final int                    LEARNERS_FIELD_NUMBER = 2;
        private com.google.protobuf.LazyStringList learners_;

        /**
         * repeated string learners = 2;
         */
        public com.google.protobuf.ProtocolStringList getLearnersList() {
            return learners_;
        }

        /**
         * repeated string learners = 2;
         */
        public int getLearnersCount() {
            return learners_.size();
        }

        /**
         * repeated string learners = 2;
         */
        public java.lang.String getLearners(int index) {
            return learners_.get(index);
        }

        /**
         * repeated string learners = 2;
         */
        public com.google.protobuf.ByteString getLearnersBytes(int index) {
            return learners_.getByteString(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 {
            for (int i = 0; i < peers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, peers_.getRaw(i));
            }
            for (int i = 0; i < learners_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, learners_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            {
                int dataSize = 0;
                for (int i = 0; i < peers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(peers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getPeersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < learners_.size(); i++) {
                    dataSize += computeStringSizeNoTag(learners_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getLearnersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse other = (com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse) obj;

            boolean result = true;
            result = result && getPeersList().equals(other.getPeersList());
            result = result && getLearnersList().equals(other.getLearnersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getPeersCount() > 0) {
                hash = (37 * hash) + PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getPeersList().hashCode();
            }
            if (getLearnersCount() > 0) {
                hash = (37 * hash) + LEARNERS_FIELD_NUMBER;
                hash = (53 * hash) + getLearnersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(java.nio.ByteBuffer data)
                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(java.nio.ByteBuffer data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(com.google.protobuf.ByteString data)
                                                                                                                           throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(com.google.protobuf.ByteString data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(byte[] data)
                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(byte[] data,
                                                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(java.io.InputStream input)
                                                                                                                 throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseDelimitedFrom(java.io.InputStream input)
                                                                                                                          throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                  throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse 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(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse 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 jraft.GetPeersResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.GetPeersResponse)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersResponse_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_GetPeersResponse_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse build() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse result = new com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse(
                    this);
                int from_bitField0_ = bitField0_;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    peers_ = peers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.peers_ = peers_;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    learners_ = learners_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.learners_ = learners_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse.getDefaultInstance())
                    return this;
                if (!other.peers_.isEmpty()) {
                    if (peers_.isEmpty()) {
                        peers_ = other.peers_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensurePeersIsMutable();
                        peers_.addAll(other.peers_);
                    }
                    onChanged();
                }
                if (!other.learners_.isEmpty()) {
                    if (learners_.isEmpty()) {
                        learners_ = other.learners_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureLearnersIsMutable();
                        learners_.addAll(other.learners_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                bitField0_;

            private com.google.protobuf.LazyStringList peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensurePeersIsMutable() {
                if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                    peers_ = new com.google.protobuf.LazyStringArrayList(peers_);
                    bitField0_ |= 0x00000001;
                }
            }

            /**
             * repeated string peers = 1;
             */
            public com.google.protobuf.ProtocolStringList getPeersList() {
                return peers_.getUnmodifiableView();
            }

            /**
             * repeated string peers = 1;
             */
            public int getPeersCount() {
                return peers_.size();
            }

            /**
             * repeated string peers = 1;
             */
            public java.lang.String getPeers(int index) {
                return peers_.get(index);
            }

            /**
             * repeated string peers = 1;
             */
            public com.google.protobuf.ByteString getPeersBytes(int index) {
                return peers_.getByteString(index);
            }

            /**
             * repeated string peers = 1;
             */
            public Builder setPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensurePeersIsMutable();
                peers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string peers = 1;
             */
            public Builder addPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensurePeersIsMutable();
                peers_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string peers = 1;
             */
            public Builder addAllPeers(java.lang.Iterable values) {
                ensurePeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, peers_);
                onChanged();
                return this;
            }

            /**
             * repeated string peers = 1;
             */
            public Builder clearPeers() {
                peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }

            /**
             * repeated string peers = 1;
             */
            public Builder addPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensurePeersIsMutable();
                peers_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureLearnersIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    learners_ = new com.google.protobuf.LazyStringArrayList(learners_);
                    bitField0_ |= 0x00000002;
                }
            }

            /**
             * repeated string learners = 2;
             */
            public com.google.protobuf.ProtocolStringList getLearnersList() {
                return learners_.getUnmodifiableView();
            }

            /**
             * repeated string learners = 2;
             */
            public int getLearnersCount() {
                return learners_.size();
            }

            /**
             * repeated string learners = 2;
             */
            public java.lang.String getLearners(int index) {
                return learners_.get(index);
            }

            /**
             * repeated string learners = 2;
             */
            public com.google.protobuf.ByteString getLearnersBytes(int index) {
                return learners_.getByteString(index);
            }

            /**
             * repeated string learners = 2;
             */
            public Builder setLearners(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 2;
             */
            public Builder addLearners(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 2;
             */
            public Builder addAllLearners(java.lang.Iterable values) {
                ensureLearnersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, learners_);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 2;
             */
            public Builder clearLearners() {
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 2;
             */
            public Builder addLearnersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                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:jraft.GetPeersResponse)
        }

        // @@protoc_insertion_point(class_scope:jraft.GetPeersResponse)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.GetPeersResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface AddLearnersRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.AddLearnersRequest)
                                                com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * repeated string learners = 3;
         */
        java.util.List getLearnersList();

        /**
         * repeated string learners = 3;
         */
        int getLearnersCount();

        /**
         * repeated string learners = 3;
         */
        java.lang.String getLearners(int index);

        /**
         * repeated string learners = 3;
         */
        com.google.protobuf.ByteString getLearnersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.AddLearnersRequest}
     */
    public static final class AddLearnersRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.AddLearnersRequest)
                                                                                               AddLearnersRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use AddLearnersRequest.newBuilder() to construct.
        private AddLearnersRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private AddLearnersRequest() {
            groupId_ = "";
            leaderId_ = "";
            learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private AddLearnersRequest(com.google.protobuf.CodedInputStream input,
                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                                learners_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000004;
                            }
                            learners_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = learners_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddLearnersRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddLearnersRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int                    LEARNERS_FIELD_NUMBER = 3;
        private com.google.protobuf.LazyStringList learners_;

        /**
         * repeated string learners = 3;
         */
        public com.google.protobuf.ProtocolStringList getLearnersList() {
            return learners_;
        }

        /**
         * repeated string learners = 3;
         */
        public int getLearnersCount() {
            return learners_.size();
        }

        /**
         * repeated string learners = 3;
         */
        public java.lang.String getLearners(int index) {
            return learners_.get(index);
        }

        /**
         * repeated string learners = 3;
         */
        public com.google.protobuf.ByteString getLearnersBytes(int index) {
            return learners_.getByteString(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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            for (int i = 0; i < learners_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, learners_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            {
                int dataSize = 0;
                for (int i = 0; i < learners_.size(); i++) {
                    dataSize += computeStringSizeNoTag(learners_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getLearnersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && getLearnersList().equals(other.getLearnersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (getLearnersCount() > 0) {
                hash = (37 * hash) + LEARNERS_FIELD_NUMBER;
                hash = (53 * hash) + getLearnersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(java.nio.ByteBuffer data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(byte[] data)
                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(byte[] data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(java.io.InputStream input)
                                                                                                                   throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                            throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                    throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest 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 jraft.AddLearnersRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.AddLearnersRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddLearnersRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddLearnersRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_AddLearnersRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = learners_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000004);
                }
                result.learners_ = learners_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (!other.learners_.isEmpty()) {
                    if (learners_.isEmpty()) {
                        learners_ = other.learners_;
                        bitField0_ = (bitField0_ & ~0x00000004);
                    } else {
                        ensureLearnersIsMutable();
                        learners_.addAll(other.learners_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureLearnersIsMutable() {
                if (!((bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = new com.google.protobuf.LazyStringArrayList(learners_);
                    bitField0_ |= 0x00000004;
                }
            }

            /**
             * repeated string learners = 3;
             */
            public com.google.protobuf.ProtocolStringList getLearnersList() {
                return learners_.getUnmodifiableView();
            }

            /**
             * repeated string learners = 3;
             */
            public int getLearnersCount() {
                return learners_.size();
            }

            /**
             * repeated string learners = 3;
             */
            public java.lang.String getLearners(int index) {
                return learners_.get(index);
            }

            /**
             * repeated string learners = 3;
             */
            public com.google.protobuf.ByteString getLearnersBytes(int index) {
                return learners_.getByteString(index);
            }

            /**
             * repeated string learners = 3;
             */
            public Builder setLearners(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addLearners(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addAllLearners(java.lang.Iterable values) {
                ensureLearnersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, learners_);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder clearLearners() {
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addLearnersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                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:jraft.AddLearnersRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.AddLearnersRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.AddLearnersRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface RemoveLearnersRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.RemoveLearnersRequest)
                                                   com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * repeated string learners = 3;
         */
        java.util.List getLearnersList();

        /**
         * repeated string learners = 3;
         */
        int getLearnersCount();

        /**
         * repeated string learners = 3;
         */
        java.lang.String getLearners(int index);

        /**
         * repeated string learners = 3;
         */
        com.google.protobuf.ByteString getLearnersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.RemoveLearnersRequest}
     */
    public static final class RemoveLearnersRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.RemoveLearnersRequest)
                                                                                                  RemoveLearnersRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use RemoveLearnersRequest.newBuilder() to construct.
        private RemoveLearnersRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private RemoveLearnersRequest() {
            groupId_ = "";
            leaderId_ = "";
            learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private RemoveLearnersRequest(com.google.protobuf.CodedInputStream input,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                                learners_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000004;
                            }
                            learners_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = learners_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemoveLearnersRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemoveLearnersRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int                    LEARNERS_FIELD_NUMBER = 3;
        private com.google.protobuf.LazyStringList learners_;

        /**
         * repeated string learners = 3;
         */
        public com.google.protobuf.ProtocolStringList getLearnersList() {
            return learners_;
        }

        /**
         * repeated string learners = 3;
         */
        public int getLearnersCount() {
            return learners_.size();
        }

        /**
         * repeated string learners = 3;
         */
        public java.lang.String getLearners(int index) {
            return learners_.get(index);
        }

        /**
         * repeated string learners = 3;
         */
        public com.google.protobuf.ByteString getLearnersBytes(int index) {
            return learners_.getByteString(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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            for (int i = 0; i < learners_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, learners_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            {
                int dataSize = 0;
                for (int i = 0; i < learners_.size(); i++) {
                    dataSize += computeStringSizeNoTag(learners_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getLearnersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && getLearnersList().equals(other.getLearnersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (getLearnersCount() > 0) {
                hash = (37 * hash) + LEARNERS_FIELD_NUMBER;
                hash = (53 * hash) + getLearnersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(java.nio.ByteBuffer data,
                                                                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(byte[] data)
                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(byte[] data,
                                                                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(java.io.InputStream input)
                                                                                                                      throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                               throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                       throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest 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 jraft.RemoveLearnersRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.RemoveLearnersRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemoveLearnersRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemoveLearnersRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_RemoveLearnersRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = learners_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000004);
                }
                result.learners_ = learners_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (!other.learners_.isEmpty()) {
                    if (learners_.isEmpty()) {
                        learners_ = other.learners_;
                        bitField0_ = (bitField0_ & ~0x00000004);
                    } else {
                        ensureLearnersIsMutable();
                        learners_.addAll(other.learners_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureLearnersIsMutable() {
                if (!((bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = new com.google.protobuf.LazyStringArrayList(learners_);
                    bitField0_ |= 0x00000004;
                }
            }

            /**
             * repeated string learners = 3;
             */
            public com.google.protobuf.ProtocolStringList getLearnersList() {
                return learners_.getUnmodifiableView();
            }

            /**
             * repeated string learners = 3;
             */
            public int getLearnersCount() {
                return learners_.size();
            }

            /**
             * repeated string learners = 3;
             */
            public java.lang.String getLearners(int index) {
                return learners_.get(index);
            }

            /**
             * repeated string learners = 3;
             */
            public com.google.protobuf.ByteString getLearnersBytes(int index) {
                return learners_.getByteString(index);
            }

            /**
             * repeated string learners = 3;
             */
            public Builder setLearners(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addLearners(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addAllLearners(java.lang.Iterable values) {
                ensureLearnersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, learners_);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder clearLearners() {
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addLearnersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                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:jraft.RemoveLearnersRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.RemoveLearnersRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.RemoveLearnersRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface ResetLearnersRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.ResetLearnersRequest)
                                                  com.google.protobuf.MessageOrBuilder {

        /**
         * required string group_id = 1;
         */
        boolean hasGroupId();

        /**
         * required string group_id = 1;
         */
        java.lang.String getGroupId();

        /**
         * required string group_id = 1;
         */
        com.google.protobuf.ByteString getGroupIdBytes();

        /**
         * required string leader_id = 2;
         */
        boolean hasLeaderId();

        /**
         * required string leader_id = 2;
         */
        java.lang.String getLeaderId();

        /**
         * required string leader_id = 2;
         */
        com.google.protobuf.ByteString getLeaderIdBytes();

        /**
         * repeated string learners = 3;
         */
        java.util.List getLearnersList();

        /**
         * repeated string learners = 3;
         */
        int getLearnersCount();

        /**
         * repeated string learners = 3;
         */
        java.lang.String getLearners(int index);

        /**
         * repeated string learners = 3;
         */
        com.google.protobuf.ByteString getLearnersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.ResetLearnersRequest}
     */
    public static final class ResetLearnersRequest extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.ResetLearnersRequest)
                                                                                                 ResetLearnersRequestOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use ResetLearnersRequest.newBuilder() to construct.
        private ResetLearnersRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private ResetLearnersRequest() {
            groupId_ = "";
            leaderId_ = "";
            learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private ResetLearnersRequest(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            groupId_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            leaderId_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                                learners_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000004;
                            }
                            learners_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = learners_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetLearnersRequest_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetLearnersRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.Builder.class);
        }

        private int                       bitField0_;
        public static final int           GROUP_ID_FIELD_NUMBER = 1;
        private volatile java.lang.Object groupId_;

        /**
         * required string group_id = 1;
         */
        public boolean hasGroupId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * required string group_id = 1;
         */
        public java.lang.String getGroupId() {
            java.lang.Object ref = groupId_;
            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();
                if (bs.isValidUtf8()) {
                    groupId_ = s;
                }
                return s;
            }
        }

        /**
         * required string group_id = 1;
         */
        public com.google.protobuf.ByteString getGroupIdBytes() {
            java.lang.Object ref = groupId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                groupId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int           LEADER_ID_FIELD_NUMBER = 2;
        private volatile java.lang.Object leaderId_;

        /**
         * required string leader_id = 2;
         */
        public boolean hasLeaderId() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * required string leader_id = 2;
         */
        public java.lang.String getLeaderId() {
            java.lang.Object ref = leaderId_;
            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();
                if (bs.isValidUtf8()) {
                    leaderId_ = s;
                }
                return s;
            }
        }

        /**
         * required string leader_id = 2;
         */
        public com.google.protobuf.ByteString getLeaderIdBytes() {
            java.lang.Object ref = leaderId_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                leaderId_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int                    LEARNERS_FIELD_NUMBER = 3;
        private com.google.protobuf.LazyStringList learners_;

        /**
         * repeated string learners = 3;
         */
        public com.google.protobuf.ProtocolStringList getLearnersList() {
            return learners_;
        }

        /**
         * repeated string learners = 3;
         */
        public int getLearnersCount() {
            return learners_.size();
        }

        /**
         * repeated string learners = 3;
         */
        public java.lang.String getLearners(int index) {
            return learners_.get(index);
        }

        /**
         * repeated string learners = 3;
         */
        public com.google.protobuf.ByteString getLearnersBytes(int index) {
            return learners_.getByteString(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;

            if (!hasGroupId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasLeaderId()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, leaderId_);
            }
            for (int i = 0; i < learners_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, learners_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, groupId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, leaderId_);
            }
            {
                int dataSize = 0;
                for (int i = 0; i < learners_.size(); i++) {
                    dataSize += computeStringSizeNoTag(learners_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getLearnersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest other = (com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest) obj;

            boolean result = true;
            result = result && (hasGroupId() == other.hasGroupId());
            if (hasGroupId()) {
                result = result && getGroupId().equals(other.getGroupId());
            }
            result = result && (hasLeaderId() == other.hasLeaderId());
            if (hasLeaderId()) {
                result = result && getLeaderId().equals(other.getLeaderId());
            }
            result = result && getLearnersList().equals(other.getLearnersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasGroupId()) {
                hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
                hash = (53 * hash) + getGroupId().hashCode();
            }
            if (hasLeaderId()) {
                hash = (37 * hash) + LEADER_ID_FIELD_NUMBER;
                hash = (53 * hash) + getLeaderId().hashCode();
            }
            if (getLearnersCount() > 0) {
                hash = (37 * hash) + LEARNERS_FIELD_NUMBER;
                hash = (53 * hash) + getLearnersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(java.nio.ByteBuffer data)
                                                                                                                    throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(java.nio.ByteBuffer data,
                                                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                       throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(com.google.protobuf.ByteString data)
                                                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(com.google.protobuf.ByteString data,
                                                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                       throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(byte[] data)
                                                                                                       throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(byte[] data,
                                                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                       throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(java.io.InputStream input)
                                                                                                                     throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseDelimitedFrom(java.io.InputStream input)
                                                                                                                              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest 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 com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                      throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest 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(com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest 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 jraft.ResetLearnersRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.ResetLearnersRequest)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetLearnersRequest_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetLearnersRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                groupId_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                leaderId_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_ResetLearnersRequest_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest build() {
                com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest result = new com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.groupId_ = groupId_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.leaderId_ = leaderId_;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = learners_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000004);
                }
                result.learners_ = learners_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest.getDefaultInstance())
                    return this;
                if (other.hasGroupId()) {
                    bitField0_ |= 0x00000001;
                    groupId_ = other.groupId_;
                    onChanged();
                }
                if (other.hasLeaderId()) {
                    bitField0_ |= 0x00000002;
                    leaderId_ = other.leaderId_;
                    onChanged();
                }
                if (!other.learners_.isEmpty()) {
                    if (learners_.isEmpty()) {
                        learners_ = other.learners_;
                        bitField0_ = (bitField0_ & ~0x00000004);
                    } else {
                        ensureLearnersIsMutable();
                        learners_.addAll(other.learners_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                if (!hasGroupId()) {
                    return false;
                }
                if (!hasLeaderId()) {
                    return false;
                }
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int              bitField0_;

            private java.lang.Object groupId_ = "";

            /**
             * required string group_id = 1;
             */
            public boolean hasGroupId() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * required string group_id = 1;
             */
            public java.lang.String getGroupId() {
                java.lang.Object ref = groupId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        groupId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public com.google.protobuf.ByteString getGroupIdBytes() {
                java.lang.Object ref = groupId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    groupId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder clearGroupId() {
                bitField0_ = (bitField0_ & ~0x00000001);
                groupId_ = getDefaultInstance().getGroupId();
                onChanged();
                return this;
            }

            /**
             * required string group_id = 1;
             */
            public Builder setGroupIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                groupId_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object leaderId_ = "";

            /**
             * required string leader_id = 2;
             */
            public boolean hasLeaderId() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * required string leader_id = 2;
             */
            public java.lang.String getLeaderId() {
                java.lang.Object ref = leaderId_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        leaderId_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public com.google.protobuf.ByteString getLeaderIdBytes() {
                java.lang.Object ref = leaderId_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    leaderId_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderId(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder clearLeaderId() {
                bitField0_ = (bitField0_ & ~0x00000002);
                leaderId_ = getDefaultInstance().getLeaderId();
                onChanged();
                return this;
            }

            /**
             * required string leader_id = 2;
             */
            public Builder setLeaderIdBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                leaderId_ = value;
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureLearnersIsMutable() {
                if (!((bitField0_ & 0x00000004) == 0x00000004)) {
                    learners_ = new com.google.protobuf.LazyStringArrayList(learners_);
                    bitField0_ |= 0x00000004;
                }
            }

            /**
             * repeated string learners = 3;
             */
            public com.google.protobuf.ProtocolStringList getLearnersList() {
                return learners_.getUnmodifiableView();
            }

            /**
             * repeated string learners = 3;
             */
            public int getLearnersCount() {
                return learners_.size();
            }

            /**
             * repeated string learners = 3;
             */
            public java.lang.String getLearners(int index) {
                return learners_.get(index);
            }

            /**
             * repeated string learners = 3;
             */
            public com.google.protobuf.ByteString getLearnersBytes(int index) {
                return learners_.getByteString(index);
            }

            /**
             * repeated string learners = 3;
             */
            public Builder setLearners(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addLearners(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addAllLearners(java.lang.Iterable values) {
                ensureLearnersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, learners_);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder clearLearners() {
                learners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000004);
                onChanged();
                return this;
            }

            /**
             * repeated string learners = 3;
             */
            public Builder addLearnersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureLearnersIsMutable();
                learners_.add(value);
                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:jraft.ResetLearnersRequest)
        }

        // @@protoc_insertion_point(class_scope:jraft.ResetLearnersRequest)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.ResetLearnersRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface LearnersOpResponseOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.LearnersOpResponse)
                                                com.google.protobuf.MessageOrBuilder {

        /**
         * repeated string old_learners = 1;
         */
        java.util.List getOldLearnersList();

        /**
         * repeated string old_learners = 1;
         */
        int getOldLearnersCount();

        /**
         * repeated string old_learners = 1;
         */
        java.lang.String getOldLearners(int index);

        /**
         * repeated string old_learners = 1;
         */
        com.google.protobuf.ByteString getOldLearnersBytes(int index);

        /**
         * repeated string new_learners = 2;
         */
        java.util.List getNewLearnersList();

        /**
         * repeated string new_learners = 2;
         */
        int getNewLearnersCount();

        /**
         * repeated string new_learners = 2;
         */
        java.lang.String getNewLearners(int index);

        /**
         * repeated string new_learners = 2;
         */
        com.google.protobuf.ByteString getNewLearnersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.LearnersOpResponse}
     */
    public static final class LearnersOpResponse extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.LearnersOpResponse)
                                                                                               LearnersOpResponseOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use LearnersOpResponse.newBuilder() to construct.
        private LearnersOpResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
            super(builder);
        }

        private LearnersOpResponse() {
            oldLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            newLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

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

        private LearnersOpResponse(com.google.protobuf.CodedInputStream input,
                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                                oldLearners_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000001;
                            }
                            oldLearners_.add(bs);
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                newLearners_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            newLearners_.add(bs);
                            break;
                        }
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                    oldLearners_ = oldLearners_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    newLearners_ = newLearners_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_LearnersOpResponse_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_LearnersOpResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.class,
                    com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.Builder.class);
        }

        public static final int                    OLD_LEARNERS_FIELD_NUMBER = 1;
        private com.google.protobuf.LazyStringList oldLearners_;

        /**
         * repeated string old_learners = 1;
         */
        public com.google.protobuf.ProtocolStringList getOldLearnersList() {
            return oldLearners_;
        }

        /**
         * repeated string old_learners = 1;
         */
        public int getOldLearnersCount() {
            return oldLearners_.size();
        }

        /**
         * repeated string old_learners = 1;
         */
        public java.lang.String getOldLearners(int index) {
            return oldLearners_.get(index);
        }

        /**
         * repeated string old_learners = 1;
         */
        public com.google.protobuf.ByteString getOldLearnersBytes(int index) {
            return oldLearners_.getByteString(index);
        }

        public static final int                    NEW_LEARNERS_FIELD_NUMBER = 2;
        private com.google.protobuf.LazyStringList newLearners_;

        /**
         * repeated string new_learners = 2;
         */
        public com.google.protobuf.ProtocolStringList getNewLearnersList() {
            return newLearners_;
        }

        /**
         * repeated string new_learners = 2;
         */
        public int getNewLearnersCount() {
            return newLearners_.size();
        }

        /**
         * repeated string new_learners = 2;
         */
        public java.lang.String getNewLearners(int index) {
            return newLearners_.get(index);
        }

        /**
         * repeated string new_learners = 2;
         */
        public com.google.protobuf.ByteString getNewLearnersBytes(int index) {
            return newLearners_.getByteString(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 {
            for (int i = 0; i < oldLearners_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, oldLearners_.getRaw(i));
            }
            for (int i = 0; i < newLearners_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, newLearners_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

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

            size = 0;
            {
                int dataSize = 0;
                for (int i = 0; i < oldLearners_.size(); i++) {
                    dataSize += computeStringSizeNoTag(oldLearners_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOldLearnersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < newLearners_.size(); i++) {
                    dataSize += computeStringSizeNoTag(newLearners_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getNewLearnersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse other = (com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse) obj;

            boolean result = true;
            result = result && getOldLearnersList().equals(other.getOldLearnersList());
            result = result && getNewLearnersList().equals(other.getNewLearnersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getOldLearnersCount() > 0) {
                hash = (37 * hash) + OLD_LEARNERS_FIELD_NUMBER;
                hash = (53 * hash) + getOldLearnersList().hashCode();
            }
            if (getNewLearnersCount() > 0) {
                hash = (37 * hash) + NEW_LEARNERS_FIELD_NUMBER;
                hash = (53 * hash) + getNewLearnersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(java.nio.ByteBuffer data)
                                                                                                                  throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(java.nio.ByteBuffer data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(com.google.protobuf.ByteString data)
                                                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(com.google.protobuf.ByteString data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(byte[] data)
                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(byte[] data,
                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(java.io.InputStream input)
                                                                                                                   throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseDelimitedFrom(java.io.InputStream input)
                                                                                                                            throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse 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 com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                    throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse 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(com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse 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 jraft.LearnersOpResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.LearnersOpResponse)
                                                                                                         com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_LearnersOpResponse_descriptor;
            }

            @java.lang.Override
            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_LearnersOpResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.class,
                        com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

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

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            @java.lang.Override
            public Builder clear() {
                super.clear();
                oldLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                newLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            @java.lang.Override
            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.internal_static_jraft_LearnersOpResponse_descriptor;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.getDefaultInstance();
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse build() {
                com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            @java.lang.Override
            public com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse buildPartial() {
                com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse result = new com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse(
                    this);
                int from_bitField0_ = bitField0_;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldLearners_ = oldLearners_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.oldLearners_ = oldLearners_;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    newLearners_ = newLearners_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.newLearners_ = newLearners_;
                onBuilt();
                return result;
            }

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

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

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

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

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

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

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse) {
                    return mergeFrom((com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse other) {
                if (other == com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse.getDefaultInstance())
                    return this;
                if (!other.oldLearners_.isEmpty()) {
                    if (oldLearners_.isEmpty()) {
                        oldLearners_ = other.oldLearners_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensureOldLearnersIsMutable();
                        oldLearners_.addAll(other.oldLearners_);
                    }
                    onChanged();
                }
                if (!other.newLearners_.isEmpty()) {
                    if (newLearners_.isEmpty()) {
                        newLearners_ = other.newLearners_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureNewLearnersIsMutable();
                        newLearners_.addAll(other.newLearners_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            @java.lang.Override
            public final boolean isInitialized() {
                return true;
            }

            @java.lang.Override
            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                bitField0_;

            private com.google.protobuf.LazyStringList oldLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOldLearnersIsMutable() {
                if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                    oldLearners_ = new com.google.protobuf.LazyStringArrayList(oldLearners_);
                    bitField0_ |= 0x00000001;
                }
            }

            /**
             * repeated string old_learners = 1;
             */
            public com.google.protobuf.ProtocolStringList getOldLearnersList() {
                return oldLearners_.getUnmodifiableView();
            }

            /**
             * repeated string old_learners = 1;
             */
            public int getOldLearnersCount() {
                return oldLearners_.size();
            }

            /**
             * repeated string old_learners = 1;
             */
            public java.lang.String getOldLearners(int index) {
                return oldLearners_.get(index);
            }

            /**
             * repeated string old_learners = 1;
             */
            public com.google.protobuf.ByteString getOldLearnersBytes(int index) {
                return oldLearners_.getByteString(index);
            }

            /**
             * repeated string old_learners = 1;
             */
            public Builder setOldLearners(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldLearnersIsMutable();
                oldLearners_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_learners = 1;
             */
            public Builder addOldLearners(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldLearnersIsMutable();
                oldLearners_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string old_learners = 1;
             */
            public Builder addAllOldLearners(java.lang.Iterable values) {
                ensureOldLearnersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, oldLearners_);
                onChanged();
                return this;
            }

            /**
             * repeated string old_learners = 1;
             */
            public Builder clearOldLearners() {
                oldLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }

            /**
             * repeated string old_learners = 1;
             */
            public Builder addOldLearnersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldLearnersIsMutable();
                oldLearners_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList newLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureNewLearnersIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    newLearners_ = new com.google.protobuf.LazyStringArrayList(newLearners_);
                    bitField0_ |= 0x00000002;
                }
            }

            /**
             * repeated string new_learners = 2;
             */
            public com.google.protobuf.ProtocolStringList getNewLearnersList() {
                return newLearners_.getUnmodifiableView();
            }

            /**
             * repeated string new_learners = 2;
             */
            public int getNewLearnersCount() {
                return newLearners_.size();
            }

            /**
             * repeated string new_learners = 2;
             */
            public java.lang.String getNewLearners(int index) {
                return newLearners_.get(index);
            }

            /**
             * repeated string new_learners = 2;
             */
            public com.google.protobuf.ByteString getNewLearnersBytes(int index) {
                return newLearners_.getByteString(index);
            }

            /**
             * repeated string new_learners = 2;
             */
            public Builder setNewLearners(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewLearnersIsMutable();
                newLearners_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_learners = 2;
             */
            public Builder addNewLearners(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewLearnersIsMutable();
                newLearners_.add(value);
                onChanged();
                return this;
            }

            /**
             * repeated string new_learners = 2;
             */
            public Builder addAllNewLearners(java.lang.Iterable values) {
                ensureNewLearnersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, newLearners_);
                onChanged();
                return this;
            }

            /**
             * repeated string new_learners = 2;
             */
            public Builder clearNewLearners() {
                newLearners_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            /**
             * repeated string new_learners = 2;
             */
            public Builder addNewLearnersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureNewLearnersIsMutable();
                newLearners_.add(value);
                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:jraft.LearnersOpResponse)
        }

        // @@protoc_insertion_point(class_scope:jraft.LearnersOpResponse)
        private static final com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse();
        }

        public static com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public com.alipay.sofa.jraft.rpc.CliRequests.LearnersOpResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_AddPeerRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_AddPeerRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_AddPeerResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_AddPeerResponse_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_RemovePeerRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_RemovePeerRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_RemovePeerResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_RemovePeerResponse_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_ChangePeersRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_ChangePeersRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_ChangePeersResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_ChangePeersResponse_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_SnapshotRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_SnapshotRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_ResetPeerRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_ResetPeerRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_TransferLeaderRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_TransferLeaderRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_GetLeaderRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_GetLeaderRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_GetLeaderResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_GetLeaderResponse_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_GetPeersRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_GetPeersRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_GetPeersResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_GetPeersResponse_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_AddLearnersRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_AddLearnersRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_RemoveLearnersRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_RemoveLearnersRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_ResetLearnersRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_ResetLearnersRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_LearnersOpResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_LearnersOpResponse_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\tcli.proto\022\005jraft\"F\n\016AddPeerRequest\022\020\n\010"
                                              + "group_id\030\001 \002(\t\022\021\n\tleader_id\030\002 \002(\t\022\017\n\007pee"
                                              + "r_id\030\003 \002(\t\"7\n\017AddPeerResponse\022\021\n\told_pee"
                                              + "rs\030\001 \003(\t\022\021\n\tnew_peers\030\002 \003(\t\"I\n\021RemovePee"
                                              + "rRequest\022\020\n\010group_id\030\001 \002(\t\022\021\n\tleader_id\030"
                                              + "\002 \002(\t\022\017\n\007peer_id\030\003 \002(\t\":\n\022RemovePeerResp"
                                              + "onse\022\021\n\told_peers\030\001 \003(\t\022\021\n\tnew_peers\030\002 \003"
                                              + "(\t\"L\n\022ChangePeersRequest\022\020\n\010group_id\030\001 \002"
                                              + "(\t\022\021\n\tleader_id\030\002 \002(\t\022\021\n\tnew_peers\030\003 \003(\t"
                                              + "\";\n\023ChangePeersResponse\022\021\n\told_peers\030\001 \003"
                                              + "(\t\022\021\n\tnew_peers\030\002 \003(\t\"4\n\017SnapshotRequest"
                                              + "\022\020\n\010group_id\030\001 \002(\t\022\017\n\007peer_id\030\002 \001(\t\"[\n\020R"
                                              + "esetPeerRequest\022\020\n\010group_id\030\001 \002(\t\022\017\n\007pee"
                                              + "r_id\030\002 \002(\t\022\021\n\told_peers\030\003 \003(\t\022\021\n\tnew_pee"
                                              + "rs\030\004 \003(\t\"M\n\025TransferLeaderRequest\022\020\n\010gro"
                                              + "up_id\030\001 \002(\t\022\021\n\tleader_id\030\002 \002(\t\022\017\n\007peer_i"
                                              + "d\030\003 \001(\t\"5\n\020GetLeaderRequest\022\020\n\010group_id\030"
                                              + "\001 \002(\t\022\017\n\007peer_id\030\002 \001(\t\"&\n\021GetLeaderRespo"
                                              + "nse\022\021\n\tleader_id\030\001 \002(\t\"Q\n\017GetPeersReques"
                                              + "t\022\020\n\010group_id\030\001 \002(\t\022\021\n\tleader_id\030\002 \001(\t\022\031"
                                              + "\n\nonly_alive\030\003 \001(\010:\005false\"3\n\020GetPeersRes"
                                              + "ponse\022\r\n\005peers\030\001 \003(\t\022\020\n\010learners\030\002 \003(\t\"K"
                                              + "\n\022AddLearnersRequest\022\020\n\010group_id\030\001 \002(\t\022\021"
                                              + "\n\tleader_id\030\002 \002(\t\022\020\n\010learners\030\003 \003(\t\"N\n\025R"
                                              + "emoveLearnersRequest\022\020\n\010group_id\030\001 \002(\t\022\021"
                                              + "\n\tleader_id\030\002 \002(\t\022\020\n\010learners\030\003 \003(\t\"M\n\024R"
                                              + "esetLearnersRequest\022\020\n\010group_id\030\001 \002(\t\022\021\n"
                                              + "\tleader_id\030\002 \002(\t\022\020\n\010learners\030\003 \003(\t\"@\n\022Le"
                                              + "arnersOpResponse\022\024\n\014old_learners\030\001 \003(\t\022\024"
                                              + "\n\014new_learners\030\002 \003(\tB(\n\031com.alipay.sofa."
                                              + "jraft.rpcB\013CliRequests" };
        com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
            public com.google.protobuf.ExtensionRegistry assignDescriptors(com.google.protobuf.Descriptors.FileDescriptor root) {
                descriptor = root;
                return null;
            }
        };
        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData,
            new com.google.protobuf.Descriptors.FileDescriptor[] {}, assigner);
        internal_static_jraft_AddPeerRequest_descriptor = getDescriptor().getMessageTypes().get(0);
        internal_static_jraft_AddPeerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_AddPeerRequest_descriptor,
            new java.lang.String[] { "GroupId", "LeaderId", "PeerId", });
        internal_static_jraft_AddPeerResponse_descriptor = getDescriptor().getMessageTypes().get(1);
        internal_static_jraft_AddPeerResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_AddPeerResponse_descriptor, new java.lang.String[] { "OldPeers", "NewPeers", });
        internal_static_jraft_RemovePeerRequest_descriptor = getDescriptor().getMessageTypes().get(2);
        internal_static_jraft_RemovePeerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_RemovePeerRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "PeerId", });
        internal_static_jraft_RemovePeerResponse_descriptor = getDescriptor().getMessageTypes().get(3);
        internal_static_jraft_RemovePeerResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_RemovePeerResponse_descriptor, new java.lang.String[] { "OldPeers", "NewPeers", });
        internal_static_jraft_ChangePeersRequest_descriptor = getDescriptor().getMessageTypes().get(4);
        internal_static_jraft_ChangePeersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_ChangePeersRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "NewPeers", });
        internal_static_jraft_ChangePeersResponse_descriptor = getDescriptor().getMessageTypes().get(5);
        internal_static_jraft_ChangePeersResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_ChangePeersResponse_descriptor, new java.lang.String[] { "OldPeers", "NewPeers", });
        internal_static_jraft_SnapshotRequest_descriptor = getDescriptor().getMessageTypes().get(6);
        internal_static_jraft_SnapshotRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_SnapshotRequest_descriptor, new java.lang.String[] { "GroupId", "PeerId", });
        internal_static_jraft_ResetPeerRequest_descriptor = getDescriptor().getMessageTypes().get(7);
        internal_static_jraft_ResetPeerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_ResetPeerRequest_descriptor, new java.lang.String[] { "GroupId", "PeerId",
            "OldPeers", "NewPeers", });
        internal_static_jraft_TransferLeaderRequest_descriptor = getDescriptor().getMessageTypes().get(8);
        internal_static_jraft_TransferLeaderRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_TransferLeaderRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "PeerId", });
        internal_static_jraft_GetLeaderRequest_descriptor = getDescriptor().getMessageTypes().get(9);
        internal_static_jraft_GetLeaderRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_GetLeaderRequest_descriptor, new java.lang.String[] { "GroupId", "PeerId", });
        internal_static_jraft_GetLeaderResponse_descriptor = getDescriptor().getMessageTypes().get(10);
        internal_static_jraft_GetLeaderResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_GetLeaderResponse_descriptor, new java.lang.String[] { "LeaderId", });
        internal_static_jraft_GetPeersRequest_descriptor = getDescriptor().getMessageTypes().get(11);
        internal_static_jraft_GetPeersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_GetPeersRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "OnlyAlive", });
        internal_static_jraft_GetPeersResponse_descriptor = getDescriptor().getMessageTypes().get(12);
        internal_static_jraft_GetPeersResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_GetPeersResponse_descriptor, new java.lang.String[] { "Peers", "Learners", });
        internal_static_jraft_AddLearnersRequest_descriptor = getDescriptor().getMessageTypes().get(13);
        internal_static_jraft_AddLearnersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_AddLearnersRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "Learners", });
        internal_static_jraft_RemoveLearnersRequest_descriptor = getDescriptor().getMessageTypes().get(14);
        internal_static_jraft_RemoveLearnersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_RemoveLearnersRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "Learners", });
        internal_static_jraft_ResetLearnersRequest_descriptor = getDescriptor().getMessageTypes().get(15);
        internal_static_jraft_ResetLearnersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_ResetLearnersRequest_descriptor, new java.lang.String[] { "GroupId", "LeaderId",
            "Learners", });
        internal_static_jraft_LearnersOpResponse_descriptor = getDescriptor().getMessageTypes().get(16);
        internal_static_jraft_LearnersOpResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_LearnersOpResponse_descriptor,
            new java.lang.String[] { "OldLearners", "NewLearners", });
    }

    // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy