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

wechat.protobuf.WCExtInfoProto Maven / Gradle / Ivy

There is a newer version: 8.0.48.01
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: WCExtInfo_proto.proto

package wechat.protobuf;

public final class WCExtInfoProto {
  private WCExtInfoProto() {}
  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 WCExtInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.WCExtInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
     * @return Whether the wcstf field is set.
     */
    boolean hasWcstf();
    /**
     * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
     * @return The wcstf.
     */
    wechat.protobuf.SKBuiltinString_ getWcstf();
    /**
     * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getWcstfOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
     * @return Whether the wcste field is set.
     */
    boolean hasWcste();
    /**
     * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
     * @return The wcste.
     */
    wechat.protobuf.SKBuiltinString_ getWcste();
    /**
     * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getWcsteOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ ccData = 3;
     * @return Whether the ccData field is set.
     */
    boolean hasCcData();
    /**
     * optional .wechat_proto.SKBuiltinString_ ccData = 3;
     * @return The ccData.
     */
    wechat.protobuf.SKBuiltinString_ getCcData();
    /**
     * optional .wechat_proto.SKBuiltinString_ ccData = 3;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getCcDataOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
     * @return Whether the userAttrInfo field is set.
     */
    boolean hasUserAttrInfo();
    /**
     * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
     * @return The userAttrInfo.
     */
    wechat.protobuf.SKBuiltinString_ getUserAttrInfo();
    /**
     * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getUserAttrInfoOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
     * @return Whether the acgiDeviceInfo field is set.
     */
    boolean hasAcgiDeviceInfo();
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
     * @return The acgiDeviceInfo.
     */
    wechat.protobuf.SKBuiltinString_ getAcgiDeviceInfo();
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getAcgiDeviceInfoOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
     * @return Whether the acgiTuring field is set.
     */
    boolean hasAcgiTuring();
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
     * @return The acgiTuring.
     */
    wechat.protobuf.SKBuiltinString_ getAcgiTuring();
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getAcgiTuringOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
     * @return Whether the deviceToken field is set.
     */
    boolean hasDeviceToken();
    /**
     * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
     * @return The deviceToken.
     */
    wechat.protobuf.SKBuiltinString_ getDeviceToken();
    /**
     * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getDeviceTokenOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
     * @return Whether the behaviorId field is set.
     */
    boolean hasBehaviorId();
    /**
     * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
     * @return The behaviorId.
     */
    wechat.protobuf.SKBuiltinString_ getBehaviorId();
    /**
     * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getBehaviorIdOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
     * @return Whether the sensorSKBuiltinString field is set.
     */
    boolean hasSensorSKBuiltinString();
    /**
     * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
     * @return The sensorSKBuiltinString.
     */
    wechat.protobuf.SKBuiltinString_ getSensorSKBuiltinString();
    /**
     * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getSensorSKBuiltinStringOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
     * @return Whether the turingOwner field is set.
     */
    boolean hasTuringOwner();
    /**
     * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
     * @return The turingOwner.
     */
    wechat.protobuf.SKBuiltinString_ getTuringOwner();
    /**
     * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getTuringOwnerOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
     * @return Whether the iosTuringHuman field is set.
     */
    boolean hasIosTuringHuman();
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
     * @return The iosTuringHuman.
     */
    wechat.protobuf.SKBuiltinString_ getIosTuringHuman();
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getIosTuringHumanOrBuilder();

    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
     * @return Whether the iosTuringOwner field is set.
     */
    boolean hasIosTuringOwner();
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
     * @return The iosTuringOwner.
     */
    wechat.protobuf.SKBuiltinString_ getIosTuringOwner();
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
     */
    wechat.protobuf.SKBuiltinString_OrBuilder getIosTuringOwnerOrBuilder();
  }
  /**
   * Protobuf type {@code wechat_proto.WCExtInfo}
   */
  public static final class WCExtInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.WCExtInfo)
      WCExtInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use WCExtInfo.newBuilder() to construct.
    private WCExtInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private WCExtInfo() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private WCExtInfo(
        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: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = wcstf_.toBuilder();
              }
              wcstf_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(wcstf_);
                wcstf_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = wcste_.toBuilder();
              }
              wcste_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(wcste_);
                wcste_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = ccData_.toBuilder();
              }
              ccData_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ccData_);
                ccData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) != 0)) {
                subBuilder = userAttrInfo_.toBuilder();
              }
              userAttrInfo_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(userAttrInfo_);
                userAttrInfo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) != 0)) {
                subBuilder = acgiDeviceInfo_.toBuilder();
              }
              acgiDeviceInfo_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(acgiDeviceInfo_);
                acgiDeviceInfo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 50: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000020) != 0)) {
                subBuilder = acgiTuring_.toBuilder();
              }
              acgiTuring_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(acgiTuring_);
                acgiTuring_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000020;
              break;
            }
            case 58: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000040) != 0)) {
                subBuilder = deviceToken_.toBuilder();
              }
              deviceToken_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(deviceToken_);
                deviceToken_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000040;
              break;
            }
            case 66: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) != 0)) {
                subBuilder = behaviorId_.toBuilder();
              }
              behaviorId_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(behaviorId_);
                behaviorId_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 74: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) != 0)) {
                subBuilder = sensorSKBuiltinString_.toBuilder();
              }
              sensorSKBuiltinString_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(sensorSKBuiltinString_);
                sensorSKBuiltinString_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 82: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000200) != 0)) {
                subBuilder = turingOwner_.toBuilder();
              }
              turingOwner_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(turingOwner_);
                turingOwner_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000200;
              break;
            }
            case 810: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000400) != 0)) {
                subBuilder = iosTuringHuman_.toBuilder();
              }
              iosTuringHuman_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(iosTuringHuman_);
                iosTuringHuman_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000400;
              break;
            }
            case 818: {
              wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
              if (((bitField0_ & 0x00000800) != 0)) {
                subBuilder = iosTuringOwner_.toBuilder();
              }
              iosTuringOwner_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(iosTuringOwner_);
                iosTuringOwner_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000800;
              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 wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCExtInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCExtInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.WCExtInfoProto.WCExtInfo.class, wechat.protobuf.WCExtInfoProto.WCExtInfo.Builder.class);
    }

    private int bitField0_;
    public static final int WCSTF__FIELD_NUMBER = 1;
    private wechat.protobuf.SKBuiltinString_ wcstf_;
    /**
     * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
     * @return Whether the wcstf field is set.
     */
    @java.lang.Override
    public boolean hasWcstf() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
     * @return The wcstf.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getWcstf() {
      return wcstf_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcstf_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getWcstfOrBuilder() {
      return wcstf_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcstf_;
    }

    public static final int WCSTE__FIELD_NUMBER = 2;
    private wechat.protobuf.SKBuiltinString_ wcste_;
    /**
     * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
     * @return Whether the wcste field is set.
     */
    @java.lang.Override
    public boolean hasWcste() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
     * @return The wcste.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getWcste() {
      return wcste_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcste_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getWcsteOrBuilder() {
      return wcste_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcste_;
    }

    public static final int CCDATA_FIELD_NUMBER = 3;
    private wechat.protobuf.SKBuiltinString_ ccData_;
    /**
     * optional .wechat_proto.SKBuiltinString_ ccData = 3;
     * @return Whether the ccData field is set.
     */
    @java.lang.Override
    public boolean hasCcData() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ccData = 3;
     * @return The ccData.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getCcData() {
      return ccData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : ccData_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ccData = 3;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getCcDataOrBuilder() {
      return ccData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : ccData_;
    }

    public static final int USERATTRINFO__FIELD_NUMBER = 4;
    private wechat.protobuf.SKBuiltinString_ userAttrInfo_;
    /**
     * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
     * @return Whether the userAttrInfo field is set.
     */
    @java.lang.Override
    public boolean hasUserAttrInfo() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
     * @return The userAttrInfo.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getUserAttrInfo() {
      return userAttrInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : userAttrInfo_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getUserAttrInfoOrBuilder() {
      return userAttrInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : userAttrInfo_;
    }

    public static final int ACGIDEVICEINFO__FIELD_NUMBER = 5;
    private wechat.protobuf.SKBuiltinString_ acgiDeviceInfo_;
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
     * @return Whether the acgiDeviceInfo field is set.
     */
    @java.lang.Override
    public boolean hasAcgiDeviceInfo() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
     * @return The acgiDeviceInfo.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getAcgiDeviceInfo() {
      return acgiDeviceInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiDeviceInfo_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getAcgiDeviceInfoOrBuilder() {
      return acgiDeviceInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiDeviceInfo_;
    }

    public static final int ACGITURING__FIELD_NUMBER = 6;
    private wechat.protobuf.SKBuiltinString_ acgiTuring_;
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
     * @return Whether the acgiTuring field is set.
     */
    @java.lang.Override
    public boolean hasAcgiTuring() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
     * @return The acgiTuring.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getAcgiTuring() {
      return acgiTuring_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiTuring_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getAcgiTuringOrBuilder() {
      return acgiTuring_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiTuring_;
    }

    public static final int DEVICETOKEN__FIELD_NUMBER = 7;
    private wechat.protobuf.SKBuiltinString_ deviceToken_;
    /**
     * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
     * @return Whether the deviceToken field is set.
     */
    @java.lang.Override
    public boolean hasDeviceToken() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
     * @return The deviceToken.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getDeviceToken() {
      return deviceToken_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : deviceToken_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getDeviceTokenOrBuilder() {
      return deviceToken_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : deviceToken_;
    }

    public static final int BEHAVIORID__FIELD_NUMBER = 8;
    private wechat.protobuf.SKBuiltinString_ behaviorId_;
    /**
     * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
     * @return Whether the behaviorId field is set.
     */
    @java.lang.Override
    public boolean hasBehaviorId() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
     * @return The behaviorId.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getBehaviorId() {
      return behaviorId_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : behaviorId_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getBehaviorIdOrBuilder() {
      return behaviorId_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : behaviorId_;
    }

    public static final int SENSORSKBUILTINSTRING___FIELD_NUMBER = 9;
    private wechat.protobuf.SKBuiltinString_ sensorSKBuiltinString_;
    /**
     * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
     * @return Whether the sensorSKBuiltinString field is set.
     */
    @java.lang.Override
    public boolean hasSensorSKBuiltinString() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
     * @return The sensorSKBuiltinString.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getSensorSKBuiltinString() {
      return sensorSKBuiltinString_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : sensorSKBuiltinString_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getSensorSKBuiltinStringOrBuilder() {
      return sensorSKBuiltinString_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : sensorSKBuiltinString_;
    }

    public static final int TURINGOWNER__FIELD_NUMBER = 10;
    private wechat.protobuf.SKBuiltinString_ turingOwner_;
    /**
     * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
     * @return Whether the turingOwner field is set.
     */
    @java.lang.Override
    public boolean hasTuringOwner() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
     * @return The turingOwner.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getTuringOwner() {
      return turingOwner_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : turingOwner_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getTuringOwnerOrBuilder() {
      return turingOwner_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : turingOwner_;
    }

    public static final int IOSTURINGHUMAN__FIELD_NUMBER = 101;
    private wechat.protobuf.SKBuiltinString_ iosTuringHuman_;
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
     * @return Whether the iosTuringHuman field is set.
     */
    @java.lang.Override
    public boolean hasIosTuringHuman() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
     * @return The iosTuringHuman.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getIosTuringHuman() {
      return iosTuringHuman_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringHuman_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getIosTuringHumanOrBuilder() {
      return iosTuringHuman_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringHuman_;
    }

    public static final int IOSTURINGOWNER__FIELD_NUMBER = 102;
    private wechat.protobuf.SKBuiltinString_ iosTuringOwner_;
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
     * @return Whether the iosTuringOwner field is set.
     */
    @java.lang.Override
    public boolean hasIosTuringOwner() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
     * @return The iosTuringOwner.
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_ getIosTuringOwner() {
      return iosTuringOwner_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringOwner_;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
     */
    @java.lang.Override
    public wechat.protobuf.SKBuiltinString_OrBuilder getIosTuringOwnerOrBuilder() {
      return iosTuringOwner_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringOwner_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getWcstf());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getWcste());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getCcData());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(4, getUserAttrInfo());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(5, getAcgiDeviceInfo());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(6, getAcgiTuring());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeMessage(7, getDeviceToken());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeMessage(8, getBehaviorId());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeMessage(9, getSensorSKBuiltinString());
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeMessage(10, getTuringOwner());
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeMessage(101, getIosTuringHuman());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeMessage(102, getIosTuringOwner());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getWcstf());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getWcste());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getCcData());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getUserAttrInfo());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getAcgiDeviceInfo());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getAcgiTuring());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getDeviceToken());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getBehaviorId());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getSensorSKBuiltinString());
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getTuringOwner());
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(101, getIosTuringHuman());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(102, getIosTuringOwner());
      }
      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 wechat.protobuf.WCExtInfoProto.WCExtInfo)) {
        return super.equals(obj);
      }
      wechat.protobuf.WCExtInfoProto.WCExtInfo other = (wechat.protobuf.WCExtInfoProto.WCExtInfo) obj;

      if (hasWcstf() != other.hasWcstf()) return false;
      if (hasWcstf()) {
        if (!getWcstf()
            .equals(other.getWcstf())) return false;
      }
      if (hasWcste() != other.hasWcste()) return false;
      if (hasWcste()) {
        if (!getWcste()
            .equals(other.getWcste())) return false;
      }
      if (hasCcData() != other.hasCcData()) return false;
      if (hasCcData()) {
        if (!getCcData()
            .equals(other.getCcData())) return false;
      }
      if (hasUserAttrInfo() != other.hasUserAttrInfo()) return false;
      if (hasUserAttrInfo()) {
        if (!getUserAttrInfo()
            .equals(other.getUserAttrInfo())) return false;
      }
      if (hasAcgiDeviceInfo() != other.hasAcgiDeviceInfo()) return false;
      if (hasAcgiDeviceInfo()) {
        if (!getAcgiDeviceInfo()
            .equals(other.getAcgiDeviceInfo())) return false;
      }
      if (hasAcgiTuring() != other.hasAcgiTuring()) return false;
      if (hasAcgiTuring()) {
        if (!getAcgiTuring()
            .equals(other.getAcgiTuring())) return false;
      }
      if (hasDeviceToken() != other.hasDeviceToken()) return false;
      if (hasDeviceToken()) {
        if (!getDeviceToken()
            .equals(other.getDeviceToken())) return false;
      }
      if (hasBehaviorId() != other.hasBehaviorId()) return false;
      if (hasBehaviorId()) {
        if (!getBehaviorId()
            .equals(other.getBehaviorId())) return false;
      }
      if (hasSensorSKBuiltinString() != other.hasSensorSKBuiltinString()) return false;
      if (hasSensorSKBuiltinString()) {
        if (!getSensorSKBuiltinString()
            .equals(other.getSensorSKBuiltinString())) return false;
      }
      if (hasTuringOwner() != other.hasTuringOwner()) return false;
      if (hasTuringOwner()) {
        if (!getTuringOwner()
            .equals(other.getTuringOwner())) return false;
      }
      if (hasIosTuringHuman() != other.hasIosTuringHuman()) return false;
      if (hasIosTuringHuman()) {
        if (!getIosTuringHuman()
            .equals(other.getIosTuringHuman())) return false;
      }
      if (hasIosTuringOwner() != other.hasIosTuringOwner()) return false;
      if (hasIosTuringOwner()) {
        if (!getIosTuringOwner()
            .equals(other.getIosTuringOwner())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasWcstf()) {
        hash = (37 * hash) + WCSTF__FIELD_NUMBER;
        hash = (53 * hash) + getWcstf().hashCode();
      }
      if (hasWcste()) {
        hash = (37 * hash) + WCSTE__FIELD_NUMBER;
        hash = (53 * hash) + getWcste().hashCode();
      }
      if (hasCcData()) {
        hash = (37 * hash) + CCDATA_FIELD_NUMBER;
        hash = (53 * hash) + getCcData().hashCode();
      }
      if (hasUserAttrInfo()) {
        hash = (37 * hash) + USERATTRINFO__FIELD_NUMBER;
        hash = (53 * hash) + getUserAttrInfo().hashCode();
      }
      if (hasAcgiDeviceInfo()) {
        hash = (37 * hash) + ACGIDEVICEINFO__FIELD_NUMBER;
        hash = (53 * hash) + getAcgiDeviceInfo().hashCode();
      }
      if (hasAcgiTuring()) {
        hash = (37 * hash) + ACGITURING__FIELD_NUMBER;
        hash = (53 * hash) + getAcgiTuring().hashCode();
      }
      if (hasDeviceToken()) {
        hash = (37 * hash) + DEVICETOKEN__FIELD_NUMBER;
        hash = (53 * hash) + getDeviceToken().hashCode();
      }
      if (hasBehaviorId()) {
        hash = (37 * hash) + BEHAVIORID__FIELD_NUMBER;
        hash = (53 * hash) + getBehaviorId().hashCode();
      }
      if (hasSensorSKBuiltinString()) {
        hash = (37 * hash) + SENSORSKBUILTINSTRING___FIELD_NUMBER;
        hash = (53 * hash) + getSensorSKBuiltinString().hashCode();
      }
      if (hasTuringOwner()) {
        hash = (37 * hash) + TURINGOWNER__FIELD_NUMBER;
        hash = (53 * hash) + getTuringOwner().hashCode();
      }
      if (hasIosTuringHuman()) {
        hash = (37 * hash) + IOSTURINGHUMAN__FIELD_NUMBER;
        hash = (53 * hash) + getIosTuringHuman().hashCode();
      }
      if (hasIosTuringOwner()) {
        hash = (37 * hash) + IOSTURINGOWNER__FIELD_NUMBER;
        hash = (53 * hash) + getIosTuringOwner().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCExtInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.WCExtInfoProto.WCExtInfo.class, wechat.protobuf.WCExtInfoProto.WCExtInfo.Builder.class);
      }

      // Construct using wechat.protobuf.WCExtInfoProto.WCExtInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getWcstfFieldBuilder();
          getWcsteFieldBuilder();
          getCcDataFieldBuilder();
          getUserAttrInfoFieldBuilder();
          getAcgiDeviceInfoFieldBuilder();
          getAcgiTuringFieldBuilder();
          getDeviceTokenFieldBuilder();
          getBehaviorIdFieldBuilder();
          getSensorSKBuiltinStringFieldBuilder();
          getTuringOwnerFieldBuilder();
          getIosTuringHumanFieldBuilder();
          getIosTuringOwnerFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (wcstfBuilder_ == null) {
          wcstf_ = null;
        } else {
          wcstfBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (wcsteBuilder_ == null) {
          wcste_ = null;
        } else {
          wcsteBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (ccDataBuilder_ == null) {
          ccData_ = null;
        } else {
          ccDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (userAttrInfoBuilder_ == null) {
          userAttrInfo_ = null;
        } else {
          userAttrInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (acgiDeviceInfoBuilder_ == null) {
          acgiDeviceInfo_ = null;
        } else {
          acgiDeviceInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (acgiTuringBuilder_ == null) {
          acgiTuring_ = null;
        } else {
          acgiTuringBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        if (deviceTokenBuilder_ == null) {
          deviceToken_ = null;
        } else {
          deviceTokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        if (behaviorIdBuilder_ == null) {
          behaviorId_ = null;
        } else {
          behaviorIdBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (sensorSKBuiltinStringBuilder_ == null) {
          sensorSKBuiltinString_ = null;
        } else {
          sensorSKBuiltinStringBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        if (turingOwnerBuilder_ == null) {
          turingOwner_ = null;
        } else {
          turingOwnerBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        if (iosTuringHumanBuilder_ == null) {
          iosTuringHuman_ = null;
        } else {
          iosTuringHumanBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000400);
        if (iosTuringOwnerBuilder_ == null) {
          iosTuringOwner_ = null;
        } else {
          iosTuringOwnerBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCExtInfo_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCExtInfo getDefaultInstanceForType() {
        return wechat.protobuf.WCExtInfoProto.WCExtInfo.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCExtInfo build() {
        wechat.protobuf.WCExtInfoProto.WCExtInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCExtInfo buildPartial() {
        wechat.protobuf.WCExtInfoProto.WCExtInfo result = new wechat.protobuf.WCExtInfoProto.WCExtInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (wcstfBuilder_ == null) {
            result.wcstf_ = wcstf_;
          } else {
            result.wcstf_ = wcstfBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (wcsteBuilder_ == null) {
            result.wcste_ = wcste_;
          } else {
            result.wcste_ = wcsteBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (ccDataBuilder_ == null) {
            result.ccData_ = ccData_;
          } else {
            result.ccData_ = ccDataBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          if (userAttrInfoBuilder_ == null) {
            result.userAttrInfo_ = userAttrInfo_;
          } else {
            result.userAttrInfo_ = userAttrInfoBuilder_.build();
          }
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          if (acgiDeviceInfoBuilder_ == null) {
            result.acgiDeviceInfo_ = acgiDeviceInfo_;
          } else {
            result.acgiDeviceInfo_ = acgiDeviceInfoBuilder_.build();
          }
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          if (acgiTuringBuilder_ == null) {
            result.acgiTuring_ = acgiTuring_;
          } else {
            result.acgiTuring_ = acgiTuringBuilder_.build();
          }
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          if (deviceTokenBuilder_ == null) {
            result.deviceToken_ = deviceToken_;
          } else {
            result.deviceToken_ = deviceTokenBuilder_.build();
          }
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          if (behaviorIdBuilder_ == null) {
            result.behaviorId_ = behaviorId_;
          } else {
            result.behaviorId_ = behaviorIdBuilder_.build();
          }
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          if (sensorSKBuiltinStringBuilder_ == null) {
            result.sensorSKBuiltinString_ = sensorSKBuiltinString_;
          } else {
            result.sensorSKBuiltinString_ = sensorSKBuiltinStringBuilder_.build();
          }
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          if (turingOwnerBuilder_ == null) {
            result.turingOwner_ = turingOwner_;
          } else {
            result.turingOwner_ = turingOwnerBuilder_.build();
          }
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          if (iosTuringHumanBuilder_ == null) {
            result.iosTuringHuman_ = iosTuringHuman_;
          } else {
            result.iosTuringHuman_ = iosTuringHumanBuilder_.build();
          }
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          if (iosTuringOwnerBuilder_ == null) {
            result.iosTuringOwner_ = iosTuringOwner_;
          } else {
            result.iosTuringOwner_ = iosTuringOwnerBuilder_.build();
          }
          to_bitField0_ |= 0x00000800;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof wechat.protobuf.WCExtInfoProto.WCExtInfo) {
          return mergeFrom((wechat.protobuf.WCExtInfoProto.WCExtInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(wechat.protobuf.WCExtInfoProto.WCExtInfo other) {
        if (other == wechat.protobuf.WCExtInfoProto.WCExtInfo.getDefaultInstance()) return this;
        if (other.hasWcstf()) {
          mergeWcstf(other.getWcstf());
        }
        if (other.hasWcste()) {
          mergeWcste(other.getWcste());
        }
        if (other.hasCcData()) {
          mergeCcData(other.getCcData());
        }
        if (other.hasUserAttrInfo()) {
          mergeUserAttrInfo(other.getUserAttrInfo());
        }
        if (other.hasAcgiDeviceInfo()) {
          mergeAcgiDeviceInfo(other.getAcgiDeviceInfo());
        }
        if (other.hasAcgiTuring()) {
          mergeAcgiTuring(other.getAcgiTuring());
        }
        if (other.hasDeviceToken()) {
          mergeDeviceToken(other.getDeviceToken());
        }
        if (other.hasBehaviorId()) {
          mergeBehaviorId(other.getBehaviorId());
        }
        if (other.hasSensorSKBuiltinString()) {
          mergeSensorSKBuiltinString(other.getSensorSKBuiltinString());
        }
        if (other.hasTuringOwner()) {
          mergeTuringOwner(other.getTuringOwner());
        }
        if (other.hasIosTuringHuman()) {
          mergeIosTuringHuman(other.getIosTuringHuman());
        }
        if (other.hasIosTuringOwner()) {
          mergeIosTuringOwner(other.getIosTuringOwner());
        }
        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 {
        wechat.protobuf.WCExtInfoProto.WCExtInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (wechat.protobuf.WCExtInfoProto.WCExtInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private wechat.protobuf.SKBuiltinString_ wcstf_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> wcstfBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       * @return Whether the wcstf field is set.
       */
      public boolean hasWcstf() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       * @return The wcstf.
       */
      public wechat.protobuf.SKBuiltinString_ getWcstf() {
        if (wcstfBuilder_ == null) {
          return wcstf_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcstf_;
        } else {
          return wcstfBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      public Builder setWcstf(wechat.protobuf.SKBuiltinString_ value) {
        if (wcstfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          wcstf_ = value;
          onChanged();
        } else {
          wcstfBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      public Builder setWcstf(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (wcstfBuilder_ == null) {
          wcstf_ = builderForValue.build();
          onChanged();
        } else {
          wcstfBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      public Builder mergeWcstf(wechat.protobuf.SKBuiltinString_ value) {
        if (wcstfBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              wcstf_ != null &&
              wcstf_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            wcstf_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(wcstf_).mergeFrom(value).buildPartial();
          } else {
            wcstf_ = value;
          }
          onChanged();
        } else {
          wcstfBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      public Builder clearWcstf() {
        if (wcstfBuilder_ == null) {
          wcstf_ = null;
          onChanged();
        } else {
          wcstfBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getWcstfBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getWcstfFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getWcstfOrBuilder() {
        if (wcstfBuilder_ != null) {
          return wcstfBuilder_.getMessageOrBuilder();
        } else {
          return wcstf_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcstf_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcstf_ = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getWcstfFieldBuilder() {
        if (wcstfBuilder_ == null) {
          wcstfBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getWcstf(),
                  getParentForChildren(),
                  isClean());
          wcstf_ = null;
        }
        return wcstfBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ wcste_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> wcsteBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       * @return Whether the wcste field is set.
       */
      public boolean hasWcste() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       * @return The wcste.
       */
      public wechat.protobuf.SKBuiltinString_ getWcste() {
        if (wcsteBuilder_ == null) {
          return wcste_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcste_;
        } else {
          return wcsteBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      public Builder setWcste(wechat.protobuf.SKBuiltinString_ value) {
        if (wcsteBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          wcste_ = value;
          onChanged();
        } else {
          wcsteBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      public Builder setWcste(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (wcsteBuilder_ == null) {
          wcste_ = builderForValue.build();
          onChanged();
        } else {
          wcsteBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      public Builder mergeWcste(wechat.protobuf.SKBuiltinString_ value) {
        if (wcsteBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              wcste_ != null &&
              wcste_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            wcste_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(wcste_).mergeFrom(value).buildPartial();
          } else {
            wcste_ = value;
          }
          onChanged();
        } else {
          wcsteBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      public Builder clearWcste() {
        if (wcsteBuilder_ == null) {
          wcste_ = null;
          onChanged();
        } else {
          wcsteBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getWcsteBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getWcsteFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getWcsteOrBuilder() {
        if (wcsteBuilder_ != null) {
          return wcsteBuilder_.getMessageOrBuilder();
        } else {
          return wcste_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : wcste_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ wcste_ = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getWcsteFieldBuilder() {
        if (wcsteBuilder_ == null) {
          wcsteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getWcste(),
                  getParentForChildren(),
                  isClean());
          wcste_ = null;
        }
        return wcsteBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ ccData_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> ccDataBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       * @return Whether the ccData field is set.
       */
      public boolean hasCcData() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       * @return The ccData.
       */
      public wechat.protobuf.SKBuiltinString_ getCcData() {
        if (ccDataBuilder_ == null) {
          return ccData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : ccData_;
        } else {
          return ccDataBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      public Builder setCcData(wechat.protobuf.SKBuiltinString_ value) {
        if (ccDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ccData_ = value;
          onChanged();
        } else {
          ccDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      public Builder setCcData(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (ccDataBuilder_ == null) {
          ccData_ = builderForValue.build();
          onChanged();
        } else {
          ccDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      public Builder mergeCcData(wechat.protobuf.SKBuiltinString_ value) {
        if (ccDataBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              ccData_ != null &&
              ccData_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            ccData_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(ccData_).mergeFrom(value).buildPartial();
          } else {
            ccData_ = value;
          }
          onChanged();
        } else {
          ccDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      public Builder clearCcData() {
        if (ccDataBuilder_ == null) {
          ccData_ = null;
          onChanged();
        } else {
          ccDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getCcDataBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getCcDataFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getCcDataOrBuilder() {
        if (ccDataBuilder_ != null) {
          return ccDataBuilder_.getMessageOrBuilder();
        } else {
          return ccData_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : ccData_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ ccData = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getCcDataFieldBuilder() {
        if (ccDataBuilder_ == null) {
          ccDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getCcData(),
                  getParentForChildren(),
                  isClean());
          ccData_ = null;
        }
        return ccDataBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ userAttrInfo_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> userAttrInfoBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       * @return Whether the userAttrInfo field is set.
       */
      public boolean hasUserAttrInfo() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       * @return The userAttrInfo.
       */
      public wechat.protobuf.SKBuiltinString_ getUserAttrInfo() {
        if (userAttrInfoBuilder_ == null) {
          return userAttrInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : userAttrInfo_;
        } else {
          return userAttrInfoBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      public Builder setUserAttrInfo(wechat.protobuf.SKBuiltinString_ value) {
        if (userAttrInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          userAttrInfo_ = value;
          onChanged();
        } else {
          userAttrInfoBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      public Builder setUserAttrInfo(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (userAttrInfoBuilder_ == null) {
          userAttrInfo_ = builderForValue.build();
          onChanged();
        } else {
          userAttrInfoBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      public Builder mergeUserAttrInfo(wechat.protobuf.SKBuiltinString_ value) {
        if (userAttrInfoBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
              userAttrInfo_ != null &&
              userAttrInfo_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            userAttrInfo_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(userAttrInfo_).mergeFrom(value).buildPartial();
          } else {
            userAttrInfo_ = value;
          }
          onChanged();
        } else {
          userAttrInfoBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      public Builder clearUserAttrInfo() {
        if (userAttrInfoBuilder_ == null) {
          userAttrInfo_ = null;
          onChanged();
        } else {
          userAttrInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getUserAttrInfoBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getUserAttrInfoFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getUserAttrInfoOrBuilder() {
        if (userAttrInfoBuilder_ != null) {
          return userAttrInfoBuilder_.getMessageOrBuilder();
        } else {
          return userAttrInfo_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : userAttrInfo_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ userAttrInfo_ = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getUserAttrInfoFieldBuilder() {
        if (userAttrInfoBuilder_ == null) {
          userAttrInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getUserAttrInfo(),
                  getParentForChildren(),
                  isClean());
          userAttrInfo_ = null;
        }
        return userAttrInfoBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ acgiDeviceInfo_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> acgiDeviceInfoBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       * @return Whether the acgiDeviceInfo field is set.
       */
      public boolean hasAcgiDeviceInfo() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       * @return The acgiDeviceInfo.
       */
      public wechat.protobuf.SKBuiltinString_ getAcgiDeviceInfo() {
        if (acgiDeviceInfoBuilder_ == null) {
          return acgiDeviceInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiDeviceInfo_;
        } else {
          return acgiDeviceInfoBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      public Builder setAcgiDeviceInfo(wechat.protobuf.SKBuiltinString_ value) {
        if (acgiDeviceInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          acgiDeviceInfo_ = value;
          onChanged();
        } else {
          acgiDeviceInfoBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      public Builder setAcgiDeviceInfo(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (acgiDeviceInfoBuilder_ == null) {
          acgiDeviceInfo_ = builderForValue.build();
          onChanged();
        } else {
          acgiDeviceInfoBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      public Builder mergeAcgiDeviceInfo(wechat.protobuf.SKBuiltinString_ value) {
        if (acgiDeviceInfoBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
              acgiDeviceInfo_ != null &&
              acgiDeviceInfo_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            acgiDeviceInfo_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(acgiDeviceInfo_).mergeFrom(value).buildPartial();
          } else {
            acgiDeviceInfo_ = value;
          }
          onChanged();
        } else {
          acgiDeviceInfoBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      public Builder clearAcgiDeviceInfo() {
        if (acgiDeviceInfoBuilder_ == null) {
          acgiDeviceInfo_ = null;
          onChanged();
        } else {
          acgiDeviceInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getAcgiDeviceInfoBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getAcgiDeviceInfoFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getAcgiDeviceInfoOrBuilder() {
        if (acgiDeviceInfoBuilder_ != null) {
          return acgiDeviceInfoBuilder_.getMessageOrBuilder();
        } else {
          return acgiDeviceInfo_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiDeviceInfo_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiDeviceInfo_ = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getAcgiDeviceInfoFieldBuilder() {
        if (acgiDeviceInfoBuilder_ == null) {
          acgiDeviceInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getAcgiDeviceInfo(),
                  getParentForChildren(),
                  isClean());
          acgiDeviceInfo_ = null;
        }
        return acgiDeviceInfoBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ acgiTuring_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> acgiTuringBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       * @return Whether the acgiTuring field is set.
       */
      public boolean hasAcgiTuring() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       * @return The acgiTuring.
       */
      public wechat.protobuf.SKBuiltinString_ getAcgiTuring() {
        if (acgiTuringBuilder_ == null) {
          return acgiTuring_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiTuring_;
        } else {
          return acgiTuringBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      public Builder setAcgiTuring(wechat.protobuf.SKBuiltinString_ value) {
        if (acgiTuringBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          acgiTuring_ = value;
          onChanged();
        } else {
          acgiTuringBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      public Builder setAcgiTuring(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (acgiTuringBuilder_ == null) {
          acgiTuring_ = builderForValue.build();
          onChanged();
        } else {
          acgiTuringBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      public Builder mergeAcgiTuring(wechat.protobuf.SKBuiltinString_ value) {
        if (acgiTuringBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
              acgiTuring_ != null &&
              acgiTuring_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            acgiTuring_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(acgiTuring_).mergeFrom(value).buildPartial();
          } else {
            acgiTuring_ = value;
          }
          onChanged();
        } else {
          acgiTuringBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      public Builder clearAcgiTuring() {
        if (acgiTuringBuilder_ == null) {
          acgiTuring_ = null;
          onChanged();
        } else {
          acgiTuringBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getAcgiTuringBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getAcgiTuringFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getAcgiTuringOrBuilder() {
        if (acgiTuringBuilder_ != null) {
          return acgiTuringBuilder_.getMessageOrBuilder();
        } else {
          return acgiTuring_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : acgiTuring_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ acgiTuring_ = 6;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getAcgiTuringFieldBuilder() {
        if (acgiTuringBuilder_ == null) {
          acgiTuringBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getAcgiTuring(),
                  getParentForChildren(),
                  isClean());
          acgiTuring_ = null;
        }
        return acgiTuringBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ deviceToken_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> deviceTokenBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       * @return Whether the deviceToken field is set.
       */
      public boolean hasDeviceToken() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       * @return The deviceToken.
       */
      public wechat.protobuf.SKBuiltinString_ getDeviceToken() {
        if (deviceTokenBuilder_ == null) {
          return deviceToken_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : deviceToken_;
        } else {
          return deviceTokenBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      public Builder setDeviceToken(wechat.protobuf.SKBuiltinString_ value) {
        if (deviceTokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          deviceToken_ = value;
          onChanged();
        } else {
          deviceTokenBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      public Builder setDeviceToken(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (deviceTokenBuilder_ == null) {
          deviceToken_ = builderForValue.build();
          onChanged();
        } else {
          deviceTokenBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      public Builder mergeDeviceToken(wechat.protobuf.SKBuiltinString_ value) {
        if (deviceTokenBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0) &&
              deviceToken_ != null &&
              deviceToken_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            deviceToken_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(deviceToken_).mergeFrom(value).buildPartial();
          } else {
            deviceToken_ = value;
          }
          onChanged();
        } else {
          deviceTokenBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      public Builder clearDeviceToken() {
        if (deviceTokenBuilder_ == null) {
          deviceToken_ = null;
          onChanged();
        } else {
          deviceTokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getDeviceTokenBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getDeviceTokenFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getDeviceTokenOrBuilder() {
        if (deviceTokenBuilder_ != null) {
          return deviceTokenBuilder_.getMessageOrBuilder();
        } else {
          return deviceToken_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : deviceToken_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ deviceToken_ = 7;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getDeviceTokenFieldBuilder() {
        if (deviceTokenBuilder_ == null) {
          deviceTokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getDeviceToken(),
                  getParentForChildren(),
                  isClean());
          deviceToken_ = null;
        }
        return deviceTokenBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ behaviorId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> behaviorIdBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       * @return Whether the behaviorId field is set.
       */
      public boolean hasBehaviorId() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       * @return The behaviorId.
       */
      public wechat.protobuf.SKBuiltinString_ getBehaviorId() {
        if (behaviorIdBuilder_ == null) {
          return behaviorId_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : behaviorId_;
        } else {
          return behaviorIdBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      public Builder setBehaviorId(wechat.protobuf.SKBuiltinString_ value) {
        if (behaviorIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          behaviorId_ = value;
          onChanged();
        } else {
          behaviorIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      public Builder setBehaviorId(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (behaviorIdBuilder_ == null) {
          behaviorId_ = builderForValue.build();
          onChanged();
        } else {
          behaviorIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      public Builder mergeBehaviorId(wechat.protobuf.SKBuiltinString_ value) {
        if (behaviorIdBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0) &&
              behaviorId_ != null &&
              behaviorId_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            behaviorId_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(behaviorId_).mergeFrom(value).buildPartial();
          } else {
            behaviorId_ = value;
          }
          onChanged();
        } else {
          behaviorIdBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      public Builder clearBehaviorId() {
        if (behaviorIdBuilder_ == null) {
          behaviorId_ = null;
          onChanged();
        } else {
          behaviorIdBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getBehaviorIdBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getBehaviorIdFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getBehaviorIdOrBuilder() {
        if (behaviorIdBuilder_ != null) {
          return behaviorIdBuilder_.getMessageOrBuilder();
        } else {
          return behaviorId_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : behaviorId_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ behaviorId_ = 8;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getBehaviorIdFieldBuilder() {
        if (behaviorIdBuilder_ == null) {
          behaviorIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getBehaviorId(),
                  getParentForChildren(),
                  isClean());
          behaviorId_ = null;
        }
        return behaviorIdBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ sensorSKBuiltinString_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> sensorSKBuiltinStringBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       * @return Whether the sensorSKBuiltinString field is set.
       */
      public boolean hasSensorSKBuiltinString() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       * @return The sensorSKBuiltinString.
       */
      public wechat.protobuf.SKBuiltinString_ getSensorSKBuiltinString() {
        if (sensorSKBuiltinStringBuilder_ == null) {
          return sensorSKBuiltinString_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : sensorSKBuiltinString_;
        } else {
          return sensorSKBuiltinStringBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      public Builder setSensorSKBuiltinString(wechat.protobuf.SKBuiltinString_ value) {
        if (sensorSKBuiltinStringBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sensorSKBuiltinString_ = value;
          onChanged();
        } else {
          sensorSKBuiltinStringBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      public Builder setSensorSKBuiltinString(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (sensorSKBuiltinStringBuilder_ == null) {
          sensorSKBuiltinString_ = builderForValue.build();
          onChanged();
        } else {
          sensorSKBuiltinStringBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      public Builder mergeSensorSKBuiltinString(wechat.protobuf.SKBuiltinString_ value) {
        if (sensorSKBuiltinStringBuilder_ == null) {
          if (((bitField0_ & 0x00000100) != 0) &&
              sensorSKBuiltinString_ != null &&
              sensorSKBuiltinString_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            sensorSKBuiltinString_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(sensorSKBuiltinString_).mergeFrom(value).buildPartial();
          } else {
            sensorSKBuiltinString_ = value;
          }
          onChanged();
        } else {
          sensorSKBuiltinStringBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      public Builder clearSensorSKBuiltinString() {
        if (sensorSKBuiltinStringBuilder_ == null) {
          sensorSKBuiltinString_ = null;
          onChanged();
        } else {
          sensorSKBuiltinStringBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getSensorSKBuiltinStringBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getSensorSKBuiltinStringFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getSensorSKBuiltinStringOrBuilder() {
        if (sensorSKBuiltinStringBuilder_ != null) {
          return sensorSKBuiltinStringBuilder_.getMessageOrBuilder();
        } else {
          return sensorSKBuiltinString_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : sensorSKBuiltinString_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ sensorSKBuiltinString__ = 9;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getSensorSKBuiltinStringFieldBuilder() {
        if (sensorSKBuiltinStringBuilder_ == null) {
          sensorSKBuiltinStringBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getSensorSKBuiltinString(),
                  getParentForChildren(),
                  isClean());
          sensorSKBuiltinString_ = null;
        }
        return sensorSKBuiltinStringBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ turingOwner_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> turingOwnerBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       * @return Whether the turingOwner field is set.
       */
      public boolean hasTuringOwner() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       * @return The turingOwner.
       */
      public wechat.protobuf.SKBuiltinString_ getTuringOwner() {
        if (turingOwnerBuilder_ == null) {
          return turingOwner_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : turingOwner_;
        } else {
          return turingOwnerBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      public Builder setTuringOwner(wechat.protobuf.SKBuiltinString_ value) {
        if (turingOwnerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          turingOwner_ = value;
          onChanged();
        } else {
          turingOwnerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      public Builder setTuringOwner(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (turingOwnerBuilder_ == null) {
          turingOwner_ = builderForValue.build();
          onChanged();
        } else {
          turingOwnerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      public Builder mergeTuringOwner(wechat.protobuf.SKBuiltinString_ value) {
        if (turingOwnerBuilder_ == null) {
          if (((bitField0_ & 0x00000200) != 0) &&
              turingOwner_ != null &&
              turingOwner_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            turingOwner_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(turingOwner_).mergeFrom(value).buildPartial();
          } else {
            turingOwner_ = value;
          }
          onChanged();
        } else {
          turingOwnerBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      public Builder clearTuringOwner() {
        if (turingOwnerBuilder_ == null) {
          turingOwner_ = null;
          onChanged();
        } else {
          turingOwnerBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getTuringOwnerBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getTuringOwnerFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getTuringOwnerOrBuilder() {
        if (turingOwnerBuilder_ != null) {
          return turingOwnerBuilder_.getMessageOrBuilder();
        } else {
          return turingOwner_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : turingOwner_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ turingOwner_ = 10;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getTuringOwnerFieldBuilder() {
        if (turingOwnerBuilder_ == null) {
          turingOwnerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getTuringOwner(),
                  getParentForChildren(),
                  isClean());
          turingOwner_ = null;
        }
        return turingOwnerBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ iosTuringHuman_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> iosTuringHumanBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       * @return Whether the iosTuringHuman field is set.
       */
      public boolean hasIosTuringHuman() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       * @return The iosTuringHuman.
       */
      public wechat.protobuf.SKBuiltinString_ getIosTuringHuman() {
        if (iosTuringHumanBuilder_ == null) {
          return iosTuringHuman_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringHuman_;
        } else {
          return iosTuringHumanBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      public Builder setIosTuringHuman(wechat.protobuf.SKBuiltinString_ value) {
        if (iosTuringHumanBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          iosTuringHuman_ = value;
          onChanged();
        } else {
          iosTuringHumanBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      public Builder setIosTuringHuman(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (iosTuringHumanBuilder_ == null) {
          iosTuringHuman_ = builderForValue.build();
          onChanged();
        } else {
          iosTuringHumanBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      public Builder mergeIosTuringHuman(wechat.protobuf.SKBuiltinString_ value) {
        if (iosTuringHumanBuilder_ == null) {
          if (((bitField0_ & 0x00000400) != 0) &&
              iosTuringHuman_ != null &&
              iosTuringHuman_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            iosTuringHuman_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(iosTuringHuman_).mergeFrom(value).buildPartial();
          } else {
            iosTuringHuman_ = value;
          }
          onChanged();
        } else {
          iosTuringHumanBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      public Builder clearIosTuringHuman() {
        if (iosTuringHumanBuilder_ == null) {
          iosTuringHuman_ = null;
          onChanged();
        } else {
          iosTuringHumanBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000400);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getIosTuringHumanBuilder() {
        bitField0_ |= 0x00000400;
        onChanged();
        return getIosTuringHumanFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getIosTuringHumanOrBuilder() {
        if (iosTuringHumanBuilder_ != null) {
          return iosTuringHumanBuilder_.getMessageOrBuilder();
        } else {
          return iosTuringHuman_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringHuman_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringHuman_ = 101;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getIosTuringHumanFieldBuilder() {
        if (iosTuringHumanBuilder_ == null) {
          iosTuringHumanBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getIosTuringHuman(),
                  getParentForChildren(),
                  isClean());
          iosTuringHuman_ = null;
        }
        return iosTuringHumanBuilder_;
      }

      private wechat.protobuf.SKBuiltinString_ iosTuringOwner_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> iosTuringOwnerBuilder_;
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       * @return Whether the iosTuringOwner field is set.
       */
      public boolean hasIosTuringOwner() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       * @return The iosTuringOwner.
       */
      public wechat.protobuf.SKBuiltinString_ getIosTuringOwner() {
        if (iosTuringOwnerBuilder_ == null) {
          return iosTuringOwner_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringOwner_;
        } else {
          return iosTuringOwnerBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      public Builder setIosTuringOwner(wechat.protobuf.SKBuiltinString_ value) {
        if (iosTuringOwnerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          iosTuringOwner_ = value;
          onChanged();
        } else {
          iosTuringOwnerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      public Builder setIosTuringOwner(
          wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
        if (iosTuringOwnerBuilder_ == null) {
          iosTuringOwner_ = builderForValue.build();
          onChanged();
        } else {
          iosTuringOwnerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      public Builder mergeIosTuringOwner(wechat.protobuf.SKBuiltinString_ value) {
        if (iosTuringOwnerBuilder_ == null) {
          if (((bitField0_ & 0x00000800) != 0) &&
              iosTuringOwner_ != null &&
              iosTuringOwner_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
            iosTuringOwner_ =
              wechat.protobuf.SKBuiltinString_.newBuilder(iosTuringOwner_).mergeFrom(value).buildPartial();
          } else {
            iosTuringOwner_ = value;
          }
          onChanged();
        } else {
          iosTuringOwnerBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      public Builder clearIosTuringOwner() {
        if (iosTuringOwnerBuilder_ == null) {
          iosTuringOwner_ = null;
          onChanged();
        } else {
          iosTuringOwnerBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      public wechat.protobuf.SKBuiltinString_.Builder getIosTuringOwnerBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getIosTuringOwnerFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      public wechat.protobuf.SKBuiltinString_OrBuilder getIosTuringOwnerOrBuilder() {
        if (iosTuringOwnerBuilder_ != null) {
          return iosTuringOwnerBuilder_.getMessageOrBuilder();
        } else {
          return iosTuringOwner_ == null ?
              wechat.protobuf.SKBuiltinString_.getDefaultInstance() : iosTuringOwner_;
        }
      }
      /**
       * optional .wechat_proto.SKBuiltinString_ iosTuringOwner_ = 102;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
          getIosTuringOwnerFieldBuilder() {
        if (iosTuringOwnerBuilder_ == null) {
          iosTuringOwnerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                  getIosTuringOwner(),
                  getParentForChildren(),
                  isClean());
          iosTuringOwner_ = null;
        }
        return iosTuringOwnerBuilder_;
      }
      @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:wechat_proto.WCExtInfo)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.WCExtInfo)
    private static final wechat.protobuf.WCExtInfoProto.WCExtInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.WCExtInfoProto.WCExtInfo();
    }

    public static wechat.protobuf.WCExtInfoProto.WCExtInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public WCExtInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new WCExtInfo(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 wechat.protobuf.WCExtInfoProto.WCExtInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface WCSTEOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.WCSTE)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional bytes context = 1;
     * @return Whether the context field is set.
     */
    boolean hasContext();
    /**
     * optional bytes context = 1;
     * @return The context.
     */
    com.google.protobuf.ByteString getContext();

    /**
     * optional int32 st = 2;
     * @return Whether the st field is set.
     */
    boolean hasSt();
    /**
     * optional int32 st = 2;
     * @return The st.
     */
    int getSt();

    /**
     * optional int32 et = 3;
     * @return Whether the et field is set.
     */
    boolean hasEt();
    /**
     * optional int32 et = 3;
     * @return The et.
     */
    int getEt();

    /**
     * optional int32 iec = 4;
     * @return Whether the iec field is set.
     */
    boolean hasIec();
    /**
     * optional int32 iec = 4;
     * @return The iec.
     */
    int getIec();

    /**
     * optional int32 tec = 5;
     * @return Whether the tec field is set.
     */
    boolean hasTec();
    /**
     * optional int32 tec = 5;
     * @return The tec.
     */
    int getTec();

    /**
     * optional int32 asst = 6;
     * @return Whether the asst field is set.
     */
    boolean hasAsst();
    /**
     * optional int32 asst = 6;
     * @return The asst.
     */
    int getAsst();

    /**
     * optional int64 pss = 7;
     * @return Whether the pss field is set.
     */
    boolean hasPss();
    /**
     * optional int64 pss = 7;
     * @return The pss.
     */
    long getPss();

    /**
     * optional int64 tlmj = 8;
     * @return Whether the tlmj field is set.
     */
    boolean hasTlmj();
    /**
     * optional int64 tlmj = 8;
     * @return The tlmj.
     */
    long getTlmj();

    /**
     * optional int64 tlmn = 9;
     * @return Whether the tlmn field is set.
     */
    boolean hasTlmn();
    /**
     * optional int64 tlmn = 9;
     * @return The tlmn.
     */
    long getTlmn();

    /**
     * optional int64 thmj = 10;
     * @return Whether the thmj field is set.
     */
    boolean hasThmj();
    /**
     * optional int64 thmj = 10;
     * @return The thmj.
     */
    long getThmj();

    /**
     * optional int64 thmn = 11;
     * @return Whether the thmn field is set.
     */
    boolean hasThmn();
    /**
     * optional int64 thmn = 11;
     * @return The thmn.
     */
    long getThmn();

    /**
     * optional int64 sz = 12;
     * @return Whether the sz field is set.
     */
    boolean hasSz();
    /**
     * optional int64 sz = 12;
     * @return The sz.
     */
    long getSz();
  }
  /**
   * Protobuf type {@code wechat_proto.WCSTE}
   */
  public static final class WCSTE extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.WCSTE)
      WCSTEOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use WCSTE.newBuilder() to construct.
    private WCSTE(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private WCSTE() {
      context_ = com.google.protobuf.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private WCSTE(
        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: {
              bitField0_ |= 0x00000001;
              context_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              st_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              et_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              iec_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              tec_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              asst_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              pss_ = input.readInt64();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              tlmj_ = input.readInt64();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              tlmn_ = input.readInt64();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              thmj_ = input.readInt64();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              thmn_ = input.readInt64();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              sz_ = input.readInt64();
              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 wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTE_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTE_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.WCExtInfoProto.WCSTE.class, wechat.protobuf.WCExtInfoProto.WCSTE.Builder.class);
    }

    private int bitField0_;
    public static final int CONTEXT_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString context_;
    /**
     * optional bytes context = 1;
     * @return Whether the context field is set.
     */
    @java.lang.Override
    public boolean hasContext() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional bytes context = 1;
     * @return The context.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getContext() {
      return context_;
    }

    public static final int ST_FIELD_NUMBER = 2;
    private int st_;
    /**
     * optional int32 st = 2;
     * @return Whether the st field is set.
     */
    @java.lang.Override
    public boolean hasSt() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int32 st = 2;
     * @return The st.
     */
    @java.lang.Override
    public int getSt() {
      return st_;
    }

    public static final int ET_FIELD_NUMBER = 3;
    private int et_;
    /**
     * optional int32 et = 3;
     * @return Whether the et field is set.
     */
    @java.lang.Override
    public boolean hasEt() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional int32 et = 3;
     * @return The et.
     */
    @java.lang.Override
    public int getEt() {
      return et_;
    }

    public static final int IEC_FIELD_NUMBER = 4;
    private int iec_;
    /**
     * optional int32 iec = 4;
     * @return Whether the iec field is set.
     */
    @java.lang.Override
    public boolean hasIec() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional int32 iec = 4;
     * @return The iec.
     */
    @java.lang.Override
    public int getIec() {
      return iec_;
    }

    public static final int TEC_FIELD_NUMBER = 5;
    private int tec_;
    /**
     * optional int32 tec = 5;
     * @return Whether the tec field is set.
     */
    @java.lang.Override
    public boolean hasTec() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional int32 tec = 5;
     * @return The tec.
     */
    @java.lang.Override
    public int getTec() {
      return tec_;
    }

    public static final int ASST_FIELD_NUMBER = 6;
    private int asst_;
    /**
     * optional int32 asst = 6;
     * @return Whether the asst field is set.
     */
    @java.lang.Override
    public boolean hasAsst() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional int32 asst = 6;
     * @return The asst.
     */
    @java.lang.Override
    public int getAsst() {
      return asst_;
    }

    public static final int PSS_FIELD_NUMBER = 7;
    private long pss_;
    /**
     * optional int64 pss = 7;
     * @return Whether the pss field is set.
     */
    @java.lang.Override
    public boolean hasPss() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional int64 pss = 7;
     * @return The pss.
     */
    @java.lang.Override
    public long getPss() {
      return pss_;
    }

    public static final int TLMJ_FIELD_NUMBER = 8;
    private long tlmj_;
    /**
     * optional int64 tlmj = 8;
     * @return Whether the tlmj field is set.
     */
    @java.lang.Override
    public boolean hasTlmj() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional int64 tlmj = 8;
     * @return The tlmj.
     */
    @java.lang.Override
    public long getTlmj() {
      return tlmj_;
    }

    public static final int TLMN_FIELD_NUMBER = 9;
    private long tlmn_;
    /**
     * optional int64 tlmn = 9;
     * @return Whether the tlmn field is set.
     */
    @java.lang.Override
    public boolean hasTlmn() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional int64 tlmn = 9;
     * @return The tlmn.
     */
    @java.lang.Override
    public long getTlmn() {
      return tlmn_;
    }

    public static final int THMJ_FIELD_NUMBER = 10;
    private long thmj_;
    /**
     * optional int64 thmj = 10;
     * @return Whether the thmj field is set.
     */
    @java.lang.Override
    public boolean hasThmj() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional int64 thmj = 10;
     * @return The thmj.
     */
    @java.lang.Override
    public long getThmj() {
      return thmj_;
    }

    public static final int THMN_FIELD_NUMBER = 11;
    private long thmn_;
    /**
     * optional int64 thmn = 11;
     * @return Whether the thmn field is set.
     */
    @java.lang.Override
    public boolean hasThmn() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional int64 thmn = 11;
     * @return The thmn.
     */
    @java.lang.Override
    public long getThmn() {
      return thmn_;
    }

    public static final int SZ_FIELD_NUMBER = 12;
    private long sz_;
    /**
     * optional int64 sz = 12;
     * @return Whether the sz field is set.
     */
    @java.lang.Override
    public boolean hasSz() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional int64 sz = 12;
     * @return The sz.
     */
    @java.lang.Override
    public long getSz() {
      return sz_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBytes(1, context_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, st_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt32(3, et_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt32(4, iec_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeInt32(5, tec_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeInt32(6, asst_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeInt64(7, pss_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeInt64(8, tlmj_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeInt64(9, tlmn_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeInt64(10, thmj_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeInt64(11, thmn_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeInt64(12, sz_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, context_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, st_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, et_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, iec_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, tec_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, asst_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(7, pss_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, tlmj_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(9, tlmn_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(10, thmj_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(11, thmn_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(12, sz_);
      }
      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 wechat.protobuf.WCExtInfoProto.WCSTE)) {
        return super.equals(obj);
      }
      wechat.protobuf.WCExtInfoProto.WCSTE other = (wechat.protobuf.WCExtInfoProto.WCSTE) obj;

      if (hasContext() != other.hasContext()) return false;
      if (hasContext()) {
        if (!getContext()
            .equals(other.getContext())) return false;
      }
      if (hasSt() != other.hasSt()) return false;
      if (hasSt()) {
        if (getSt()
            != other.getSt()) return false;
      }
      if (hasEt() != other.hasEt()) return false;
      if (hasEt()) {
        if (getEt()
            != other.getEt()) return false;
      }
      if (hasIec() != other.hasIec()) return false;
      if (hasIec()) {
        if (getIec()
            != other.getIec()) return false;
      }
      if (hasTec() != other.hasTec()) return false;
      if (hasTec()) {
        if (getTec()
            != other.getTec()) return false;
      }
      if (hasAsst() != other.hasAsst()) return false;
      if (hasAsst()) {
        if (getAsst()
            != other.getAsst()) return false;
      }
      if (hasPss() != other.hasPss()) return false;
      if (hasPss()) {
        if (getPss()
            != other.getPss()) return false;
      }
      if (hasTlmj() != other.hasTlmj()) return false;
      if (hasTlmj()) {
        if (getTlmj()
            != other.getTlmj()) return false;
      }
      if (hasTlmn() != other.hasTlmn()) return false;
      if (hasTlmn()) {
        if (getTlmn()
            != other.getTlmn()) return false;
      }
      if (hasThmj() != other.hasThmj()) return false;
      if (hasThmj()) {
        if (getThmj()
            != other.getThmj()) return false;
      }
      if (hasThmn() != other.hasThmn()) return false;
      if (hasThmn()) {
        if (getThmn()
            != other.getThmn()) return false;
      }
      if (hasSz() != other.hasSz()) return false;
      if (hasSz()) {
        if (getSz()
            != other.getSz()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasContext()) {
        hash = (37 * hash) + CONTEXT_FIELD_NUMBER;
        hash = (53 * hash) + getContext().hashCode();
      }
      if (hasSt()) {
        hash = (37 * hash) + ST_FIELD_NUMBER;
        hash = (53 * hash) + getSt();
      }
      if (hasEt()) {
        hash = (37 * hash) + ET_FIELD_NUMBER;
        hash = (53 * hash) + getEt();
      }
      if (hasIec()) {
        hash = (37 * hash) + IEC_FIELD_NUMBER;
        hash = (53 * hash) + getIec();
      }
      if (hasTec()) {
        hash = (37 * hash) + TEC_FIELD_NUMBER;
        hash = (53 * hash) + getTec();
      }
      if (hasAsst()) {
        hash = (37 * hash) + ASST_FIELD_NUMBER;
        hash = (53 * hash) + getAsst();
      }
      if (hasPss()) {
        hash = (37 * hash) + PSS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getPss());
      }
      if (hasTlmj()) {
        hash = (37 * hash) + TLMJ_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTlmj());
      }
      if (hasTlmn()) {
        hash = (37 * hash) + TLMN_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTlmn());
      }
      if (hasThmj()) {
        hash = (37 * hash) + THMJ_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getThmj());
      }
      if (hasThmn()) {
        hash = (37 * hash) + THMN_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getThmn());
      }
      if (hasSz()) {
        hash = (37 * hash) + SZ_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSz());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTE_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.WCExtInfoProto.WCSTE.class, wechat.protobuf.WCExtInfoProto.WCSTE.Builder.class);
      }

      // Construct using wechat.protobuf.WCExtInfoProto.WCSTE.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();
        context_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        st_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        et_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        iec_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        tec_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        asst_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        pss_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000040);
        tlmj_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000080);
        tlmn_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000100);
        thmj_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000200);
        thmn_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000400);
        sz_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTE_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCSTE getDefaultInstanceForType() {
        return wechat.protobuf.WCExtInfoProto.WCSTE.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCSTE build() {
        wechat.protobuf.WCExtInfoProto.WCSTE result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCSTE buildPartial() {
        wechat.protobuf.WCExtInfoProto.WCSTE result = new wechat.protobuf.WCExtInfoProto.WCSTE(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.context_ = context_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.st_ = st_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.et_ = et_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.iec_ = iec_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.tec_ = tec_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.asst_ = asst_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.pss_ = pss_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.tlmj_ = tlmj_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.tlmn_ = tlmn_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.thmj_ = thmj_;
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.thmn_ = thmn_;
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.sz_ = sz_;
          to_bitField0_ |= 0x00000800;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof wechat.protobuf.WCExtInfoProto.WCSTE) {
          return mergeFrom((wechat.protobuf.WCExtInfoProto.WCSTE)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(wechat.protobuf.WCExtInfoProto.WCSTE other) {
        if (other == wechat.protobuf.WCExtInfoProto.WCSTE.getDefaultInstance()) return this;
        if (other.hasContext()) {
          setContext(other.getContext());
        }
        if (other.hasSt()) {
          setSt(other.getSt());
        }
        if (other.hasEt()) {
          setEt(other.getEt());
        }
        if (other.hasIec()) {
          setIec(other.getIec());
        }
        if (other.hasTec()) {
          setTec(other.getTec());
        }
        if (other.hasAsst()) {
          setAsst(other.getAsst());
        }
        if (other.hasPss()) {
          setPss(other.getPss());
        }
        if (other.hasTlmj()) {
          setTlmj(other.getTlmj());
        }
        if (other.hasTlmn()) {
          setTlmn(other.getTlmn());
        }
        if (other.hasThmj()) {
          setThmj(other.getThmj());
        }
        if (other.hasThmn()) {
          setThmn(other.getThmn());
        }
        if (other.hasSz()) {
          setSz(other.getSz());
        }
        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 {
        wechat.protobuf.WCExtInfoProto.WCSTE parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (wechat.protobuf.WCExtInfoProto.WCSTE) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.ByteString context_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes context = 1;
       * @return Whether the context field is set.
       */
      @java.lang.Override
      public boolean hasContext() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional bytes context = 1;
       * @return The context.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getContext() {
        return context_;
      }
      /**
       * optional bytes context = 1;
       * @param value The context to set.
       * @return This builder for chaining.
       */
      public Builder setContext(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        context_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes context = 1;
       * @return This builder for chaining.
       */
      public Builder clearContext() {
        bitField0_ = (bitField0_ & ~0x00000001);
        context_ = getDefaultInstance().getContext();
        onChanged();
        return this;
      }

      private int st_ ;
      /**
       * optional int32 st = 2;
       * @return Whether the st field is set.
       */
      @java.lang.Override
      public boolean hasSt() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int32 st = 2;
       * @return The st.
       */
      @java.lang.Override
      public int getSt() {
        return st_;
      }
      /**
       * optional int32 st = 2;
       * @param value The st to set.
       * @return This builder for chaining.
       */
      public Builder setSt(int value) {
        bitField0_ |= 0x00000002;
        st_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 st = 2;
       * @return This builder for chaining.
       */
      public Builder clearSt() {
        bitField0_ = (bitField0_ & ~0x00000002);
        st_ = 0;
        onChanged();
        return this;
      }

      private int et_ ;
      /**
       * optional int32 et = 3;
       * @return Whether the et field is set.
       */
      @java.lang.Override
      public boolean hasEt() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional int32 et = 3;
       * @return The et.
       */
      @java.lang.Override
      public int getEt() {
        return et_;
      }
      /**
       * optional int32 et = 3;
       * @param value The et to set.
       * @return This builder for chaining.
       */
      public Builder setEt(int value) {
        bitField0_ |= 0x00000004;
        et_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 et = 3;
       * @return This builder for chaining.
       */
      public Builder clearEt() {
        bitField0_ = (bitField0_ & ~0x00000004);
        et_ = 0;
        onChanged();
        return this;
      }

      private int iec_ ;
      /**
       * optional int32 iec = 4;
       * @return Whether the iec field is set.
       */
      @java.lang.Override
      public boolean hasIec() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional int32 iec = 4;
       * @return The iec.
       */
      @java.lang.Override
      public int getIec() {
        return iec_;
      }
      /**
       * optional int32 iec = 4;
       * @param value The iec to set.
       * @return This builder for chaining.
       */
      public Builder setIec(int value) {
        bitField0_ |= 0x00000008;
        iec_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 iec = 4;
       * @return This builder for chaining.
       */
      public Builder clearIec() {
        bitField0_ = (bitField0_ & ~0x00000008);
        iec_ = 0;
        onChanged();
        return this;
      }

      private int tec_ ;
      /**
       * optional int32 tec = 5;
       * @return Whether the tec field is set.
       */
      @java.lang.Override
      public boolean hasTec() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional int32 tec = 5;
       * @return The tec.
       */
      @java.lang.Override
      public int getTec() {
        return tec_;
      }
      /**
       * optional int32 tec = 5;
       * @param value The tec to set.
       * @return This builder for chaining.
       */
      public Builder setTec(int value) {
        bitField0_ |= 0x00000010;
        tec_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 tec = 5;
       * @return This builder for chaining.
       */
      public Builder clearTec() {
        bitField0_ = (bitField0_ & ~0x00000010);
        tec_ = 0;
        onChanged();
        return this;
      }

      private int asst_ ;
      /**
       * optional int32 asst = 6;
       * @return Whether the asst field is set.
       */
      @java.lang.Override
      public boolean hasAsst() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional int32 asst = 6;
       * @return The asst.
       */
      @java.lang.Override
      public int getAsst() {
        return asst_;
      }
      /**
       * optional int32 asst = 6;
       * @param value The asst to set.
       * @return This builder for chaining.
       */
      public Builder setAsst(int value) {
        bitField0_ |= 0x00000020;
        asst_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 asst = 6;
       * @return This builder for chaining.
       */
      public Builder clearAsst() {
        bitField0_ = (bitField0_ & ~0x00000020);
        asst_ = 0;
        onChanged();
        return this;
      }

      private long pss_ ;
      /**
       * optional int64 pss = 7;
       * @return Whether the pss field is set.
       */
      @java.lang.Override
      public boolean hasPss() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional int64 pss = 7;
       * @return The pss.
       */
      @java.lang.Override
      public long getPss() {
        return pss_;
      }
      /**
       * optional int64 pss = 7;
       * @param value The pss to set.
       * @return This builder for chaining.
       */
      public Builder setPss(long value) {
        bitField0_ |= 0x00000040;
        pss_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 pss = 7;
       * @return This builder for chaining.
       */
      public Builder clearPss() {
        bitField0_ = (bitField0_ & ~0x00000040);
        pss_ = 0L;
        onChanged();
        return this;
      }

      private long tlmj_ ;
      /**
       * optional int64 tlmj = 8;
       * @return Whether the tlmj field is set.
       */
      @java.lang.Override
      public boolean hasTlmj() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional int64 tlmj = 8;
       * @return The tlmj.
       */
      @java.lang.Override
      public long getTlmj() {
        return tlmj_;
      }
      /**
       * optional int64 tlmj = 8;
       * @param value The tlmj to set.
       * @return This builder for chaining.
       */
      public Builder setTlmj(long value) {
        bitField0_ |= 0x00000080;
        tlmj_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 tlmj = 8;
       * @return This builder for chaining.
       */
      public Builder clearTlmj() {
        bitField0_ = (bitField0_ & ~0x00000080);
        tlmj_ = 0L;
        onChanged();
        return this;
      }

      private long tlmn_ ;
      /**
       * optional int64 tlmn = 9;
       * @return Whether the tlmn field is set.
       */
      @java.lang.Override
      public boolean hasTlmn() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional int64 tlmn = 9;
       * @return The tlmn.
       */
      @java.lang.Override
      public long getTlmn() {
        return tlmn_;
      }
      /**
       * optional int64 tlmn = 9;
       * @param value The tlmn to set.
       * @return This builder for chaining.
       */
      public Builder setTlmn(long value) {
        bitField0_ |= 0x00000100;
        tlmn_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 tlmn = 9;
       * @return This builder for chaining.
       */
      public Builder clearTlmn() {
        bitField0_ = (bitField0_ & ~0x00000100);
        tlmn_ = 0L;
        onChanged();
        return this;
      }

      private long thmj_ ;
      /**
       * optional int64 thmj = 10;
       * @return Whether the thmj field is set.
       */
      @java.lang.Override
      public boolean hasThmj() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional int64 thmj = 10;
       * @return The thmj.
       */
      @java.lang.Override
      public long getThmj() {
        return thmj_;
      }
      /**
       * optional int64 thmj = 10;
       * @param value The thmj to set.
       * @return This builder for chaining.
       */
      public Builder setThmj(long value) {
        bitField0_ |= 0x00000200;
        thmj_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 thmj = 10;
       * @return This builder for chaining.
       */
      public Builder clearThmj() {
        bitField0_ = (bitField0_ & ~0x00000200);
        thmj_ = 0L;
        onChanged();
        return this;
      }

      private long thmn_ ;
      /**
       * optional int64 thmn = 11;
       * @return Whether the thmn field is set.
       */
      @java.lang.Override
      public boolean hasThmn() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional int64 thmn = 11;
       * @return The thmn.
       */
      @java.lang.Override
      public long getThmn() {
        return thmn_;
      }
      /**
       * optional int64 thmn = 11;
       * @param value The thmn to set.
       * @return This builder for chaining.
       */
      public Builder setThmn(long value) {
        bitField0_ |= 0x00000400;
        thmn_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 thmn = 11;
       * @return This builder for chaining.
       */
      public Builder clearThmn() {
        bitField0_ = (bitField0_ & ~0x00000400);
        thmn_ = 0L;
        onChanged();
        return this;
      }

      private long sz_ ;
      /**
       * optional int64 sz = 12;
       * @return Whether the sz field is set.
       */
      @java.lang.Override
      public boolean hasSz() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional int64 sz = 12;
       * @return The sz.
       */
      @java.lang.Override
      public long getSz() {
        return sz_;
      }
      /**
       * optional int64 sz = 12;
       * @param value The sz to set.
       * @return This builder for chaining.
       */
      public Builder setSz(long value) {
        bitField0_ |= 0x00000800;
        sz_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 sz = 12;
       * @return This builder for chaining.
       */
      public Builder clearSz() {
        bitField0_ = (bitField0_ & ~0x00000800);
        sz_ = 0L;
        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:wechat_proto.WCSTE)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.WCSTE)
    private static final wechat.protobuf.WCExtInfoProto.WCSTE DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.WCExtInfoProto.WCSTE();
    }

    public static wechat.protobuf.WCExtInfoProto.WCSTE getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public WCSTE parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new WCSTE(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 wechat.protobuf.WCExtInfoProto.WCSTE getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface WCSTFOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.WCSTF)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional int64 st = 1;
     * @return Whether the st field is set.
     */
    boolean hasSt();
    /**
     * optional int64 st = 1;
     * @return The st.
     */
    long getSt();

    /**
     * optional int64 et = 2;
     * @return Whether the et field is set.
     */
    boolean hasEt();
    /**
     * optional int64 et = 2;
     * @return The et.
     */
    long getEt();

    /**
     * optional int32 cc = 3;
     * @return Whether the cc field is set.
     */
    boolean hasCc();
    /**
     * optional int32 cc = 3;
     * @return The cc.
     */
    int getCc();

    /**
     * repeated int64 ct = 4;
     * @return A list containing the ct.
     */
    java.util.List getCtList();
    /**
     * repeated int64 ct = 4;
     * @return The count of ct.
     */
    int getCtCount();
    /**
     * repeated int64 ct = 4;
     * @param index The index of the element to return.
     * @return The ct at the given index.
     */
    long getCt(int index);
  }
  /**
   * Protobuf type {@code wechat_proto.WCSTF}
   */
  public static final class WCSTF extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.WCSTF)
      WCSTFOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use WCSTF.newBuilder() to construct.
    private WCSTF(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private WCSTF() {
      ct_ = emptyLongList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private WCSTF(
        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 8: {
              bitField0_ |= 0x00000001;
              st_ = input.readInt64();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              et_ = input.readInt64();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              cc_ = input.readInt32();
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                ct_ = newLongList();
                mutable_bitField0_ |= 0x00000008;
              }
              ct_.addLong(input.readInt64());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) {
                ct_ = newLongList();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                ct_.addLong(input.readInt64());
              }
              input.popLimit(limit);
              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_ & 0x00000008) != 0)) {
          ct_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTF_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTF_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.WCExtInfoProto.WCSTF.class, wechat.protobuf.WCExtInfoProto.WCSTF.Builder.class);
    }

    private int bitField0_;
    public static final int ST_FIELD_NUMBER = 1;
    private long st_;
    /**
     * optional int64 st = 1;
     * @return Whether the st field is set.
     */
    @java.lang.Override
    public boolean hasSt() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional int64 st = 1;
     * @return The st.
     */
    @java.lang.Override
    public long getSt() {
      return st_;
    }

    public static final int ET_FIELD_NUMBER = 2;
    private long et_;
    /**
     * optional int64 et = 2;
     * @return Whether the et field is set.
     */
    @java.lang.Override
    public boolean hasEt() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int64 et = 2;
     * @return The et.
     */
    @java.lang.Override
    public long getEt() {
      return et_;
    }

    public static final int CC_FIELD_NUMBER = 3;
    private int cc_;
    /**
     * optional int32 cc = 3;
     * @return Whether the cc field is set.
     */
    @java.lang.Override
    public boolean hasCc() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional int32 cc = 3;
     * @return The cc.
     */
    @java.lang.Override
    public int getCc() {
      return cc_;
    }

    public static final int CT_FIELD_NUMBER = 4;
    private com.google.protobuf.Internal.LongList ct_;
    /**
     * repeated int64 ct = 4;
     * @return A list containing the ct.
     */
    @java.lang.Override
    public java.util.List
        getCtList() {
      return ct_;
    }
    /**
     * repeated int64 ct = 4;
     * @return The count of ct.
     */
    public int getCtCount() {
      return ct_.size();
    }
    /**
     * repeated int64 ct = 4;
     * @param index The index of the element to return.
     * @return The ct at the given index.
     */
    public long getCt(int index) {
      return ct_.getLong(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt64(1, st_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt64(2, et_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt32(3, cc_);
      }
      for (int i = 0; i < ct_.size(); i++) {
        output.writeInt64(4, ct_.getLong(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, st_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, et_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, cc_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < ct_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(ct_.getLong(i));
        }
        size += dataSize;
        size += 1 * getCtList().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 wechat.protobuf.WCExtInfoProto.WCSTF)) {
        return super.equals(obj);
      }
      wechat.protobuf.WCExtInfoProto.WCSTF other = (wechat.protobuf.WCExtInfoProto.WCSTF) obj;

      if (hasSt() != other.hasSt()) return false;
      if (hasSt()) {
        if (getSt()
            != other.getSt()) return false;
      }
      if (hasEt() != other.hasEt()) return false;
      if (hasEt()) {
        if (getEt()
            != other.getEt()) return false;
      }
      if (hasCc() != other.hasCc()) return false;
      if (hasCc()) {
        if (getCc()
            != other.getCc()) return false;
      }
      if (!getCtList()
          .equals(other.getCtList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSt()) {
        hash = (37 * hash) + ST_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSt());
      }
      if (hasEt()) {
        hash = (37 * hash) + ET_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getEt());
      }
      if (hasCc()) {
        hash = (37 * hash) + CC_FIELD_NUMBER;
        hash = (53 * hash) + getCc();
      }
      if (getCtCount() > 0) {
        hash = (37 * hash) + CT_FIELD_NUMBER;
        hash = (53 * hash) + getCtList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTF_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.WCExtInfoProto.WCSTF.class, wechat.protobuf.WCExtInfoProto.WCSTF.Builder.class);
      }

      // Construct using wechat.protobuf.WCExtInfoProto.WCSTF.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();
        st_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        et_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        cc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        ct_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_WCSTF_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCSTF getDefaultInstanceForType() {
        return wechat.protobuf.WCExtInfoProto.WCSTF.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCSTF build() {
        wechat.protobuf.WCExtInfoProto.WCSTF result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.WCSTF buildPartial() {
        wechat.protobuf.WCExtInfoProto.WCSTF result = new wechat.protobuf.WCExtInfoProto.WCSTF(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.st_ = st_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.et_ = et_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.cc_ = cc_;
          to_bitField0_ |= 0x00000004;
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          ct_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.ct_ = ct_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof wechat.protobuf.WCExtInfoProto.WCSTF) {
          return mergeFrom((wechat.protobuf.WCExtInfoProto.WCSTF)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(wechat.protobuf.WCExtInfoProto.WCSTF other) {
        if (other == wechat.protobuf.WCExtInfoProto.WCSTF.getDefaultInstance()) return this;
        if (other.hasSt()) {
          setSt(other.getSt());
        }
        if (other.hasEt()) {
          setEt(other.getEt());
        }
        if (other.hasCc()) {
          setCc(other.getCc());
        }
        if (!other.ct_.isEmpty()) {
          if (ct_.isEmpty()) {
            ct_ = other.ct_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureCtIsMutable();
            ct_.addAll(other.ct_);
          }
          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 {
        wechat.protobuf.WCExtInfoProto.WCSTF parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (wechat.protobuf.WCExtInfoProto.WCSTF) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long st_ ;
      /**
       * optional int64 st = 1;
       * @return Whether the st field is set.
       */
      @java.lang.Override
      public boolean hasSt() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional int64 st = 1;
       * @return The st.
       */
      @java.lang.Override
      public long getSt() {
        return st_;
      }
      /**
       * optional int64 st = 1;
       * @param value The st to set.
       * @return This builder for chaining.
       */
      public Builder setSt(long value) {
        bitField0_ |= 0x00000001;
        st_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 st = 1;
       * @return This builder for chaining.
       */
      public Builder clearSt() {
        bitField0_ = (bitField0_ & ~0x00000001);
        st_ = 0L;
        onChanged();
        return this;
      }

      private long et_ ;
      /**
       * optional int64 et = 2;
       * @return Whether the et field is set.
       */
      @java.lang.Override
      public boolean hasEt() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int64 et = 2;
       * @return The et.
       */
      @java.lang.Override
      public long getEt() {
        return et_;
      }
      /**
       * optional int64 et = 2;
       * @param value The et to set.
       * @return This builder for chaining.
       */
      public Builder setEt(long value) {
        bitField0_ |= 0x00000002;
        et_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 et = 2;
       * @return This builder for chaining.
       */
      public Builder clearEt() {
        bitField0_ = (bitField0_ & ~0x00000002);
        et_ = 0L;
        onChanged();
        return this;
      }

      private int cc_ ;
      /**
       * optional int32 cc = 3;
       * @return Whether the cc field is set.
       */
      @java.lang.Override
      public boolean hasCc() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional int32 cc = 3;
       * @return The cc.
       */
      @java.lang.Override
      public int getCc() {
        return cc_;
      }
      /**
       * optional int32 cc = 3;
       * @param value The cc to set.
       * @return This builder for chaining.
       */
      public Builder setCc(int value) {
        bitField0_ |= 0x00000004;
        cc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 cc = 3;
       * @return This builder for chaining.
       */
      public Builder clearCc() {
        bitField0_ = (bitField0_ & ~0x00000004);
        cc_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.LongList ct_ = emptyLongList();
      private void ensureCtIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          ct_ = mutableCopy(ct_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * repeated int64 ct = 4;
       * @return A list containing the ct.
       */
      public java.util.List
          getCtList() {
        return ((bitField0_ & 0x00000008) != 0) ?
                 java.util.Collections.unmodifiableList(ct_) : ct_;
      }
      /**
       * repeated int64 ct = 4;
       * @return The count of ct.
       */
      public int getCtCount() {
        return ct_.size();
      }
      /**
       * repeated int64 ct = 4;
       * @param index The index of the element to return.
       * @return The ct at the given index.
       */
      public long getCt(int index) {
        return ct_.getLong(index);
      }
      /**
       * repeated int64 ct = 4;
       * @param index The index to set the value at.
       * @param value The ct to set.
       * @return This builder for chaining.
       */
      public Builder setCt(
          int index, long value) {
        ensureCtIsMutable();
        ct_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int64 ct = 4;
       * @param value The ct to add.
       * @return This builder for chaining.
       */
      public Builder addCt(long value) {
        ensureCtIsMutable();
        ct_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * repeated int64 ct = 4;
       * @param values The ct to add.
       * @return This builder for chaining.
       */
      public Builder addAllCt(
          java.lang.Iterable values) {
        ensureCtIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, ct_);
        onChanged();
        return this;
      }
      /**
       * repeated int64 ct = 4;
       * @return This builder for chaining.
       */
      public Builder clearCt() {
        ct_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000008);
        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:wechat_proto.WCSTF)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.WCSTF)
    private static final wechat.protobuf.WCExtInfoProto.WCSTF DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.WCExtInfoProto.WCSTF();
    }

    public static wechat.protobuf.WCExtInfoProto.WCSTF getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public WCSTF parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new WCSTF(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 wechat.protobuf.WCExtInfoProto.WCSTF getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcgiTuringOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.AcgiTuring)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional string a1 = 1;
     * @return Whether the a1 field is set.
     */
    boolean hasA1();
    /**
     * optional string a1 = 1;
     * @return The a1.
     */
    java.lang.String getA1();
    /**
     * optional string a1 = 1;
     * @return The bytes for a1.
     */
    com.google.protobuf.ByteString
        getA1Bytes();

    /**
     * optional int32 a2 = 2;
     * @return Whether the a2 field is set.
     */
    boolean hasA2();
    /**
     * optional int32 a2 = 2;
     * @return The a2.
     */
    int getA2();

    /**
     * optional string a3 = 3;
     * @return Whether the a3 field is set.
     */
    boolean hasA3();
    /**
     * optional string a3 = 3;
     * @return The a3.
     */
    java.lang.String getA3();
    /**
     * optional string a3 = 3;
     * @return The bytes for a3.
     */
    com.google.protobuf.ByteString
        getA3Bytes();

    /**
     * optional int64 timestamp = 4;
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * optional int64 timestamp = 4;
     * @return The timestamp.
     */
    long getTimestamp();

    /**
     * optional int32 a5 = 5;
     * @return Whether the a5 field is set.
     */
    boolean hasA5();
    /**
     * optional int32 a5 = 5;
     * @return The a5.
     */
    int getA5();

    /**
     * optional int32 a6 = 6;
     * @return Whether the a6 field is set.
     */
    boolean hasA6();
    /**
     * optional int32 a6 = 6;
     * @return The a6.
     */
    int getA6();
  }
  /**
   * Protobuf type {@code wechat_proto.AcgiTuring}
   */
  public static final class AcgiTuring extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.AcgiTuring)
      AcgiTuringOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AcgiTuring.newBuilder() to construct.
    private AcgiTuring(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private AcgiTuring() {
      a1_ = "";
      a3_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AcgiTuring(
        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;
              a1_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              a2_ = input.readInt32();
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              a3_ = bs;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              timestamp_ = input.readInt64();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              a5_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              a6_ = input.readInt32();
              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 wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_AcgiTuring_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_AcgiTuring_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.WCExtInfoProto.AcgiTuring.class, wechat.protobuf.WCExtInfoProto.AcgiTuring.Builder.class);
    }

    private int bitField0_;
    public static final int A1_FIELD_NUMBER = 1;
    private volatile java.lang.Object a1_;
    /**
     * optional string a1 = 1;
     * @return Whether the a1 field is set.
     */
    @java.lang.Override
    public boolean hasA1() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string a1 = 1;
     * @return The a1.
     */
    @java.lang.Override
    public java.lang.String getA1() {
      java.lang.Object ref = a1_;
      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()) {
          a1_ = s;
        }
        return s;
      }
    }
    /**
     * optional string a1 = 1;
     * @return The bytes for a1.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getA1Bytes() {
      java.lang.Object ref = a1_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        a1_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int A2_FIELD_NUMBER = 2;
    private int a2_;
    /**
     * optional int32 a2 = 2;
     * @return Whether the a2 field is set.
     */
    @java.lang.Override
    public boolean hasA2() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int32 a2 = 2;
     * @return The a2.
     */
    @java.lang.Override
    public int getA2() {
      return a2_;
    }

    public static final int A3_FIELD_NUMBER = 3;
    private volatile java.lang.Object a3_;
    /**
     * optional string a3 = 3;
     * @return Whether the a3 field is set.
     */
    @java.lang.Override
    public boolean hasA3() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string a3 = 3;
     * @return The a3.
     */
    @java.lang.Override
    public java.lang.String getA3() {
      java.lang.Object ref = a3_;
      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()) {
          a3_ = s;
        }
        return s;
      }
    }
    /**
     * optional string a3 = 3;
     * @return The bytes for a3.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getA3Bytes() {
      java.lang.Object ref = a3_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        a3_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private long timestamp_;
    /**
     * optional int64 timestamp = 4;
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional int64 timestamp = 4;
     * @return The timestamp.
     */
    @java.lang.Override
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int A5_FIELD_NUMBER = 5;
    private int a5_;
    /**
     * optional int32 a5 = 5;
     * @return Whether the a5 field is set.
     */
    @java.lang.Override
    public boolean hasA5() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional int32 a5 = 5;
     * @return The a5.
     */
    @java.lang.Override
    public int getA5() {
      return a5_;
    }

    public static final int A6_FIELD_NUMBER = 6;
    private int a6_;
    /**
     * optional int32 a6 = 6;
     * @return Whether the a6 field is set.
     */
    @java.lang.Override
    public boolean hasA6() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional int32 a6 = 6;
     * @return The a6.
     */
    @java.lang.Override
    public int getA6() {
      return a6_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, a1_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, a2_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, a3_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt64(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeInt32(5, a5_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeInt32(6, a6_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, a1_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, a2_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, a3_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, a5_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, a6_);
      }
      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 wechat.protobuf.WCExtInfoProto.AcgiTuring)) {
        return super.equals(obj);
      }
      wechat.protobuf.WCExtInfoProto.AcgiTuring other = (wechat.protobuf.WCExtInfoProto.AcgiTuring) obj;

      if (hasA1() != other.hasA1()) return false;
      if (hasA1()) {
        if (!getA1()
            .equals(other.getA1())) return false;
      }
      if (hasA2() != other.hasA2()) return false;
      if (hasA2()) {
        if (getA2()
            != other.getA2()) return false;
      }
      if (hasA3() != other.hasA3()) return false;
      if (hasA3()) {
        if (!getA3()
            .equals(other.getA3())) return false;
      }
      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp()
            != other.getTimestamp()) return false;
      }
      if (hasA5() != other.hasA5()) return false;
      if (hasA5()) {
        if (getA5()
            != other.getA5()) return false;
      }
      if (hasA6() != other.hasA6()) return false;
      if (hasA6()) {
        if (getA6()
            != other.getA6()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasA1()) {
        hash = (37 * hash) + A1_FIELD_NUMBER;
        hash = (53 * hash) + getA1().hashCode();
      }
      if (hasA2()) {
        hash = (37 * hash) + A2_FIELD_NUMBER;
        hash = (53 * hash) + getA2();
      }
      if (hasA3()) {
        hash = (37 * hash) + A3_FIELD_NUMBER;
        hash = (53 * hash) + getA3().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTimestamp());
      }
      if (hasA5()) {
        hash = (37 * hash) + A5_FIELD_NUMBER;
        hash = (53 * hash) + getA5();
      }
      if (hasA6()) {
        hash = (37 * hash) + A6_FIELD_NUMBER;
        hash = (53 * hash) + getA6();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_AcgiTuring_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.WCExtInfoProto.AcgiTuring.class, wechat.protobuf.WCExtInfoProto.AcgiTuring.Builder.class);
      }

      // Construct using wechat.protobuf.WCExtInfoProto.AcgiTuring.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();
        a1_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        a2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        a3_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        a5_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        a6_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_AcgiTuring_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.AcgiTuring getDefaultInstanceForType() {
        return wechat.protobuf.WCExtInfoProto.AcgiTuring.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.AcgiTuring build() {
        wechat.protobuf.WCExtInfoProto.AcgiTuring result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.AcgiTuring buildPartial() {
        wechat.protobuf.WCExtInfoProto.AcgiTuring result = new wechat.protobuf.WCExtInfoProto.AcgiTuring(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.a1_ = a1_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.a2_ = a2_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.a3_ = a3_;
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.a5_ = a5_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.a6_ = a6_;
          to_bitField0_ |= 0x00000020;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof wechat.protobuf.WCExtInfoProto.AcgiTuring) {
          return mergeFrom((wechat.protobuf.WCExtInfoProto.AcgiTuring)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(wechat.protobuf.WCExtInfoProto.AcgiTuring other) {
        if (other == wechat.protobuf.WCExtInfoProto.AcgiTuring.getDefaultInstance()) return this;
        if (other.hasA1()) {
          bitField0_ |= 0x00000001;
          a1_ = other.a1_;
          onChanged();
        }
        if (other.hasA2()) {
          setA2(other.getA2());
        }
        if (other.hasA3()) {
          bitField0_ |= 0x00000004;
          a3_ = other.a3_;
          onChanged();
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasA5()) {
          setA5(other.getA5());
        }
        if (other.hasA6()) {
          setA6(other.getA6());
        }
        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 {
        wechat.protobuf.WCExtInfoProto.AcgiTuring parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (wechat.protobuf.WCExtInfoProto.AcgiTuring) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object a1_ = "";
      /**
       * optional string a1 = 1;
       * @return Whether the a1 field is set.
       */
      public boolean hasA1() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string a1 = 1;
       * @return The a1.
       */
      public java.lang.String getA1() {
        java.lang.Object ref = a1_;
        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()) {
            a1_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string a1 = 1;
       * @return The bytes for a1.
       */
      public com.google.protobuf.ByteString
          getA1Bytes() {
        java.lang.Object ref = a1_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          a1_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string a1 = 1;
       * @param value The a1 to set.
       * @return This builder for chaining.
       */
      public Builder setA1(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        a1_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string a1 = 1;
       * @return This builder for chaining.
       */
      public Builder clearA1() {
        bitField0_ = (bitField0_ & ~0x00000001);
        a1_ = getDefaultInstance().getA1();
        onChanged();
        return this;
      }
      /**
       * optional string a1 = 1;
       * @param value The bytes for a1 to set.
       * @return This builder for chaining.
       */
      public Builder setA1Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        a1_ = value;
        onChanged();
        return this;
      }

      private int a2_ ;
      /**
       * optional int32 a2 = 2;
       * @return Whether the a2 field is set.
       */
      @java.lang.Override
      public boolean hasA2() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int32 a2 = 2;
       * @return The a2.
       */
      @java.lang.Override
      public int getA2() {
        return a2_;
      }
      /**
       * optional int32 a2 = 2;
       * @param value The a2 to set.
       * @return This builder for chaining.
       */
      public Builder setA2(int value) {
        bitField0_ |= 0x00000002;
        a2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 a2 = 2;
       * @return This builder for chaining.
       */
      public Builder clearA2() {
        bitField0_ = (bitField0_ & ~0x00000002);
        a2_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object a3_ = "";
      /**
       * optional string a3 = 3;
       * @return Whether the a3 field is set.
       */
      public boolean hasA3() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string a3 = 3;
       * @return The a3.
       */
      public java.lang.String getA3() {
        java.lang.Object ref = a3_;
        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()) {
            a3_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string a3 = 3;
       * @return The bytes for a3.
       */
      public com.google.protobuf.ByteString
          getA3Bytes() {
        java.lang.Object ref = a3_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          a3_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string a3 = 3;
       * @param value The a3 to set.
       * @return This builder for chaining.
       */
      public Builder setA3(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        a3_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string a3 = 3;
       * @return This builder for chaining.
       */
      public Builder clearA3() {
        bitField0_ = (bitField0_ & ~0x00000004);
        a3_ = getDefaultInstance().getA3();
        onChanged();
        return this;
      }
      /**
       * optional string a3 = 3;
       * @param value The bytes for a3 to set.
       * @return This builder for chaining.
       */
      public Builder setA3Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        a3_ = value;
        onChanged();
        return this;
      }

      private long timestamp_ ;
      /**
       * optional int64 timestamp = 4;
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional int64 timestamp = 4;
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * optional int64 timestamp = 4;
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 timestamp = 4;
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private int a5_ ;
      /**
       * optional int32 a5 = 5;
       * @return Whether the a5 field is set.
       */
      @java.lang.Override
      public boolean hasA5() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional int32 a5 = 5;
       * @return The a5.
       */
      @java.lang.Override
      public int getA5() {
        return a5_;
      }
      /**
       * optional int32 a5 = 5;
       * @param value The a5 to set.
       * @return This builder for chaining.
       */
      public Builder setA5(int value) {
        bitField0_ |= 0x00000010;
        a5_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 a5 = 5;
       * @return This builder for chaining.
       */
      public Builder clearA5() {
        bitField0_ = (bitField0_ & ~0x00000010);
        a5_ = 0;
        onChanged();
        return this;
      }

      private int a6_ ;
      /**
       * optional int32 a6 = 6;
       * @return Whether the a6 field is set.
       */
      @java.lang.Override
      public boolean hasA6() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional int32 a6 = 6;
       * @return The a6.
       */
      @java.lang.Override
      public int getA6() {
        return a6_;
      }
      /**
       * optional int32 a6 = 6;
       * @param value The a6 to set.
       * @return This builder for chaining.
       */
      public Builder setA6(int value) {
        bitField0_ |= 0x00000020;
        a6_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 a6 = 6;
       * @return This builder for chaining.
       */
      public Builder clearA6() {
        bitField0_ = (bitField0_ & ~0x00000020);
        a6_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.AcgiTuring)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.AcgiTuring)
    private static final wechat.protobuf.WCExtInfoProto.AcgiTuring DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.WCExtInfoProto.AcgiTuring();
    }

    public static wechat.protobuf.WCExtInfoProto.AcgiTuring getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public AcgiTuring parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AcgiTuring(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 wechat.protobuf.WCExtInfoProto.AcgiTuring getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeviceTokenOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.DeviceToken)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional string a1 = 1;
     * @return Whether the a1 field is set.
     */
    boolean hasA1();
    /**
     * optional string a1 = 1;
     * @return The a1.
     */
    java.lang.String getA1();
    /**
     * optional string a1 = 1;
     * @return The bytes for a1.
     */
    com.google.protobuf.ByteString
        getA1Bytes();

    /**
     * optional int32 a2 = 2;
     * @return Whether the a2 field is set.
     */
    boolean hasA2();
    /**
     * optional int32 a2 = 2;
     * @return The a2.
     */
    int getA2();

    /**
     * optional .wechat_proto.DeviceToken.Token token = 3;
     * @return Whether the token field is set.
     */
    boolean hasToken();
    /**
     * optional .wechat_proto.DeviceToken.Token token = 3;
     * @return The token.
     */
    wechat.protobuf.WCExtInfoProto.DeviceToken.Token getToken();
    /**
     * optional .wechat_proto.DeviceToken.Token token = 3;
     */
    wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder getTokenOrBuilder();

    /**
     * optional int32 timestamp = 4;
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * optional int32 timestamp = 4;
     * @return The timestamp.
     */
    int getTimestamp();

    /**
     * optional int32 a5 = 5;
     * @return Whether the a5 field is set.
     */
    boolean hasA5();
    /**
     * optional int32 a5 = 5;
     * @return The a5.
     */
    int getA5();

    /**
     * optional int32 a6 = 6;
     * @return Whether the a6 field is set.
     */
    boolean hasA6();
    /**
     * optional int32 a6 = 6;
     * @return The a6.
     */
    int getA6();
  }
  /**
   * Protobuf type {@code wechat_proto.DeviceToken}
   */
  public static final class DeviceToken extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.DeviceToken)
      DeviceTokenOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeviceToken.newBuilder() to construct.
    private DeviceToken(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private DeviceToken() {
      a1_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeviceToken(
        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;
              a1_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              a2_ = input.readInt32();
              break;
            }
            case 26: {
              wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = token_.toBuilder();
              }
              token_ = input.readMessage(wechat.protobuf.WCExtInfoProto.DeviceToken.Token.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(token_);
                token_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              timestamp_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              a5_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              a6_ = input.readInt32();
              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 wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.WCExtInfoProto.DeviceToken.class, wechat.protobuf.WCExtInfoProto.DeviceToken.Builder.class);
    }

    public interface TokenOrBuilder extends
        // @@protoc_insertion_point(interface_extends:wechat_proto.DeviceToken.Token)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional string token = 1;
       * @return Whether the token field is set.
       */
      boolean hasToken();
      /**
       * optional string token = 1;
       * @return The token.
       */
      java.lang.String getToken();
      /**
       * optional string token = 1;
       * @return The bytes for token.
       */
      com.google.protobuf.ByteString
          getTokenBytes();
    }
    /**
     * Protobuf type {@code wechat_proto.DeviceToken.Token}
     */
    public static final class Token extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:wechat_proto.DeviceToken.Token)
        TokenOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Token.newBuilder() to construct.
      private Token(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Token() {
        token_ = "";
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Token(
          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;
                token_ = 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 wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_Token_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_Token_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.WCExtInfoProto.DeviceToken.Token.class, wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder.class);
      }

      private int bitField0_;
      public static final int TOKEN_FIELD_NUMBER = 1;
      private volatile java.lang.Object token_;
      /**
       * optional string token = 1;
       * @return Whether the token field is set.
       */
      @java.lang.Override
      public boolean hasToken() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string token = 1;
       * @return The token.
       */
      @java.lang.Override
      public java.lang.String getToken() {
        java.lang.Object ref = token_;
        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()) {
            token_ = s;
          }
          return s;
        }
      }
      /**
       * optional string token = 1;
       * @return The bytes for token.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTokenBytes() {
        java.lang.Object ref = token_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          token_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

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

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, token_);
        }
        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 wechat.protobuf.WCExtInfoProto.DeviceToken.Token)) {
          return super.equals(obj);
        }
        wechat.protobuf.WCExtInfoProto.DeviceToken.Token other = (wechat.protobuf.WCExtInfoProto.DeviceToken.Token) obj;

        if (hasToken() != other.hasToken()) return false;
        if (hasToken()) {
          if (!getToken()
              .equals(other.getToken())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasToken()) {
          hash = (37 * hash) + TOKEN_FIELD_NUMBER;
          hash = (53 * hash) + getToken().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token 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 wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token 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 wechat.protobuf.WCExtInfoProto.DeviceToken.Token parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token 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(wechat.protobuf.WCExtInfoProto.DeviceToken.Token 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 wechat_proto.DeviceToken.Token}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:wechat_proto.DeviceToken.Token)
          wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_Token_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_Token_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  wechat.protobuf.WCExtInfoProto.DeviceToken.Token.class, wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder.class);
        }

        // Construct using wechat.protobuf.WCExtInfoProto.DeviceToken.Token.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();
          token_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_Token_descriptor;
        }

        @java.lang.Override
        public wechat.protobuf.WCExtInfoProto.DeviceToken.Token getDefaultInstanceForType() {
          return wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance();
        }

        @java.lang.Override
        public wechat.protobuf.WCExtInfoProto.DeviceToken.Token build() {
          wechat.protobuf.WCExtInfoProto.DeviceToken.Token result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public wechat.protobuf.WCExtInfoProto.DeviceToken.Token buildPartial() {
          wechat.protobuf.WCExtInfoProto.DeviceToken.Token result = new wechat.protobuf.WCExtInfoProto.DeviceToken.Token(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.token_ = token_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof wechat.protobuf.WCExtInfoProto.DeviceToken.Token) {
            return mergeFrom((wechat.protobuf.WCExtInfoProto.DeviceToken.Token)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(wechat.protobuf.WCExtInfoProto.DeviceToken.Token other) {
          if (other == wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance()) return this;
          if (other.hasToken()) {
            bitField0_ |= 0x00000001;
            token_ = other.token_;
            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 {
          wechat.protobuf.WCExtInfoProto.DeviceToken.Token parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (wechat.protobuf.WCExtInfoProto.DeviceToken.Token) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object token_ = "";
        /**
         * optional string token = 1;
         * @return Whether the token field is set.
         */
        public boolean hasToken() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional string token = 1;
         * @return The token.
         */
        public java.lang.String getToken() {
          java.lang.Object ref = token_;
          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()) {
              token_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string token = 1;
         * @return The bytes for token.
         */
        public com.google.protobuf.ByteString
            getTokenBytes() {
          java.lang.Object ref = token_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            token_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string token = 1;
         * @param value The token to set.
         * @return This builder for chaining.
         */
        public Builder setToken(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          token_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string token = 1;
         * @return This builder for chaining.
         */
        public Builder clearToken() {
          bitField0_ = (bitField0_ & ~0x00000001);
          token_ = getDefaultInstance().getToken();
          onChanged();
          return this;
        }
        /**
         * optional string token = 1;
         * @param value The bytes for token to set.
         * @return This builder for chaining.
         */
        public Builder setTokenBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          token_ = 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:wechat_proto.DeviceToken.Token)
      }

      // @@protoc_insertion_point(class_scope:wechat_proto.DeviceToken.Token)
      private static final wechat.protobuf.WCExtInfoProto.DeviceToken.Token DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new wechat.protobuf.WCExtInfoProto.DeviceToken.Token();
      }

      public static wechat.protobuf.WCExtInfoProto.DeviceToken.Token getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Token parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Token(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 wechat.protobuf.WCExtInfoProto.DeviceToken.Token getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int A1_FIELD_NUMBER = 1;
    private volatile java.lang.Object a1_;
    /**
     * optional string a1 = 1;
     * @return Whether the a1 field is set.
     */
    @java.lang.Override
    public boolean hasA1() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string a1 = 1;
     * @return The a1.
     */
    @java.lang.Override
    public java.lang.String getA1() {
      java.lang.Object ref = a1_;
      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()) {
          a1_ = s;
        }
        return s;
      }
    }
    /**
     * optional string a1 = 1;
     * @return The bytes for a1.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getA1Bytes() {
      java.lang.Object ref = a1_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        a1_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int A2_FIELD_NUMBER = 2;
    private int a2_;
    /**
     * optional int32 a2 = 2;
     * @return Whether the a2 field is set.
     */
    @java.lang.Override
    public boolean hasA2() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int32 a2 = 2;
     * @return The a2.
     */
    @java.lang.Override
    public int getA2() {
      return a2_;
    }

    public static final int TOKEN_FIELD_NUMBER = 3;
    private wechat.protobuf.WCExtInfoProto.DeviceToken.Token token_;
    /**
     * optional .wechat_proto.DeviceToken.Token token = 3;
     * @return Whether the token field is set.
     */
    @java.lang.Override
    public boolean hasToken() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .wechat_proto.DeviceToken.Token token = 3;
     * @return The token.
     */
    @java.lang.Override
    public wechat.protobuf.WCExtInfoProto.DeviceToken.Token getToken() {
      return token_ == null ? wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance() : token_;
    }
    /**
     * optional .wechat_proto.DeviceToken.Token token = 3;
     */
    @java.lang.Override
    public wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder getTokenOrBuilder() {
      return token_ == null ? wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance() : token_;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private int timestamp_;
    /**
     * optional int32 timestamp = 4;
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional int32 timestamp = 4;
     * @return The timestamp.
     */
    @java.lang.Override
    public int getTimestamp() {
      return timestamp_;
    }

    public static final int A5_FIELD_NUMBER = 5;
    private int a5_;
    /**
     * optional int32 a5 = 5;
     * @return Whether the a5 field is set.
     */
    @java.lang.Override
    public boolean hasA5() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional int32 a5 = 5;
     * @return The a5.
     */
    @java.lang.Override
    public int getA5() {
      return a5_;
    }

    public static final int A6_FIELD_NUMBER = 6;
    private int a6_;
    /**
     * optional int32 a6 = 6;
     * @return Whether the a6 field is set.
     */
    @java.lang.Override
    public boolean hasA6() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional int32 a6 = 6;
     * @return The a6.
     */
    @java.lang.Override
    public int getA6() {
      return a6_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, a1_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, a2_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getToken());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt32(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeInt32(5, a5_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeInt32(6, a6_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, a1_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, a2_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getToken());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, a5_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, a6_);
      }
      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 wechat.protobuf.WCExtInfoProto.DeviceToken)) {
        return super.equals(obj);
      }
      wechat.protobuf.WCExtInfoProto.DeviceToken other = (wechat.protobuf.WCExtInfoProto.DeviceToken) obj;

      if (hasA1() != other.hasA1()) return false;
      if (hasA1()) {
        if (!getA1()
            .equals(other.getA1())) return false;
      }
      if (hasA2() != other.hasA2()) return false;
      if (hasA2()) {
        if (getA2()
            != other.getA2()) return false;
      }
      if (hasToken() != other.hasToken()) return false;
      if (hasToken()) {
        if (!getToken()
            .equals(other.getToken())) return false;
      }
      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp()
            != other.getTimestamp()) return false;
      }
      if (hasA5() != other.hasA5()) return false;
      if (hasA5()) {
        if (getA5()
            != other.getA5()) return false;
      }
      if (hasA6() != other.hasA6()) return false;
      if (hasA6()) {
        if (getA6()
            != other.getA6()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasA1()) {
        hash = (37 * hash) + A1_FIELD_NUMBER;
        hash = (53 * hash) + getA1().hashCode();
      }
      if (hasA2()) {
        hash = (37 * hash) + A2_FIELD_NUMBER;
        hash = (53 * hash) + getA2();
      }
      if (hasToken()) {
        hash = (37 * hash) + TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getToken().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + getTimestamp();
      }
      if (hasA5()) {
        hash = (37 * hash) + A5_FIELD_NUMBER;
        hash = (53 * hash) + getA5();
      }
      if (hasA6()) {
        hash = (37 * hash) + A6_FIELD_NUMBER;
        hash = (53 * hash) + getA6();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.WCExtInfoProto.DeviceToken.class, wechat.protobuf.WCExtInfoProto.DeviceToken.Builder.class);
      }

      // Construct using wechat.protobuf.WCExtInfoProto.DeviceToken.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getTokenFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        a1_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        a2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (tokenBuilder_ == null) {
          token_ = null;
        } else {
          tokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        a5_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        a6_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.WCExtInfoProto.internal_static_wechat_proto_DeviceToken_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.DeviceToken getDefaultInstanceForType() {
        return wechat.protobuf.WCExtInfoProto.DeviceToken.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.DeviceToken build() {
        wechat.protobuf.WCExtInfoProto.DeviceToken result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.WCExtInfoProto.DeviceToken buildPartial() {
        wechat.protobuf.WCExtInfoProto.DeviceToken result = new wechat.protobuf.WCExtInfoProto.DeviceToken(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.a1_ = a1_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.a2_ = a2_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (tokenBuilder_ == null) {
            result.token_ = token_;
          } else {
            result.token_ = tokenBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.a5_ = a5_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.a6_ = a6_;
          to_bitField0_ |= 0x00000020;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof wechat.protobuf.WCExtInfoProto.DeviceToken) {
          return mergeFrom((wechat.protobuf.WCExtInfoProto.DeviceToken)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(wechat.protobuf.WCExtInfoProto.DeviceToken other) {
        if (other == wechat.protobuf.WCExtInfoProto.DeviceToken.getDefaultInstance()) return this;
        if (other.hasA1()) {
          bitField0_ |= 0x00000001;
          a1_ = other.a1_;
          onChanged();
        }
        if (other.hasA2()) {
          setA2(other.getA2());
        }
        if (other.hasToken()) {
          mergeToken(other.getToken());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasA5()) {
          setA5(other.getA5());
        }
        if (other.hasA6()) {
          setA6(other.getA6());
        }
        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 {
        wechat.protobuf.WCExtInfoProto.DeviceToken parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (wechat.protobuf.WCExtInfoProto.DeviceToken) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object a1_ = "";
      /**
       * optional string a1 = 1;
       * @return Whether the a1 field is set.
       */
      public boolean hasA1() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string a1 = 1;
       * @return The a1.
       */
      public java.lang.String getA1() {
        java.lang.Object ref = a1_;
        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()) {
            a1_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string a1 = 1;
       * @return The bytes for a1.
       */
      public com.google.protobuf.ByteString
          getA1Bytes() {
        java.lang.Object ref = a1_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          a1_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string a1 = 1;
       * @param value The a1 to set.
       * @return This builder for chaining.
       */
      public Builder setA1(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        a1_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string a1 = 1;
       * @return This builder for chaining.
       */
      public Builder clearA1() {
        bitField0_ = (bitField0_ & ~0x00000001);
        a1_ = getDefaultInstance().getA1();
        onChanged();
        return this;
      }
      /**
       * optional string a1 = 1;
       * @param value The bytes for a1 to set.
       * @return This builder for chaining.
       */
      public Builder setA1Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        a1_ = value;
        onChanged();
        return this;
      }

      private int a2_ ;
      /**
       * optional int32 a2 = 2;
       * @return Whether the a2 field is set.
       */
      @java.lang.Override
      public boolean hasA2() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int32 a2 = 2;
       * @return The a2.
       */
      @java.lang.Override
      public int getA2() {
        return a2_;
      }
      /**
       * optional int32 a2 = 2;
       * @param value The a2 to set.
       * @return This builder for chaining.
       */
      public Builder setA2(int value) {
        bitField0_ |= 0x00000002;
        a2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 a2 = 2;
       * @return This builder for chaining.
       */
      public Builder clearA2() {
        bitField0_ = (bitField0_ & ~0x00000002);
        a2_ = 0;
        onChanged();
        return this;
      }

      private wechat.protobuf.WCExtInfoProto.DeviceToken.Token token_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.WCExtInfoProto.DeviceToken.Token, wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder, wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder> tokenBuilder_;
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       * @return Whether the token field is set.
       */
      public boolean hasToken() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       * @return The token.
       */
      public wechat.protobuf.WCExtInfoProto.DeviceToken.Token getToken() {
        if (tokenBuilder_ == null) {
          return token_ == null ? wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance() : token_;
        } else {
          return tokenBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      public Builder setToken(wechat.protobuf.WCExtInfoProto.DeviceToken.Token value) {
        if (tokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          token_ = value;
          onChanged();
        } else {
          tokenBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      public Builder setToken(
          wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder builderForValue) {
        if (tokenBuilder_ == null) {
          token_ = builderForValue.build();
          onChanged();
        } else {
          tokenBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      public Builder mergeToken(wechat.protobuf.WCExtInfoProto.DeviceToken.Token value) {
        if (tokenBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              token_ != null &&
              token_ != wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance()) {
            token_ =
              wechat.protobuf.WCExtInfoProto.DeviceToken.Token.newBuilder(token_).mergeFrom(value).buildPartial();
          } else {
            token_ = value;
          }
          onChanged();
        } else {
          tokenBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      public Builder clearToken() {
        if (tokenBuilder_ == null) {
          token_ = null;
          onChanged();
        } else {
          tokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      public wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder getTokenBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getTokenFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      public wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder getTokenOrBuilder() {
        if (tokenBuilder_ != null) {
          return tokenBuilder_.getMessageOrBuilder();
        } else {
          return token_ == null ?
              wechat.protobuf.WCExtInfoProto.DeviceToken.Token.getDefaultInstance() : token_;
        }
      }
      /**
       * optional .wechat_proto.DeviceToken.Token token = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.WCExtInfoProto.DeviceToken.Token, wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder, wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder> 
          getTokenFieldBuilder() {
        if (tokenBuilder_ == null) {
          tokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.WCExtInfoProto.DeviceToken.Token, wechat.protobuf.WCExtInfoProto.DeviceToken.Token.Builder, wechat.protobuf.WCExtInfoProto.DeviceToken.TokenOrBuilder>(
                  getToken(),
                  getParentForChildren(),
                  isClean());
          token_ = null;
        }
        return tokenBuilder_;
      }

      private int timestamp_ ;
      /**
       * optional int32 timestamp = 4;
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional int32 timestamp = 4;
       * @return The timestamp.
       */
      @java.lang.Override
      public int getTimestamp() {
        return timestamp_;
      }
      /**
       * optional int32 timestamp = 4;
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(int value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 timestamp = 4;
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0;
        onChanged();
        return this;
      }

      private int a5_ ;
      /**
       * optional int32 a5 = 5;
       * @return Whether the a5 field is set.
       */
      @java.lang.Override
      public boolean hasA5() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional int32 a5 = 5;
       * @return The a5.
       */
      @java.lang.Override
      public int getA5() {
        return a5_;
      }
      /**
       * optional int32 a5 = 5;
       * @param value The a5 to set.
       * @return This builder for chaining.
       */
      public Builder setA5(int value) {
        bitField0_ |= 0x00000010;
        a5_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 a5 = 5;
       * @return This builder for chaining.
       */
      public Builder clearA5() {
        bitField0_ = (bitField0_ & ~0x00000010);
        a5_ = 0;
        onChanged();
        return this;
      }

      private int a6_ ;
      /**
       * optional int32 a6 = 6;
       * @return Whether the a6 field is set.
       */
      @java.lang.Override
      public boolean hasA6() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional int32 a6 = 6;
       * @return The a6.
       */
      @java.lang.Override
      public int getA6() {
        return a6_;
      }
      /**
       * optional int32 a6 = 6;
       * @param value The a6 to set.
       * @return This builder for chaining.
       */
      public Builder setA6(int value) {
        bitField0_ |= 0x00000020;
        a6_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 a6 = 6;
       * @return This builder for chaining.
       */
      public Builder clearA6() {
        bitField0_ = (bitField0_ & ~0x00000020);
        a6_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.DeviceToken)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.DeviceToken)
    private static final wechat.protobuf.WCExtInfoProto.DeviceToken DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.WCExtInfoProto.DeviceToken();
    }

    public static wechat.protobuf.WCExtInfoProto.DeviceToken getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public DeviceToken parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeviceToken(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 wechat.protobuf.WCExtInfoProto.DeviceToken getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_WCExtInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_WCExtInfo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_WCSTE_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_WCSTE_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_WCSTF_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_WCSTF_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_AcgiTuring_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_AcgiTuring_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_DeviceToken_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_DeviceToken_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_DeviceToken_Token_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_DeviceToken_Token_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\025WCExtInfo_proto.proto\022\014wechat_proto\032\014w" +
      "echat.proto\"\224\005\n\tWCExtInfo\022.\n\006wcstf_\030\001 \001(" +
      "\0132\036.wechat_proto.SKBuiltinString_\022.\n\006wcs" +
      "te_\030\002 \001(\0132\036.wechat_proto.SKBuiltinString" +
      "_\022.\n\006ccData\030\003 \001(\0132\036.wechat_proto.SKBuilt" +
      "inString_\0225\n\ruserAttrInfo_\030\004 \001(\0132\036.wecha" +
      "t_proto.SKBuiltinString_\0227\n\017acgiDeviceIn" +
      "fo_\030\005 \001(\0132\036.wechat_proto.SKBuiltinString" +
      "_\0223\n\013acgiTuring_\030\006 \001(\0132\036.wechat_proto.SK" +
      "BuiltinString_\0224\n\014deviceToken_\030\007 \001(\0132\036.w" +
      "echat_proto.SKBuiltinString_\0223\n\013behavior" +
      "Id_\030\010 \001(\0132\036.wechat_proto.SKBuiltinString" +
      "_\022?\n\027sensorSKBuiltinString__\030\t \001(\0132\036.wec" +
      "hat_proto.SKBuiltinString_\0224\n\014turingOwne" +
      "r_\030\n \001(\0132\036.wechat_proto.SKBuiltinString_" +
      "\0227\n\017iosTuringHuman_\030e \001(\0132\036.wechat_proto" +
      ".SKBuiltinString_\0227\n\017iosTuringOwner_\030f \001" +
      "(\0132\036.wechat_proto.SKBuiltinString_\"\251\001\n\005W" +
      "CSTE\022\017\n\007context\030\001 \001(\014\022\n\n\002st\030\002 \001(\005\022\n\n\002et\030" +
      "\003 \001(\005\022\013\n\003iec\030\004 \001(\005\022\013\n\003tec\030\005 \001(\005\022\014\n\004asst\030" +
      "\006 \001(\005\022\013\n\003pss\030\007 \001(\003\022\014\n\004tlmj\030\010 \001(\003\022\014\n\004tlmn" +
      "\030\t \001(\003\022\014\n\004thmj\030\n \001(\003\022\014\n\004thmn\030\013 \001(\003\022\n\n\002sz" +
      "\030\014 \001(\003\"7\n\005WCSTF\022\n\n\002st\030\001 \001(\003\022\n\n\002et\030\002 \001(\003\022" +
      "\n\n\002cc\030\003 \001(\005\022\n\n\002ct\030\004 \003(\003\"[\n\nAcgiTuring\022\n\n" +
      "\002a1\030\001 \001(\t\022\n\n\002a2\030\002 \001(\005\022\n\n\002a3\030\003 \001(\t\022\021\n\ttim" +
      "estamp\030\004 \001(\003\022\n\n\002a5\030\005 \001(\005\022\n\n\002a6\030\006 \001(\005\"\230\001\n" +
      "\013DeviceToken\022\n\n\002a1\030\001 \001(\t\022\n\n\002a2\030\002 \001(\005\022.\n\005" +
      "token\030\003 \001(\0132\037.wechat_proto.DeviceToken.T" +
      "oken\022\021\n\ttimestamp\030\004 \001(\005\022\n\n\002a5\030\005 \001(\005\022\n\n\002a" +
      "6\030\006 \001(\005\032\026\n\005Token\022\r\n\005token\030\001 \001(\tB\034\n\017wecha" +
      "t.protobufZ\t../wechat"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          wechat.protobuf.Wechat.getDescriptor(),
        });
    internal_static_wechat_proto_WCExtInfo_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_wechat_proto_WCExtInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_WCExtInfo_descriptor,
        new java.lang.String[] { "Wcstf", "Wcste", "CcData", "UserAttrInfo", "AcgiDeviceInfo", "AcgiTuring", "DeviceToken", "BehaviorId", "SensorSKBuiltinString", "TuringOwner", "IosTuringHuman", "IosTuringOwner", });
    internal_static_wechat_proto_WCSTE_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_wechat_proto_WCSTE_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_WCSTE_descriptor,
        new java.lang.String[] { "Context", "St", "Et", "Iec", "Tec", "Asst", "Pss", "Tlmj", "Tlmn", "Thmj", "Thmn", "Sz", });
    internal_static_wechat_proto_WCSTF_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_wechat_proto_WCSTF_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_WCSTF_descriptor,
        new java.lang.String[] { "St", "Et", "Cc", "Ct", });
    internal_static_wechat_proto_AcgiTuring_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_wechat_proto_AcgiTuring_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_AcgiTuring_descriptor,
        new java.lang.String[] { "A1", "A2", "A3", "Timestamp", "A5", "A6", });
    internal_static_wechat_proto_DeviceToken_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_wechat_proto_DeviceToken_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_DeviceToken_descriptor,
        new java.lang.String[] { "A1", "A2", "Token", "Timestamp", "A5", "A6", });
    internal_static_wechat_proto_DeviceToken_Token_descriptor =
      internal_static_wechat_proto_DeviceToken_descriptor.getNestedTypes().get(0);
    internal_static_wechat_proto_DeviceToken_Token_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_DeviceToken_Token_descriptor,
        new java.lang.String[] { "Token", });
    wechat.protobuf.Wechat.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy