//
//  Generated code. Do not modify.
//  source: base.proto
//
// @dart = 2.12

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

import 'package:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;

import 'base.pbenum.dart';
import 'google/protobuf/any.pb.dart' as $1;
import 'google/protobuf/duration.pb.dart' as $2;
import 'google/protobuf/timestamp.pb.dart' as $0;

export 'base.pbenum.dart';

class NetImage extends $pb.GeneratedMessage {
  factory NetImage({
    $core.String? url,
    $core.List<$core.int>? md5,
  }) {
    final $result = create();
    if (url != null) {
      $result.url = url;
    }
    if (md5 != null) {
      $result.md5 = md5;
    }
    return $result;
  }
  NetImage._() : super();
  factory NetImage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory NetImage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NetImage', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'url')
    ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'md5', $pb.PbFieldType.OY)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  NetImage clone() => NetImage()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  NetImage copyWith(void Function(NetImage) updates) => super.copyWith((message) => updates(message as NetImage)) as NetImage;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NetImage create() => NetImage._();
  NetImage createEmptyInstance() => create();
  static $pb.PbList<NetImage> createRepeated() => $pb.PbList<NetImage>();
  @$core.pragma('dart2js:noInline')
  static NetImage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NetImage>(create);
  static NetImage? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get url => $_getSZ(0);
  @$pb.TagNumber(1)
  set url($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasUrl() => $_has(0);
  @$pb.TagNumber(1)
  void clearUrl() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<$core.int> get md5 => $_getN(1);
  @$pb.TagNumber(2)
  set md5($core.List<$core.int> v) { $_setBytes(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasMd5() => $_has(1);
  @$pb.TagNumber(2)
  void clearMd5() => clearField(2);
}

class User extends $pb.GeneratedMessage {
  factory User() => create();
  User._() : super();
  factory User.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory User.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'User', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  User clone() => User()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  User copyWith(void Function(User) updates) => super.copyWith((message) => updates(message as User)) as User;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static User create() => User._();
  User createEmptyInstance() => create();
  static $pb.PbList<User> createRepeated() => $pb.PbList<User>();
  @$core.pragma('dart2js:noInline')
  static User getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<User>(create);
  static User? _defaultInstance;
}

class GameGpsInfo extends $pb.GeneratedMessage {
  factory GameGpsInfo({
    $0.Timestamp? gpsTime,
    $core.double? longitude,
    $core.double? latitude,
    $core.double? directionRadian,
    $core.double? altitude,
  }) {
    final $result = create();
    if (gpsTime != null) {
      $result.gpsTime = gpsTime;
    }
    if (longitude != null) {
      $result.longitude = longitude;
    }
    if (latitude != null) {
      $result.latitude = latitude;
    }
    if (directionRadian != null) {
      $result.directionRadian = directionRadian;
    }
    if (altitude != null) {
      $result.altitude = altitude;
    }
    return $result;
  }
  GameGpsInfo._() : super();
  factory GameGpsInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GameGpsInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GameGpsInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOM<$0.Timestamp>(1, _omitFieldNames ? '' : 'gpsTime', protoName: 'gpsTime', subBuilder: $0.Timestamp.create)
    ..a<$core.double>(2, _omitFieldNames ? '' : 'longitude', $pb.PbFieldType.OD)
    ..a<$core.double>(3, _omitFieldNames ? '' : 'latitude', $pb.PbFieldType.OD)
    ..a<$core.double>(4, _omitFieldNames ? '' : 'directionRadian', $pb.PbFieldType.OD, protoName: 'directionRadian')
    ..a<$core.double>(5, _omitFieldNames ? '' : 'altitude', $pb.PbFieldType.OD)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GameGpsInfo clone() => GameGpsInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GameGpsInfo copyWith(void Function(GameGpsInfo) updates) => super.copyWith((message) => updates(message as GameGpsInfo)) as GameGpsInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GameGpsInfo create() => GameGpsInfo._();
  GameGpsInfo createEmptyInstance() => create();
  static $pb.PbList<GameGpsInfo> createRepeated() => $pb.PbList<GameGpsInfo>();
  @$core.pragma('dart2js:noInline')
  static GameGpsInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GameGpsInfo>(create);
  static GameGpsInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $0.Timestamp get gpsTime => $_getN(0);
  @$pb.TagNumber(1)
  set gpsTime($0.Timestamp v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasGpsTime() => $_has(0);
  @$pb.TagNumber(1)
  void clearGpsTime() => clearField(1);
  @$pb.TagNumber(1)
  $0.Timestamp ensureGpsTime() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.double get longitude => $_getN(1);
  @$pb.TagNumber(2)
  set longitude($core.double v) { $_setDouble(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLongitude() => $_has(1);
  @$pb.TagNumber(2)
  void clearLongitude() => clearField(2);

  @$pb.TagNumber(3)
  $core.double get latitude => $_getN(2);
  @$pb.TagNumber(3)
  set latitude($core.double v) { $_setDouble(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasLatitude() => $_has(2);
  @$pb.TagNumber(3)
  void clearLatitude() => clearField(3);

  @$pb.TagNumber(4)
  $core.double get directionRadian => $_getN(3);
  @$pb.TagNumber(4)
  set directionRadian($core.double v) { $_setDouble(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasDirectionRadian() => $_has(3);
  @$pb.TagNumber(4)
  void clearDirectionRadian() => clearField(4);

  @$pb.TagNumber(5)
  $core.double get altitude => $_getN(4);
  @$pb.TagNumber(5)
  set altitude($core.double v) { $_setDouble(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasAltitude() => $_has(4);
  @$pb.TagNumber(5)
  void clearAltitude() => clearField(5);
}

class HeartRate extends $pb.GeneratedMessage {
  factory HeartRate({
    $fixnum.Int64? timeStampMs,
    $core.int? hr,
  }) {
    final $result = create();
    if (timeStampMs != null) {
      $result.timeStampMs = timeStampMs;
    }
    if (hr != null) {
      $result.hr = hr;
    }
    return $result;
  }
  HeartRate._() : super();
  factory HeartRate.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory HeartRate.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'HeartRate', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'timeStampMs', protoName: 'timeStampMs')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'hr', $pb.PbFieldType.O3)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  HeartRate clone() => HeartRate()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  HeartRate copyWith(void Function(HeartRate) updates) => super.copyWith((message) => updates(message as HeartRate)) as HeartRate;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static HeartRate create() => HeartRate._();
  HeartRate createEmptyInstance() => create();
  static $pb.PbList<HeartRate> createRepeated() => $pb.PbList<HeartRate>();
  @$core.pragma('dart2js:noInline')
  static HeartRate getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<HeartRate>(create);
  static HeartRate? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get timeStampMs => $_getI64(0);
  @$pb.TagNumber(1)
  set timeStampMs($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasTimeStampMs() => $_has(0);
  @$pb.TagNumber(1)
  void clearTimeStampMs() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get hr => $_getIZ(1);
  @$pb.TagNumber(2)
  set hr($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasHr() => $_has(1);
  @$pb.TagNumber(2)
  void clearHr() => clearField(2);
}

class SignInReply extends $pb.GeneratedMessage {
  factory SignInReply({
    $core.String? token,
  }) {
    final $result = create();
    if (token != null) {
      $result.token = token;
    }
    return $result;
  }
  SignInReply._() : super();
  factory SignInReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory SignInReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SignInReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'token')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  SignInReply clone() => SignInReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  SignInReply copyWith(void Function(SignInReply) updates) => super.copyWith((message) => updates(message as SignInReply)) as SignInReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SignInReply create() => SignInReply._();
  SignInReply createEmptyInstance() => create();
  static $pb.PbList<SignInReply> createRepeated() => $pb.PbList<SignInReply>();
  @$core.pragma('dart2js:noInline')
  static SignInReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SignInReply>(create);
  static SignInReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get token => $_getSZ(0);
  @$pb.TagNumber(1)
  set token($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasToken() => $_has(0);
  @$pb.TagNumber(1)
  void clearToken() => clearField(1);
}

class GameArriveControlPoint extends $pb.GeneratedMessage {
  factory GameArriveControlPoint({
    $fixnum.Int64? id,
    $core.String? sn,
    $core.int? orderNo,
    $core.int? totalNo,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (sn != null) {
      $result.sn = sn;
    }
    if (orderNo != null) {
      $result.orderNo = orderNo;
    }
    if (totalNo != null) {
      $result.totalNo = totalNo;
    }
    return $result;
  }
  GameArriveControlPoint._() : super();
  factory GameArriveControlPoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GameArriveControlPoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GameArriveControlPoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'sn')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'orderNo', $pb.PbFieldType.O3, protoName: 'orderNo')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'totalNo', $pb.PbFieldType.O3, protoName: 'totalNo')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GameArriveControlPoint clone() => GameArriveControlPoint()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GameArriveControlPoint copyWith(void Function(GameArriveControlPoint) updates) => super.copyWith((message) => updates(message as GameArriveControlPoint)) as GameArriveControlPoint;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GameArriveControlPoint create() => GameArriveControlPoint._();
  GameArriveControlPoint createEmptyInstance() => create();
  static $pb.PbList<GameArriveControlPoint> createRepeated() => $pb.PbList<GameArriveControlPoint>();
  @$core.pragma('dart2js:noInline')
  static GameArriveControlPoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GameArriveControlPoint>(create);
  static GameArriveControlPoint? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get sn => $_getSZ(1);
  @$pb.TagNumber(2)
  set sn($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasSn() => $_has(1);
  @$pb.TagNumber(2)
  void clearSn() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get orderNo => $_getIZ(2);
  @$pb.TagNumber(3)
  set orderNo($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasOrderNo() => $_has(2);
  @$pb.TagNumber(3)
  void clearOrderNo() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get totalNo => $_getIZ(3);
  @$pb.TagNumber(4)
  set totalNo($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasTotalNo() => $_has(3);
  @$pb.TagNumber(4)
  void clearTotalNo() => clearField(4);
}

class MapRoute extends $pb.GeneratedMessage {
  factory MapRoute({
    $fixnum.Int64? id,
    $core.String? name,
    NetImage? image,
    $core.bool? isNfc,
    $core.int? distanceMeter,
    $core.int? altitudeDiffMeter,
    $core.int? useCount,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (name != null) {
      $result.name = name;
    }
    if (image != null) {
      $result.image = image;
    }
    if (isNfc != null) {
      $result.isNfc = isNfc;
    }
    if (distanceMeter != null) {
      $result.distanceMeter = distanceMeter;
    }
    if (altitudeDiffMeter != null) {
      $result.altitudeDiffMeter = altitudeDiffMeter;
    }
    if (useCount != null) {
      $result.useCount = useCount;
    }
    return $result;
  }
  MapRoute._() : super();
  factory MapRoute.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MapRoute.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MapRoute', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOM<NetImage>(3, _omitFieldNames ? '' : 'image', subBuilder: NetImage.create)
    ..aOB(4, _omitFieldNames ? '' : 'isNfc', protoName: 'isNfc')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'distanceMeter', $pb.PbFieldType.O3, protoName: 'distanceMeter')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'altitudeDiffMeter', $pb.PbFieldType.O3, protoName: 'altitudeDiffMeter')
    ..a<$core.int>(7, _omitFieldNames ? '' : 'useCount', $pb.PbFieldType.O3, protoName: 'useCount')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  MapRoute clone() => MapRoute()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  MapRoute copyWith(void Function(MapRoute) updates) => super.copyWith((message) => updates(message as MapRoute)) as MapRoute;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MapRoute create() => MapRoute._();
  MapRoute createEmptyInstance() => create();
  static $pb.PbList<MapRoute> createRepeated() => $pb.PbList<MapRoute>();
  @$core.pragma('dart2js:noInline')
  static MapRoute getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MapRoute>(create);
  static MapRoute? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  @$pb.TagNumber(3)
  NetImage get image => $_getN(2);
  @$pb.TagNumber(3)
  set image(NetImage v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasImage() => $_has(2);
  @$pb.TagNumber(3)
  void clearImage() => clearField(3);
  @$pb.TagNumber(3)
  NetImage ensureImage() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.bool get isNfc => $_getBF(3);
  @$pb.TagNumber(4)
  set isNfc($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasIsNfc() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsNfc() => clearField(4);

  /// 路线总距离
  @$pb.TagNumber(5)
  $core.int get distanceMeter => $_getIZ(4);
  @$pb.TagNumber(5)
  set distanceMeter($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasDistanceMeter() => $_has(4);
  @$pb.TagNumber(5)
  void clearDistanceMeter() => clearField(5);

  /// 高度落差
  @$pb.TagNumber(6)
  $core.int get altitudeDiffMeter => $_getIZ(5);
  @$pb.TagNumber(6)
  set altitudeDiffMeter($core.int v) { $_setSignedInt32(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasAltitudeDiffMeter() => $_has(5);
  @$pb.TagNumber(6)
  void clearAltitudeDiffMeter() => clearField(6);

  /// 使用过的次数
  @$pb.TagNumber(7)
  $core.int get useCount => $_getIZ(6);
  @$pb.TagNumber(7)
  set useCount($core.int v) { $_setSignedInt32(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasUseCount() => $_has(6);
  @$pb.TagNumber(7)
  void clearUseCount() => clearField(7);
}

class IdArrRequest extends $pb.GeneratedMessage {
  factory IdArrRequest({
    $core.Iterable<$core.int>? idArr,
  }) {
    final $result = create();
    if (idArr != null) {
      $result.idArr.addAll(idArr);
    }
    return $result;
  }
  IdArrRequest._() : super();
  factory IdArrRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory IdArrRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IdArrRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..p<$core.int>(2, _omitFieldNames ? '' : 'IdArr', $pb.PbFieldType.K3, protoName: 'IdArr')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  IdArrRequest clone() => IdArrRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  IdArrRequest copyWith(void Function(IdArrRequest) updates) => super.copyWith((message) => updates(message as IdArrRequest)) as IdArrRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IdArrRequest create() => IdArrRequest._();
  IdArrRequest createEmptyInstance() => create();
  static $pb.PbList<IdArrRequest> createRepeated() => $pb.PbList<IdArrRequest>();
  @$core.pragma('dart2js:noInline')
  static IdArrRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<IdArrRequest>(create);
  static IdArrRequest? _defaultInstance;

  @$pb.TagNumber(2)
  $core.List<$core.int> get idArr => $_getList(0);
}

class BaseMapInfo extends $pb.GeneratedMessage {
  factory BaseMapInfo({
    $core.int? shopId,
    $core.String? mapName,
    NetImage? zipImage,
  }) {
    final $result = create();
    if (shopId != null) {
      $result.shopId = shopId;
    }
    if (mapName != null) {
      $result.mapName = mapName;
    }
    if (zipImage != null) {
      $result.zipImage = zipImage;
    }
    return $result;
  }
  BaseMapInfo._() : super();
  factory BaseMapInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory BaseMapInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BaseMapInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'shopId', $pb.PbFieldType.O3, protoName: 'shopId')
    ..aOS(2, _omitFieldNames ? '' : 'mapName', protoName: 'mapName')
    ..aOM<NetImage>(3, _omitFieldNames ? '' : 'zipImage', protoName: 'zipImage', subBuilder: NetImage.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  BaseMapInfo clone() => BaseMapInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  BaseMapInfo copyWith(void Function(BaseMapInfo) updates) => super.copyWith((message) => updates(message as BaseMapInfo)) as BaseMapInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static BaseMapInfo create() => BaseMapInfo._();
  BaseMapInfo createEmptyInstance() => create();
  static $pb.PbList<BaseMapInfo> createRepeated() => $pb.PbList<BaseMapInfo>();
  @$core.pragma('dart2js:noInline')
  static BaseMapInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BaseMapInfo>(create);
  static BaseMapInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get shopId => $_getIZ(0);
  @$pb.TagNumber(1)
  set shopId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasShopId() => $_has(0);
  @$pb.TagNumber(1)
  void clearShopId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get mapName => $_getSZ(1);
  @$pb.TagNumber(2)
  set mapName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasMapName() => $_has(1);
  @$pb.TagNumber(2)
  void clearMapName() => clearField(2);

  @$pb.TagNumber(3)
  NetImage get zipImage => $_getN(2);
  @$pb.TagNumber(3)
  set zipImage(NetImage v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasZipImage() => $_has(2);
  @$pb.TagNumber(3)
  void clearZipImage() => clearField(3);
  @$pb.TagNumber(3)
  NetImage ensureZipImage() => $_ensure(2);
}

/// example： code = 370000 name = 山东省；code = 370100 name = 济南市；code = 370102 name = 历下区
class Region extends $pb.GeneratedMessage {
  factory Region({
    $core.String? code,
    $core.String? name,
  }) {
    final $result = create();
    if (code != null) {
      $result.code = code;
    }
    if (name != null) {
      $result.name = name;
    }
    return $result;
  }
  Region._() : super();
  factory Region.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Region.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Region', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'code')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Region clone() => Region()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Region copyWith(void Function(Region) updates) => super.copyWith((message) => updates(message as Region)) as Region;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Region create() => Region._();
  Region createEmptyInstance() => create();
  static $pb.PbList<Region> createRepeated() => $pb.PbList<Region>();
  @$core.pragma('dart2js:noInline')
  static Region getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Region>(create);
  static Region? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get code => $_getSZ(0);
  @$pb.TagNumber(1)
  set code($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearCode() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);
}

class ShopList extends $pb.GeneratedMessage {
  factory ShopList({
    $core.int? shopId,
    $core.String? name,
  }) {
    final $result = create();
    if (shopId != null) {
      $result.shopId = shopId;
    }
    if (name != null) {
      $result.name = name;
    }
    return $result;
  }
  ShopList._() : super();
  factory ShopList.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ShopList.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ShopList', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'shopId', $pb.PbFieldType.O3, protoName: 'shopId')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ShopList clone() => ShopList()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ShopList copyWith(void Function(ShopList) updates) => super.copyWith((message) => updates(message as ShopList)) as ShopList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ShopList create() => ShopList._();
  ShopList createEmptyInstance() => create();
  static $pb.PbList<ShopList> createRepeated() => $pb.PbList<ShopList>();
  @$core.pragma('dart2js:noInline')
  static ShopList getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ShopList>(create);
  static ShopList? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get shopId => $_getIZ(0);
  @$pb.TagNumber(1)
  set shopId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasShopId() => $_has(0);
  @$pb.TagNumber(1)
  void clearShopId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);
}

class GetSmsSendLeftTimeRequest extends $pb.GeneratedMessage {
  factory GetSmsSendLeftTimeRequest({
    $core.String? phone,
  }) {
    final $result = create();
    if (phone != null) {
      $result.phone = phone;
    }
    return $result;
  }
  GetSmsSendLeftTimeRequest._() : super();
  factory GetSmsSendLeftTimeRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetSmsSendLeftTimeRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSmsSendLeftTimeRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'phone')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetSmsSendLeftTimeRequest clone() => GetSmsSendLeftTimeRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetSmsSendLeftTimeRequest copyWith(void Function(GetSmsSendLeftTimeRequest) updates) => super.copyWith((message) => updates(message as GetSmsSendLeftTimeRequest)) as GetSmsSendLeftTimeRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetSmsSendLeftTimeRequest create() => GetSmsSendLeftTimeRequest._();
  GetSmsSendLeftTimeRequest createEmptyInstance() => create();
  static $pb.PbList<GetSmsSendLeftTimeRequest> createRepeated() => $pb.PbList<GetSmsSendLeftTimeRequest>();
  @$core.pragma('dart2js:noInline')
  static GetSmsSendLeftTimeRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetSmsSendLeftTimeRequest>(create);
  static GetSmsSendLeftTimeRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get phone => $_getSZ(0);
  @$pb.TagNumber(1)
  set phone($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasPhone() => $_has(0);
  @$pb.TagNumber(1)
  void clearPhone() => clearField(1);
}

class GetSmsSendLeftTimeReply extends $pb.GeneratedMessage {
  factory GetSmsSendLeftTimeReply({
    $core.int? second,
  }) {
    final $result = create();
    if (second != null) {
      $result.second = second;
    }
    return $result;
  }
  GetSmsSendLeftTimeReply._() : super();
  factory GetSmsSendLeftTimeReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetSmsSendLeftTimeReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSmsSendLeftTimeReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'second', $pb.PbFieldType.O3)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetSmsSendLeftTimeReply clone() => GetSmsSendLeftTimeReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetSmsSendLeftTimeReply copyWith(void Function(GetSmsSendLeftTimeReply) updates) => super.copyWith((message) => updates(message as GetSmsSendLeftTimeReply)) as GetSmsSendLeftTimeReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetSmsSendLeftTimeReply create() => GetSmsSendLeftTimeReply._();
  GetSmsSendLeftTimeReply createEmptyInstance() => create();
  static $pb.PbList<GetSmsSendLeftTimeReply> createRepeated() => $pb.PbList<GetSmsSendLeftTimeReply>();
  @$core.pragma('dart2js:noInline')
  static GetSmsSendLeftTimeReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetSmsSendLeftTimeReply>(create);
  static GetSmsSendLeftTimeReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get second => $_getIZ(0);
  @$pb.TagNumber(1)
  set second($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasSecond() => $_has(0);
  @$pb.TagNumber(1)
  void clearSecond() => clearField(1);
}

class ControlInfoList extends $pb.GeneratedMessage {
  factory ControlInfoList({
    $core.int? ciId,
    $core.String? ciCode,
  }) {
    final $result = create();
    if (ciId != null) {
      $result.ciId = ciId;
    }
    if (ciCode != null) {
      $result.ciCode = ciCode;
    }
    return $result;
  }
  ControlInfoList._() : super();
  factory ControlInfoList.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ControlInfoList.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControlInfoList', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'ciId', $pb.PbFieldType.O3, protoName: 'ciId')
    ..aOS(2, _omitFieldNames ? '' : 'ciCode', protoName: 'ciCode')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ControlInfoList clone() => ControlInfoList()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ControlInfoList copyWith(void Function(ControlInfoList) updates) => super.copyWith((message) => updates(message as ControlInfoList)) as ControlInfoList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ControlInfoList create() => ControlInfoList._();
  ControlInfoList createEmptyInstance() => create();
  static $pb.PbList<ControlInfoList> createRepeated() => $pb.PbList<ControlInfoList>();
  @$core.pragma('dart2js:noInline')
  static ControlInfoList getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ControlInfoList>(create);
  static ControlInfoList? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get ciId => $_getIZ(0);
  @$pb.TagNumber(1)
  set ciId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCiId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCiId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get ciCode => $_getSZ(1);
  @$pb.TagNumber(2)
  set ciCode($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasCiCode() => $_has(1);
  @$pb.TagNumber(2)
  void clearCiCode() => clearField(2);
}

class DefaultReply extends $pb.GeneratedMessage {
  factory DefaultReply() => create();
  DefaultReply._() : super();
  factory DefaultReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DefaultReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DefaultReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DefaultReply clone() => DefaultReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DefaultReply copyWith(void Function(DefaultReply) updates) => super.copyWith((message) => updates(message as DefaultReply)) as DefaultReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DefaultReply create() => DefaultReply._();
  DefaultReply createEmptyInstance() => create();
  static $pb.PbList<DefaultReply> createRepeated() => $pb.PbList<DefaultReply>();
  @$core.pragma('dart2js:noInline')
  static DefaultReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DefaultReply>(create);
  static DefaultReply? _defaultInstance;
}

class IdRequest extends $pb.GeneratedMessage {
  factory IdRequest({
    $fixnum.Int64? id,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    return $result;
  }
  IdRequest._() : super();
  factory IdRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory IdRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IdRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  IdRequest clone() => IdRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  IdRequest copyWith(void Function(IdRequest) updates) => super.copyWith((message) => updates(message as IdRequest)) as IdRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IdRequest create() => IdRequest._();
  IdRequest createEmptyInstance() => create();
  static $pb.PbList<IdRequest> createRepeated() => $pb.PbList<IdRequest>();
  @$core.pragma('dart2js:noInline')
  static IdRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<IdRequest>(create);
  static IdRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);
}

class DefaultRequest extends $pb.GeneratedMessage {
  factory DefaultRequest() => create();
  DefaultRequest._() : super();
  factory DefaultRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory DefaultRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DefaultRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  DefaultRequest clone() => DefaultRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  DefaultRequest copyWith(void Function(DefaultRequest) updates) => super.copyWith((message) => updates(message as DefaultRequest)) as DefaultRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DefaultRequest create() => DefaultRequest._();
  DefaultRequest createEmptyInstance() => create();
  static $pb.PbList<DefaultRequest> createRepeated() => $pb.PbList<DefaultRequest>();
  @$core.pragma('dart2js:noInline')
  static DefaultRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DefaultRequest>(create);
  static DefaultRequest? _defaultInstance;
}

class Position extends $pb.GeneratedMessage {
  factory Position({
    $core.double? longitude,
    $core.double? latitude,
    $core.double? altitude,
  }) {
    final $result = create();
    if (longitude != null) {
      $result.longitude = longitude;
    }
    if (latitude != null) {
      $result.latitude = latitude;
    }
    if (altitude != null) {
      $result.altitude = altitude;
    }
    return $result;
  }
  Position._() : super();
  factory Position.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Position.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Position', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'longitude', $pb.PbFieldType.OD)
    ..a<$core.double>(2, _omitFieldNames ? '' : 'latitude', $pb.PbFieldType.OD)
    ..a<$core.double>(3, _omitFieldNames ? '' : 'altitude', $pb.PbFieldType.OD)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Position clone() => Position()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Position copyWith(void Function(Position) updates) => super.copyWith((message) => updates(message as Position)) as Position;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Position create() => Position._();
  Position createEmptyInstance() => create();
  static $pb.PbList<Position> createRepeated() => $pb.PbList<Position>();
  @$core.pragma('dart2js:noInline')
  static Position getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Position>(create);
  static Position? _defaultInstance;

  @$pb.TagNumber(1)
  $core.double get longitude => $_getN(0);
  @$pb.TagNumber(1)
  set longitude($core.double v) { $_setDouble(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasLongitude() => $_has(0);
  @$pb.TagNumber(1)
  void clearLongitude() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get latitude => $_getN(1);
  @$pb.TagNumber(2)
  set latitude($core.double v) { $_setDouble(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLatitude() => $_has(1);
  @$pb.TagNumber(2)
  void clearLatitude() => clearField(2);

  @$pb.TagNumber(3)
  $core.double get altitude => $_getN(2);
  @$pb.TagNumber(3)
  set altitude($core.double v) { $_setDouble(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasAltitude() => $_has(2);
  @$pb.TagNumber(3)
  void clearAltitude() => clearField(3);
}

/// message ControlPointInfo{
///   NetImage image = 1; //检查点内容图片(文创)
///   string content = 2; //检查点内容文字
///
/// }
class ControlPointInfo extends $pb.GeneratedMessage {
  factory ControlPointInfo({
    $1.Any? displayInfo,
  }) {
    final $result = create();
    if (displayInfo != null) {
      $result.displayInfo = displayInfo;
    }
    return $result;
  }
  ControlPointInfo._() : super();
  factory ControlPointInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ControlPointInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControlPointInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOM<$1.Any>(1, _omitFieldNames ? '' : 'displayInfo', protoName: 'displayInfo', subBuilder: $1.Any.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ControlPointInfo clone() => ControlPointInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ControlPointInfo copyWith(void Function(ControlPointInfo) updates) => super.copyWith((message) => updates(message as ControlPointInfo)) as ControlPointInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ControlPointInfo create() => ControlPointInfo._();
  ControlPointInfo createEmptyInstance() => create();
  static $pb.PbList<ControlPointInfo> createRepeated() => $pb.PbList<ControlPointInfo>();
  @$core.pragma('dart2js:noInline')
  static ControlPointInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ControlPointInfo>(create);
  static ControlPointInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $1.Any get displayInfo => $_getN(0);
  @$pb.TagNumber(1)
  set displayInfo($1.Any v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasDisplayInfo() => $_has(0);
  @$pb.TagNumber(1)
  void clearDisplayInfo() => clearField(1);
  @$pb.TagNumber(1)
  $1.Any ensureDisplayInfo() => $_ensure(0);
}

class ControlPointDisplayInfoSingleChoice extends $pb.GeneratedMessage {
  factory ControlPointDisplayInfoSingleChoice({
    $core.String? question,
    NetImage? image,
    $core.Iterable<$core.String>? answer,
    $core.int? rightAnswerIndex,
    $core.int? qbId,
  }) {
    final $result = create();
    if (question != null) {
      $result.question = question;
    }
    if (image != null) {
      $result.image = image;
    }
    if (answer != null) {
      $result.answer.addAll(answer);
    }
    if (rightAnswerIndex != null) {
      $result.rightAnswerIndex = rightAnswerIndex;
    }
    if (qbId != null) {
      $result.qbId = qbId;
    }
    return $result;
  }
  ControlPointDisplayInfoSingleChoice._() : super();
  factory ControlPointDisplayInfoSingleChoice.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ControlPointDisplayInfoSingleChoice.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControlPointDisplayInfoSingleChoice', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'question')
    ..aOM<NetImage>(2, _omitFieldNames ? '' : 'image', subBuilder: NetImage.create)
    ..pPS(3, _omitFieldNames ? '' : 'answer')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'rightAnswerIndex', $pb.PbFieldType.O3, protoName: 'rightAnswerIndex')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'qbId', $pb.PbFieldType.O3, protoName: 'qbId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ControlPointDisplayInfoSingleChoice clone() => ControlPointDisplayInfoSingleChoice()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ControlPointDisplayInfoSingleChoice copyWith(void Function(ControlPointDisplayInfoSingleChoice) updates) => super.copyWith((message) => updates(message as ControlPointDisplayInfoSingleChoice)) as ControlPointDisplayInfoSingleChoice;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ControlPointDisplayInfoSingleChoice create() => ControlPointDisplayInfoSingleChoice._();
  ControlPointDisplayInfoSingleChoice createEmptyInstance() => create();
  static $pb.PbList<ControlPointDisplayInfoSingleChoice> createRepeated() => $pb.PbList<ControlPointDisplayInfoSingleChoice>();
  @$core.pragma('dart2js:noInline')
  static ControlPointDisplayInfoSingleChoice getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ControlPointDisplayInfoSingleChoice>(create);
  static ControlPointDisplayInfoSingleChoice? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get question => $_getSZ(0);
  @$pb.TagNumber(1)
  set question($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasQuestion() => $_has(0);
  @$pb.TagNumber(1)
  void clearQuestion() => clearField(1);

  @$pb.TagNumber(2)
  NetImage get image => $_getN(1);
  @$pb.TagNumber(2)
  set image(NetImage v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasImage() => $_has(1);
  @$pb.TagNumber(2)
  void clearImage() => clearField(2);
  @$pb.TagNumber(2)
  NetImage ensureImage() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.List<$core.String> get answer => $_getList(2);

  @$pb.TagNumber(4)
  $core.int get rightAnswerIndex => $_getIZ(3);
  @$pb.TagNumber(4)
  set rightAnswerIndex($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasRightAnswerIndex() => $_has(3);
  @$pb.TagNumber(4)
  void clearRightAnswerIndex() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get qbId => $_getIZ(4);
  @$pb.TagNumber(5)
  set qbId($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasQbId() => $_has(4);
  @$pb.TagNumber(5)
  void clearQbId() => clearField(5);
}

class BinaryPart extends $pb.GeneratedMessage {
  factory BinaryPart({
    $core.String? ext,
    $core.List<$core.int>? data,
    $core.int? allCount,
    $core.List<$core.int>? nonce,
  }) {
    final $result = create();
    if (ext != null) {
      $result.ext = ext;
    }
    if (data != null) {
      $result.data = data;
    }
    if (allCount != null) {
      $result.allCount = allCount;
    }
    if (nonce != null) {
      $result.nonce = nonce;
    }
    return $result;
  }
  BinaryPart._() : super();
  factory BinaryPart.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory BinaryPart.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BinaryPart', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ext')
    ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'allCount', $pb.PbFieldType.O3, protoName: 'allCount')
    ..a<$core.List<$core.int>>(4, _omitFieldNames ? '' : 'nonce', $pb.PbFieldType.OY)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  BinaryPart clone() => BinaryPart()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  BinaryPart copyWith(void Function(BinaryPart) updates) => super.copyWith((message) => updates(message as BinaryPart)) as BinaryPart;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static BinaryPart create() => BinaryPart._();
  BinaryPart createEmptyInstance() => create();
  static $pb.PbList<BinaryPart> createRepeated() => $pb.PbList<BinaryPart>();
  @$core.pragma('dart2js:noInline')
  static BinaryPart getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BinaryPart>(create);
  static BinaryPart? _defaultInstance;

  /// 扩展名
  @$pb.TagNumber(1)
  $core.String get ext => $_getSZ(0);
  @$pb.TagNumber(1)
  set ext($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasExt() => $_has(0);
  @$pb.TagNumber(1)
  void clearExt() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<$core.int> get data => $_getN(1);
  @$pb.TagNumber(2)
  set data($core.List<$core.int> v) { $_setBytes(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasData() => $_has(1);
  @$pb.TagNumber(2)
  void clearData() => clearField(2);

  /// 总字节数
  @$pb.TagNumber(3)
  $core.int get allCount => $_getIZ(2);
  @$pb.TagNumber(3)
  set allCount($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasAllCount() => $_has(2);
  @$pb.TagNumber(3)
  void clearAllCount() => clearField(3);

  /// 加密key
  @$pb.TagNumber(4)
  $core.List<$core.int> get nonce => $_getN(3);
  @$pb.TagNumber(4)
  set nonce($core.List<$core.int> v) { $_setBytes(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasNonce() => $_has(3);
  @$pb.TagNumber(4)
  void clearNonce() => clearField(4);
}

class BinaryPartV2 extends $pb.GeneratedMessage {
  factory BinaryPartV2({
    $core.List<$core.int>? data,
  }) {
    final $result = create();
    if (data != null) {
      $result.data = data;
    }
    return $result;
  }
  BinaryPartV2._() : super();
  factory BinaryPartV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory BinaryPartV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BinaryPartV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  BinaryPartV2 clone() => BinaryPartV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  BinaryPartV2 copyWith(void Function(BinaryPartV2) updates) => super.copyWith((message) => updates(message as BinaryPartV2)) as BinaryPartV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static BinaryPartV2 create() => BinaryPartV2._();
  BinaryPartV2 createEmptyInstance() => create();
  static $pb.PbList<BinaryPartV2> createRepeated() => $pb.PbList<BinaryPartV2>();
  @$core.pragma('dart2js:noInline')
  static BinaryPartV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BinaryPartV2>(create);
  static BinaryPartV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<$core.int> get data => $_getN(0);
  @$pb.TagNumber(1)
  set data($core.List<$core.int> v) { $_setBytes(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasData() => $_has(0);
  @$pb.TagNumber(1)
  void clearData() => clearField(1);
}

class Image extends $pb.GeneratedMessage {
  factory Image({
    $core.String? ext,
    $core.List<$core.int>? data,
  }) {
    final $result = create();
    if (ext != null) {
      $result.ext = ext;
    }
    if (data != null) {
      $result.data = data;
    }
    return $result;
  }
  Image._() : super();
  factory Image.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Image.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Image', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ext')
    ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Image clone() => Image()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Image copyWith(void Function(Image) updates) => super.copyWith((message) => updates(message as Image)) as Image;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Image create() => Image._();
  Image createEmptyInstance() => create();
  static $pb.PbList<Image> createRepeated() => $pb.PbList<Image>();
  @$core.pragma('dart2js:noInline')
  static Image getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Image>(create);
  static Image? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get ext => $_getSZ(0);
  @$pb.TagNumber(1)
  set ext($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasExt() => $_has(0);
  @$pb.TagNumber(1)
  void clearExt() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<$core.int> get data => $_getN(1);
  @$pb.TagNumber(2)
  set data($core.List<$core.int> v) { $_setBytes(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasData() => $_has(1);
  @$pb.TagNumber(2)
  void clearData() => clearField(2);
}

class StatusEditRequest extends $pb.GeneratedMessage {
  factory StatusEditRequest({
    $fixnum.Int64? id,
    StatusType? status,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (status != null) {
      $result.status = status;
    }
    return $result;
  }
  StatusEditRequest._() : super();
  factory StatusEditRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory StatusEditRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StatusEditRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..e<StatusType>(2, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, defaultOrMaker: StatusType.UnKnowStatus, valueOf: StatusType.valueOf, enumValues: StatusType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  StatusEditRequest clone() => StatusEditRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  StatusEditRequest copyWith(void Function(StatusEditRequest) updates) => super.copyWith((message) => updates(message as StatusEditRequest)) as StatusEditRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StatusEditRequest create() => StatusEditRequest._();
  StatusEditRequest createEmptyInstance() => create();
  static $pb.PbList<StatusEditRequest> createRepeated() => $pb.PbList<StatusEditRequest>();
  @$core.pragma('dart2js:noInline')
  static StatusEditRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StatusEditRequest>(create);
  static StatusEditRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  StatusType get status => $_getN(1);
  @$pb.TagNumber(2)
  set status(StatusType v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasStatus() => $_has(1);
  @$pb.TagNumber(2)
  void clearStatus() => clearField(2);
}

/// 路线详情信息
class CourseInfo extends $pb.GeneratedMessage {
  factory CourseInfo({
    $core.int? id,
    $core.String? name,
    $core.int? totalControlNum,
    $core.int? maxRange,
    $core.Iterable<ControlPoint>? controlPointSortedList,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (name != null) {
      $result.name = name;
    }
    if (totalControlNum != null) {
      $result.totalControlNum = totalControlNum;
    }
    if (maxRange != null) {
      $result.maxRange = maxRange;
    }
    if (controlPointSortedList != null) {
      $result.controlPointSortedList.addAll(controlPointSortedList);
    }
    return $result;
  }
  CourseInfo._() : super();
  factory CourseInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CourseInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CourseInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'totalControlNum', $pb.PbFieldType.O3, protoName: 'totalControlNum')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'maxRange', $pb.PbFieldType.O3, protoName: 'maxRange')
    ..pc<ControlPoint>(5, _omitFieldNames ? '' : 'controlPointSortedList', $pb.PbFieldType.PM, subBuilder: ControlPoint.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CourseInfo clone() => CourseInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CourseInfo copyWith(void Function(CourseInfo) updates) => super.copyWith((message) => updates(message as CourseInfo)) as CourseInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CourseInfo create() => CourseInfo._();
  CourseInfo createEmptyInstance() => create();
  static $pb.PbList<CourseInfo> createRepeated() => $pb.PbList<CourseInfo>();
  @$core.pragma('dart2js:noInline')
  static CourseInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CourseInfo>(create);
  static CourseInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get id => $_getIZ(0);
  @$pb.TagNumber(1)
  set id($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get totalControlNum => $_getIZ(2);
  @$pb.TagNumber(3)
  set totalControlNum($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasTotalControlNum() => $_has(2);
  @$pb.TagNumber(3)
  void clearTotalControlNum() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get maxRange => $_getIZ(3);
  @$pb.TagNumber(4)
  set maxRange($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasMaxRange() => $_has(3);
  @$pb.TagNumber(4)
  void clearMaxRange() => clearField(4);

  @$pb.TagNumber(5)
  $core.List<ControlPoint> get controlPointSortedList => $_getList(4);
}

class ControlPoint extends $pb.GeneratedMessage {
  factory ControlPoint({
    $fixnum.Int64? id,
    ControlPointInfo? info,
    $core.Iterable<$core.String>? nfcIdList,
    $fixnum.Int64? onMapX,
    $fixnum.Int64? onMapY,
    $core.String? sn,
    Position? ciPosition,
    Position? mapPosition,
    $core.int? category,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (info != null) {
      $result.info = info;
    }
    if (nfcIdList != null) {
      $result.nfcIdList.addAll(nfcIdList);
    }
    if (onMapX != null) {
      $result.onMapX = onMapX;
    }
    if (onMapY != null) {
      $result.onMapY = onMapY;
    }
    if (sn != null) {
      $result.sn = sn;
    }
    if (ciPosition != null) {
      $result.ciPosition = ciPosition;
    }
    if (mapPosition != null) {
      $result.mapPosition = mapPosition;
    }
    if (category != null) {
      $result.category = category;
    }
    return $result;
  }
  ControlPoint._() : super();
  factory ControlPoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ControlPoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControlPoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOM<ControlPointInfo>(2, _omitFieldNames ? '' : 'info', subBuilder: ControlPointInfo.create)
    ..pPS(3, _omitFieldNames ? '' : 'nfcIdList')
    ..aInt64(4, _omitFieldNames ? '' : 'onMapX')
    ..aInt64(5, _omitFieldNames ? '' : 'onMapY')
    ..aOS(6, _omitFieldNames ? '' : 'sn')
    ..aOM<Position>(7, _omitFieldNames ? '' : 'ciPosition', protoName: 'ciPosition', subBuilder: Position.create)
    ..aOM<Position>(8, _omitFieldNames ? '' : 'mapPosition', protoName: 'mapPosition', subBuilder: Position.create)
    ..a<$core.int>(9, _omitFieldNames ? '' : 'category', $pb.PbFieldType.O3)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ControlPoint clone() => ControlPoint()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ControlPoint copyWith(void Function(ControlPoint) updates) => super.copyWith((message) => updates(message as ControlPoint)) as ControlPoint;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ControlPoint create() => ControlPoint._();
  ControlPoint createEmptyInstance() => create();
  static $pb.PbList<ControlPoint> createRepeated() => $pb.PbList<ControlPoint>();
  @$core.pragma('dart2js:noInline')
  static ControlPoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ControlPoint>(create);
  static ControlPoint? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  ControlPointInfo get info => $_getN(1);
  @$pb.TagNumber(2)
  set info(ControlPointInfo v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasInfo() => $_has(1);
  @$pb.TagNumber(2)
  void clearInfo() => clearField(2);
  @$pb.TagNumber(2)
  ControlPointInfo ensureInfo() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.List<$core.String> get nfcIdList => $_getList(2);

  @$pb.TagNumber(4)
  $fixnum.Int64 get onMapX => $_getI64(3);
  @$pb.TagNumber(4)
  set onMapX($fixnum.Int64 v) { $_setInt64(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasOnMapX() => $_has(3);
  @$pb.TagNumber(4)
  void clearOnMapX() => clearField(4);

  @$pb.TagNumber(5)
  $fixnum.Int64 get onMapY => $_getI64(4);
  @$pb.TagNumber(5)
  set onMapY($fixnum.Int64 v) { $_setInt64(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasOnMapY() => $_has(4);
  @$pb.TagNumber(5)
  void clearOnMapY() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get sn => $_getSZ(5);
  @$pb.TagNumber(6)
  set sn($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasSn() => $_has(5);
  @$pb.TagNumber(6)
  void clearSn() => clearField(6);

  @$pb.TagNumber(7)
  Position get ciPosition => $_getN(6);
  @$pb.TagNumber(7)
  set ciPosition(Position v) { setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasCiPosition() => $_has(6);
  @$pb.TagNumber(7)
  void clearCiPosition() => clearField(7);
  @$pb.TagNumber(7)
  Position ensureCiPosition() => $_ensure(6);

  @$pb.TagNumber(8)
  Position get mapPosition => $_getN(7);
  @$pb.TagNumber(8)
  set mapPosition(Position v) { setField(8, v); }
  @$pb.TagNumber(8)
  $core.bool hasMapPosition() => $_has(7);
  @$pb.TagNumber(8)
  void clearMapPosition() => clearField(8);
  @$pb.TagNumber(8)
  Position ensureMapPosition() => $_ensure(7);

  @$pb.TagNumber(9)
  $core.int get category => $_getIZ(8);
  @$pb.TagNumber(9)
  set category($core.int v) { $_setSignedInt32(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasCategory() => $_has(8);
  @$pb.TagNumber(9)
  void clearCategory() => clearField(9);
}

class ControlPointSimple extends $pb.GeneratedMessage {
  factory ControlPointSimple({
    $fixnum.Int64? id,
    $core.Iterable<$core.String>? nfcIdList,
    $core.String? sn,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (nfcIdList != null) {
      $result.nfcIdList.addAll(nfcIdList);
    }
    if (sn != null) {
      $result.sn = sn;
    }
    return $result;
  }
  ControlPointSimple._() : super();
  factory ControlPointSimple.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ControlPointSimple.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControlPointSimple', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..pPS(2, _omitFieldNames ? '' : 'nfcIdList')
    ..aOS(3, _omitFieldNames ? '' : 'sn')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ControlPointSimple clone() => ControlPointSimple()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ControlPointSimple copyWith(void Function(ControlPointSimple) updates) => super.copyWith((message) => updates(message as ControlPointSimple)) as ControlPointSimple;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ControlPointSimple create() => ControlPointSimple._();
  ControlPointSimple createEmptyInstance() => create();
  static $pb.PbList<ControlPointSimple> createRepeated() => $pb.PbList<ControlPointSimple>();
  @$core.pragma('dart2js:noInline')
  static ControlPointSimple getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ControlPointSimple>(create);
  static ControlPointSimple? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<$core.String> get nfcIdList => $_getList(1);

  @$pb.TagNumber(3)
  $core.String get sn => $_getSZ(2);
  @$pb.TagNumber(3)
  set sn($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasSn() => $_has(2);
  @$pb.TagNumber(3)
  void clearSn() => clearField(3);
}

class GameDetailV2Reply extends $pb.GeneratedMessage {
  factory GameDetailV2Reply({
    $core.int? gameId,
    $core.bool? isComplete,
    $0.Timestamp? startAt,
    $core.Iterable<ControlPointGameInfo>? checkedSortedList,
    $2.Duration? duration,
    $0.Timestamp? stopAt,
    $core.String? qrJsonCode,
    $core.bool? isSuccess,
    $core.int? sysPoint,
    $core.int? totalPointNum,
    $core.String? actName,
    $core.int? distance,
    $core.int? pace,
    $core.int? avgHr,
    $core.int? calorie,
    $core.int? ck,
    $core.double? ei,
    $core.int? stepNum,
    $core.Iterable<GameGpsInfo>? gameGpsInfo,
    NetImage? mapZip,
    AnswerHistoryInfo? answerHistory,
    $core.Iterable<HeartRate>? gameHrInfos,
    GameHistorySource? source,
    $core.int? actId,
    OrienteerBodyInfo? body,
  }) {
    final $result = create();
    if (gameId != null) {
      $result.gameId = gameId;
    }
    if (isComplete != null) {
      $result.isComplete = isComplete;
    }
    if (startAt != null) {
      $result.startAt = startAt;
    }
    if (checkedSortedList != null) {
      $result.checkedSortedList.addAll(checkedSortedList);
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (stopAt != null) {
      $result.stopAt = stopAt;
    }
    if (qrJsonCode != null) {
      $result.qrJsonCode = qrJsonCode;
    }
    if (isSuccess != null) {
      $result.isSuccess = isSuccess;
    }
    if (sysPoint != null) {
      $result.sysPoint = sysPoint;
    }
    if (totalPointNum != null) {
      $result.totalPointNum = totalPointNum;
    }
    if (actName != null) {
      $result.actName = actName;
    }
    if (distance != null) {
      $result.distance = distance;
    }
    if (pace != null) {
      $result.pace = pace;
    }
    if (avgHr != null) {
      $result.avgHr = avgHr;
    }
    if (calorie != null) {
      $result.calorie = calorie;
    }
    if (ck != null) {
      $result.ck = ck;
    }
    if (ei != null) {
      $result.ei = ei;
    }
    if (stepNum != null) {
      $result.stepNum = stepNum;
    }
    if (gameGpsInfo != null) {
      $result.gameGpsInfo.addAll(gameGpsInfo);
    }
    if (mapZip != null) {
      $result.mapZip = mapZip;
    }
    if (answerHistory != null) {
      $result.answerHistory = answerHistory;
    }
    if (gameHrInfos != null) {
      $result.gameHrInfos.addAll(gameHrInfos);
    }
    if (source != null) {
      $result.source = source;
    }
    if (actId != null) {
      $result.actId = actId;
    }
    if (body != null) {
      $result.body = body;
    }
    return $result;
  }
  GameDetailV2Reply._() : super();
  factory GameDetailV2Reply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GameDetailV2Reply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GameDetailV2Reply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'gameId', $pb.PbFieldType.O3)
    ..aOB(2, _omitFieldNames ? '' : 'isComplete', protoName: 'isComplete')
    ..aOM<$0.Timestamp>(3, _omitFieldNames ? '' : 'startAt', subBuilder: $0.Timestamp.create)
    ..pc<ControlPointGameInfo>(4, _omitFieldNames ? '' : 'checkedSortedList', $pb.PbFieldType.PM, subBuilder: ControlPointGameInfo.create)
    ..aOM<$2.Duration>(5, _omitFieldNames ? '' : 'duration', subBuilder: $2.Duration.create)
    ..aOM<$0.Timestamp>(6, _omitFieldNames ? '' : 'stopAt', subBuilder: $0.Timestamp.create)
    ..aOS(7, _omitFieldNames ? '' : 'qrJsonCode', protoName: 'qrJsonCode')
    ..aOB(8, _omitFieldNames ? '' : 'isSuccess', protoName: 'isSuccess')
    ..a<$core.int>(9, _omitFieldNames ? '' : 'sysPoint', $pb.PbFieldType.O3, protoName: 'sysPoint')
    ..a<$core.int>(10, _omitFieldNames ? '' : 'totalPointNum', $pb.PbFieldType.O3, protoName: 'totalPointNum')
    ..aOS(13, _omitFieldNames ? '' : 'actName', protoName: 'actName')
    ..a<$core.int>(14, _omitFieldNames ? '' : 'distance', $pb.PbFieldType.O3)
    ..a<$core.int>(15, _omitFieldNames ? '' : 'pace', $pb.PbFieldType.O3)
    ..a<$core.int>(16, _omitFieldNames ? '' : 'avgHr', $pb.PbFieldType.O3, protoName: 'avgHr')
    ..a<$core.int>(17, _omitFieldNames ? '' : 'Calorie', $pb.PbFieldType.O3, protoName: 'Calorie')
    ..a<$core.int>(18, _omitFieldNames ? '' : 'Ck', $pb.PbFieldType.O3, protoName: 'Ck')
    ..a<$core.double>(19, _omitFieldNames ? '' : 'Ei', $pb.PbFieldType.OF, protoName: 'Ei')
    ..a<$core.int>(20, _omitFieldNames ? '' : 'stepNum', $pb.PbFieldType.O3, protoName: 'stepNum')
    ..pc<GameGpsInfo>(21, _omitFieldNames ? '' : 'gameGpsInfo', $pb.PbFieldType.PM, protoName: 'gameGpsInfo', subBuilder: GameGpsInfo.create)
    ..aOM<NetImage>(22, _omitFieldNames ? '' : 'mapZip', subBuilder: NetImage.create)
    ..aOM<AnswerHistoryInfo>(23, _omitFieldNames ? '' : 'answerHistory', protoName: 'answerHistory', subBuilder: AnswerHistoryInfo.create)
    ..pc<HeartRate>(24, _omitFieldNames ? '' : 'gameHrInfos', $pb.PbFieldType.PM, protoName: 'gameHrInfos', subBuilder: HeartRate.create)
    ..e<GameHistorySource>(25, _omitFieldNames ? '' : 'source', $pb.PbFieldType.OE, defaultOrMaker: GameHistorySource.GameHistorySourcAll, valueOf: GameHistorySource.valueOf, enumValues: GameHistorySource.values)
    ..a<$core.int>(26, _omitFieldNames ? '' : 'actId', $pb.PbFieldType.O3, protoName: 'actId')
    ..aOM<OrienteerBodyInfo>(27, _omitFieldNames ? '' : 'body', subBuilder: OrienteerBodyInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GameDetailV2Reply clone() => GameDetailV2Reply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GameDetailV2Reply copyWith(void Function(GameDetailV2Reply) updates) => super.copyWith((message) => updates(message as GameDetailV2Reply)) as GameDetailV2Reply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GameDetailV2Reply create() => GameDetailV2Reply._();
  GameDetailV2Reply createEmptyInstance() => create();
  static $pb.PbList<GameDetailV2Reply> createRepeated() => $pb.PbList<GameDetailV2Reply>();
  @$core.pragma('dart2js:noInline')
  static GameDetailV2Reply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GameDetailV2Reply>(create);
  static GameDetailV2Reply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get gameId => $_getIZ(0);
  @$pb.TagNumber(1)
  set gameId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasGameId() => $_has(0);
  @$pb.TagNumber(1)
  void clearGameId() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get isComplete => $_getBF(1);
  @$pb.TagNumber(2)
  set isComplete($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasIsComplete() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsComplete() => clearField(2);

  @$pb.TagNumber(3)
  $0.Timestamp get startAt => $_getN(2);
  @$pb.TagNumber(3)
  set startAt($0.Timestamp v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasStartAt() => $_has(2);
  @$pb.TagNumber(3)
  void clearStartAt() => clearField(3);
  @$pb.TagNumber(3)
  $0.Timestamp ensureStartAt() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.List<ControlPointGameInfo> get checkedSortedList => $_getList(3);

  @$pb.TagNumber(5)
  $2.Duration get duration => $_getN(4);
  @$pb.TagNumber(5)
  set duration($2.Duration v) { setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasDuration() => $_has(4);
  @$pb.TagNumber(5)
  void clearDuration() => clearField(5);
  @$pb.TagNumber(5)
  $2.Duration ensureDuration() => $_ensure(4);

  @$pb.TagNumber(6)
  $0.Timestamp get stopAt => $_getN(5);
  @$pb.TagNumber(6)
  set stopAt($0.Timestamp v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasStopAt() => $_has(5);
  @$pb.TagNumber(6)
  void clearStopAt() => clearField(6);
  @$pb.TagNumber(6)
  $0.Timestamp ensureStopAt() => $_ensure(5);

  @$pb.TagNumber(7)
  $core.String get qrJsonCode => $_getSZ(6);
  @$pb.TagNumber(7)
  set qrJsonCode($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasQrJsonCode() => $_has(6);
  @$pb.TagNumber(7)
  void clearQrJsonCode() => clearField(7);

  @$pb.TagNumber(8)
  $core.bool get isSuccess => $_getBF(7);
  @$pb.TagNumber(8)
  set isSuccess($core.bool v) { $_setBool(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasIsSuccess() => $_has(7);
  @$pb.TagNumber(8)
  void clearIsSuccess() => clearField(8);

  @$pb.TagNumber(9)
  $core.int get sysPoint => $_getIZ(8);
  @$pb.TagNumber(9)
  set sysPoint($core.int v) { $_setSignedInt32(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasSysPoint() => $_has(8);
  @$pb.TagNumber(9)
  void clearSysPoint() => clearField(9);

  @$pb.TagNumber(10)
  $core.int get totalPointNum => $_getIZ(9);
  @$pb.TagNumber(10)
  set totalPointNum($core.int v) { $_setSignedInt32(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasTotalPointNum() => $_has(9);
  @$pb.TagNumber(10)
  void clearTotalPointNum() => clearField(10);

  @$pb.TagNumber(13)
  $core.String get actName => $_getSZ(10);
  @$pb.TagNumber(13)
  set actName($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(13)
  $core.bool hasActName() => $_has(10);
  @$pb.TagNumber(13)
  void clearActName() => clearField(13);

  @$pb.TagNumber(14)
  $core.int get distance => $_getIZ(11);
  @$pb.TagNumber(14)
  set distance($core.int v) { $_setSignedInt32(11, v); }
  @$pb.TagNumber(14)
  $core.bool hasDistance() => $_has(11);
  @$pb.TagNumber(14)
  void clearDistance() => clearField(14);

  @$pb.TagNumber(15)
  $core.int get pace => $_getIZ(12);
  @$pb.TagNumber(15)
  set pace($core.int v) { $_setSignedInt32(12, v); }
  @$pb.TagNumber(15)
  $core.bool hasPace() => $_has(12);
  @$pb.TagNumber(15)
  void clearPace() => clearField(15);

  @$pb.TagNumber(16)
  $core.int get avgHr => $_getIZ(13);
  @$pb.TagNumber(16)
  set avgHr($core.int v) { $_setSignedInt32(13, v); }
  @$pb.TagNumber(16)
  $core.bool hasAvgHr() => $_has(13);
  @$pb.TagNumber(16)
  void clearAvgHr() => clearField(16);

  @$pb.TagNumber(17)
  $core.int get calorie => $_getIZ(14);
  @$pb.TagNumber(17)
  set calorie($core.int v) { $_setSignedInt32(14, v); }
  @$pb.TagNumber(17)
  $core.bool hasCalorie() => $_has(14);
  @$pb.TagNumber(17)
  void clearCalorie() => clearField(17);

  @$pb.TagNumber(18)
  $core.int get ck => $_getIZ(15);
  @$pb.TagNumber(18)
  set ck($core.int v) { $_setSignedInt32(15, v); }
  @$pb.TagNumber(18)
  $core.bool hasCk() => $_has(15);
  @$pb.TagNumber(18)
  void clearCk() => clearField(18);

  @$pb.TagNumber(19)
  $core.double get ei => $_getN(16);
  @$pb.TagNumber(19)
  set ei($core.double v) { $_setFloat(16, v); }
  @$pb.TagNumber(19)
  $core.bool hasEi() => $_has(16);
  @$pb.TagNumber(19)
  void clearEi() => clearField(19);

  @$pb.TagNumber(20)
  $core.int get stepNum => $_getIZ(17);
  @$pb.TagNumber(20)
  set stepNum($core.int v) { $_setSignedInt32(17, v); }
  @$pb.TagNumber(20)
  $core.bool hasStepNum() => $_has(17);
  @$pb.TagNumber(20)
  void clearStepNum() => clearField(20);

  @$pb.TagNumber(21)
  $core.List<GameGpsInfo> get gameGpsInfo => $_getList(18);

  @$pb.TagNumber(22)
  NetImage get mapZip => $_getN(19);
  @$pb.TagNumber(22)
  set mapZip(NetImage v) { setField(22, v); }
  @$pb.TagNumber(22)
  $core.bool hasMapZip() => $_has(19);
  @$pb.TagNumber(22)
  void clearMapZip() => clearField(22);
  @$pb.TagNumber(22)
  NetImage ensureMapZip() => $_ensure(19);

  @$pb.TagNumber(23)
  AnswerHistoryInfo get answerHistory => $_getN(20);
  @$pb.TagNumber(23)
  set answerHistory(AnswerHistoryInfo v) { setField(23, v); }
  @$pb.TagNumber(23)
  $core.bool hasAnswerHistory() => $_has(20);
  @$pb.TagNumber(23)
  void clearAnswerHistory() => clearField(23);
  @$pb.TagNumber(23)
  AnswerHistoryInfo ensureAnswerHistory() => $_ensure(20);

  @$pb.TagNumber(24)
  $core.List<HeartRate> get gameHrInfos => $_getList(21);

  @$pb.TagNumber(25)
  GameHistorySource get source => $_getN(22);
  @$pb.TagNumber(25)
  set source(GameHistorySource v) { setField(25, v); }
  @$pb.TagNumber(25)
  $core.bool hasSource() => $_has(22);
  @$pb.TagNumber(25)
  void clearSource() => clearField(25);

  @$pb.TagNumber(26)
  $core.int get actId => $_getIZ(23);
  @$pb.TagNumber(26)
  set actId($core.int v) { $_setSignedInt32(23, v); }
  @$pb.TagNumber(26)
  $core.bool hasActId() => $_has(23);
  @$pb.TagNumber(26)
  void clearActId() => clearField(26);

  @$pb.TagNumber(27)
  OrienteerBodyInfo get body => $_getN(24);
  @$pb.TagNumber(27)
  set body(OrienteerBodyInfo v) { setField(27, v); }
  @$pb.TagNumber(27)
  $core.bool hasBody() => $_has(24);
  @$pb.TagNumber(27)
  void clearBody() => clearField(27);
  @$pb.TagNumber(27)
  OrienteerBodyInfo ensureBody() => $_ensure(24);
}

class OrienteerBodyInfo extends $pb.GeneratedMessage {
  factory OrienteerBodyInfo({
    $core.int? oId,
    User_Sex? sex,
    $core.int? birthdayYear,
    $core.int? heightMillimeter,
    $core.int? weightGram,
    $core.int? staticHr,
  }) {
    final $result = create();
    if (oId != null) {
      $result.oId = oId;
    }
    if (sex != null) {
      $result.sex = sex;
    }
    if (birthdayYear != null) {
      $result.birthdayYear = birthdayYear;
    }
    if (heightMillimeter != null) {
      $result.heightMillimeter = heightMillimeter;
    }
    if (weightGram != null) {
      $result.weightGram = weightGram;
    }
    if (staticHr != null) {
      $result.staticHr = staticHr;
    }
    return $result;
  }
  OrienteerBodyInfo._() : super();
  factory OrienteerBodyInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerBodyInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerBodyInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'oId', $pb.PbFieldType.O3, protoName: 'oId')
    ..e<User_Sex>(2, _omitFieldNames ? '' : 'sex', $pb.PbFieldType.OE, defaultOrMaker: User_Sex.UnDefine, valueOf: User_Sex.valueOf, enumValues: User_Sex.values)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'birthdayYear', $pb.PbFieldType.O3, protoName: 'birthdayYear')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'heightMillimeter', $pb.PbFieldType.O3, protoName: 'heightMillimeter')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'weightGram', $pb.PbFieldType.O3, protoName: 'weightGram')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'staticHr', $pb.PbFieldType.O3, protoName: 'staticHr')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerBodyInfo clone() => OrienteerBodyInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerBodyInfo copyWith(void Function(OrienteerBodyInfo) updates) => super.copyWith((message) => updates(message as OrienteerBodyInfo)) as OrienteerBodyInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerBodyInfo create() => OrienteerBodyInfo._();
  OrienteerBodyInfo createEmptyInstance() => create();
  static $pb.PbList<OrienteerBodyInfo> createRepeated() => $pb.PbList<OrienteerBodyInfo>();
  @$core.pragma('dart2js:noInline')
  static OrienteerBodyInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerBodyInfo>(create);
  static OrienteerBodyInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get oId => $_getIZ(0);
  @$pb.TagNumber(1)
  set oId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasOId() => $_has(0);
  @$pb.TagNumber(1)
  void clearOId() => clearField(1);

  @$pb.TagNumber(2)
  User_Sex get sex => $_getN(1);
  @$pb.TagNumber(2)
  set sex(User_Sex v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasSex() => $_has(1);
  @$pb.TagNumber(2)
  void clearSex() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get birthdayYear => $_getIZ(2);
  @$pb.TagNumber(3)
  set birthdayYear($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasBirthdayYear() => $_has(2);
  @$pb.TagNumber(3)
  void clearBirthdayYear() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get heightMillimeter => $_getIZ(3);
  @$pb.TagNumber(4)
  set heightMillimeter($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasHeightMillimeter() => $_has(3);
  @$pb.TagNumber(4)
  void clearHeightMillimeter() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get weightGram => $_getIZ(4);
  @$pb.TagNumber(5)
  set weightGram($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasWeightGram() => $_has(4);
  @$pb.TagNumber(5)
  void clearWeightGram() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get staticHr => $_getIZ(5);
  @$pb.TagNumber(6)
  set staticHr($core.int v) { $_setSignedInt32(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasStaticHr() => $_has(5);
  @$pb.TagNumber(6)
  void clearStaticHr() => clearField(6);
}

class ControlPointGameInfo extends $pb.GeneratedMessage {
  factory ControlPointGameInfo({
    $fixnum.Int64? id,
    $core.String? sn,
    CType? cType,
    $core.int? orderNo,
    $core.bool? isCheckSuccess,
    $2.Duration? checkAfterLast,
    $0.Timestamp? punchTime,
    Position? position,
    $core.int? disAfterLast,
    $core.int? disStraightAfterLast,
    $core.int? paceAfterLast,
    $core.int? paceAfterStart,
    $2.Duration? checkAfterStart,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (sn != null) {
      $result.sn = sn;
    }
    if (cType != null) {
      $result.cType = cType;
    }
    if (orderNo != null) {
      $result.orderNo = orderNo;
    }
    if (isCheckSuccess != null) {
      $result.isCheckSuccess = isCheckSuccess;
    }
    if (checkAfterLast != null) {
      $result.checkAfterLast = checkAfterLast;
    }
    if (punchTime != null) {
      $result.punchTime = punchTime;
    }
    if (position != null) {
      $result.position = position;
    }
    if (disAfterLast != null) {
      $result.disAfterLast = disAfterLast;
    }
    if (disStraightAfterLast != null) {
      $result.disStraightAfterLast = disStraightAfterLast;
    }
    if (paceAfterLast != null) {
      $result.paceAfterLast = paceAfterLast;
    }
    if (paceAfterStart != null) {
      $result.paceAfterStart = paceAfterStart;
    }
    if (checkAfterStart != null) {
      $result.checkAfterStart = checkAfterStart;
    }
    return $result;
  }
  ControlPointGameInfo._() : super();
  factory ControlPointGameInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ControlPointGameInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControlPointGameInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'sn')
    ..e<CType>(3, _omitFieldNames ? '' : 'cType', $pb.PbFieldType.OE, protoName: 'cType', defaultOrMaker: CType.UnKnowType, valueOf: CType.valueOf, enumValues: CType.values)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'orderNo', $pb.PbFieldType.O3, protoName: 'orderNo')
    ..aOB(5, _omitFieldNames ? '' : 'isCheckSuccess')
    ..aOM<$2.Duration>(6, _omitFieldNames ? '' : 'checkAfterLast', subBuilder: $2.Duration.create)
    ..aOM<$0.Timestamp>(7, _omitFieldNames ? '' : 'punchTime', protoName: 'punchTime', subBuilder: $0.Timestamp.create)
    ..aOM<Position>(8, _omitFieldNames ? '' : 'position', subBuilder: Position.create)
    ..a<$core.int>(9, _omitFieldNames ? '' : 'disAfterLast', $pb.PbFieldType.O3, protoName: 'disAfterLast')
    ..a<$core.int>(10, _omitFieldNames ? '' : 'disStraightAfterLast', $pb.PbFieldType.O3, protoName: 'disStraightAfterLast')
    ..a<$core.int>(11, _omitFieldNames ? '' : 'paceAfterLast', $pb.PbFieldType.O3, protoName: 'paceAfterLast')
    ..a<$core.int>(12, _omitFieldNames ? '' : 'paceAfterStart', $pb.PbFieldType.O3, protoName: 'paceAfterStart')
    ..aOM<$2.Duration>(13, _omitFieldNames ? '' : 'checkAfterStart', subBuilder: $2.Duration.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ControlPointGameInfo clone() => ControlPointGameInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ControlPointGameInfo copyWith(void Function(ControlPointGameInfo) updates) => super.copyWith((message) => updates(message as ControlPointGameInfo)) as ControlPointGameInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ControlPointGameInfo create() => ControlPointGameInfo._();
  ControlPointGameInfo createEmptyInstance() => create();
  static $pb.PbList<ControlPointGameInfo> createRepeated() => $pb.PbList<ControlPointGameInfo>();
  @$core.pragma('dart2js:noInline')
  static ControlPointGameInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ControlPointGameInfo>(create);
  static ControlPointGameInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get sn => $_getSZ(1);
  @$pb.TagNumber(2)
  set sn($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasSn() => $_has(1);
  @$pb.TagNumber(2)
  void clearSn() => clearField(2);

  @$pb.TagNumber(3)
  CType get cType => $_getN(2);
  @$pb.TagNumber(3)
  set cType(CType v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasCType() => $_has(2);
  @$pb.TagNumber(3)
  void clearCType() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get orderNo => $_getIZ(3);
  @$pb.TagNumber(4)
  set orderNo($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasOrderNo() => $_has(3);
  @$pb.TagNumber(4)
  void clearOrderNo() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get isCheckSuccess => $_getBF(4);
  @$pb.TagNumber(5)
  set isCheckSuccess($core.bool v) { $_setBool(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasIsCheckSuccess() => $_has(4);
  @$pb.TagNumber(5)
  void clearIsCheckSuccess() => clearField(5);

  @$pb.TagNumber(6)
  $2.Duration get checkAfterLast => $_getN(5);
  @$pb.TagNumber(6)
  set checkAfterLast($2.Duration v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasCheckAfterLast() => $_has(5);
  @$pb.TagNumber(6)
  void clearCheckAfterLast() => clearField(6);
  @$pb.TagNumber(6)
  $2.Duration ensureCheckAfterLast() => $_ensure(5);

  @$pb.TagNumber(7)
  $0.Timestamp get punchTime => $_getN(6);
  @$pb.TagNumber(7)
  set punchTime($0.Timestamp v) { setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasPunchTime() => $_has(6);
  @$pb.TagNumber(7)
  void clearPunchTime() => clearField(7);
  @$pb.TagNumber(7)
  $0.Timestamp ensurePunchTime() => $_ensure(6);

  @$pb.TagNumber(8)
  Position get position => $_getN(7);
  @$pb.TagNumber(8)
  set position(Position v) { setField(8, v); }
  @$pb.TagNumber(8)
  $core.bool hasPosition() => $_has(7);
  @$pb.TagNumber(8)
  void clearPosition() => clearField(8);
  @$pb.TagNumber(8)
  Position ensurePosition() => $_ensure(7);

  @$pb.TagNumber(9)
  $core.int get disAfterLast => $_getIZ(8);
  @$pb.TagNumber(9)
  set disAfterLast($core.int v) { $_setSignedInt32(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasDisAfterLast() => $_has(8);
  @$pb.TagNumber(9)
  void clearDisAfterLast() => clearField(9);

  @$pb.TagNumber(10)
  $core.int get disStraightAfterLast => $_getIZ(9);
  @$pb.TagNumber(10)
  set disStraightAfterLast($core.int v) { $_setSignedInt32(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasDisStraightAfterLast() => $_has(9);
  @$pb.TagNumber(10)
  void clearDisStraightAfterLast() => clearField(10);

  @$pb.TagNumber(11)
  $core.int get paceAfterLast => $_getIZ(10);
  @$pb.TagNumber(11)
  set paceAfterLast($core.int v) { $_setSignedInt32(10, v); }
  @$pb.TagNumber(11)
  $core.bool hasPaceAfterLast() => $_has(10);
  @$pb.TagNumber(11)
  void clearPaceAfterLast() => clearField(11);

  @$pb.TagNumber(12)
  $core.int get paceAfterStart => $_getIZ(11);
  @$pb.TagNumber(12)
  set paceAfterStart($core.int v) { $_setSignedInt32(11, v); }
  @$pb.TagNumber(12)
  $core.bool hasPaceAfterStart() => $_has(11);
  @$pb.TagNumber(12)
  void clearPaceAfterStart() => clearField(12);

  @$pb.TagNumber(13)
  $2.Duration get checkAfterStart => $_getN(12);
  @$pb.TagNumber(13)
  set checkAfterStart($2.Duration v) { setField(13, v); }
  @$pb.TagNumber(13)
  $core.bool hasCheckAfterStart() => $_has(12);
  @$pb.TagNumber(13)
  void clearCheckAfterStart() => clearField(13);
  @$pb.TagNumber(13)
  $2.Duration ensureCheckAfterStart() => $_ensure(12);
}

class AnswerHistoryInfo extends $pb.GeneratedMessage {
  factory AnswerHistoryInfo({
    $core.int? accuracy,
    $core.int? totalAnswerNum,
    $core.int? correctAnswerNum,
    $core.int? ranking,
    $core.int? rankingDay,
    $core.Iterable<AnswerDetailInfo>? list,
    $core.int? rankingSurpass,
  }) {
    final $result = create();
    if (accuracy != null) {
      $result.accuracy = accuracy;
    }
    if (totalAnswerNum != null) {
      $result.totalAnswerNum = totalAnswerNum;
    }
    if (correctAnswerNum != null) {
      $result.correctAnswerNum = correctAnswerNum;
    }
    if (ranking != null) {
      $result.ranking = ranking;
    }
    if (rankingDay != null) {
      $result.rankingDay = rankingDay;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (rankingSurpass != null) {
      $result.rankingSurpass = rankingSurpass;
    }
    return $result;
  }
  AnswerHistoryInfo._() : super();
  factory AnswerHistoryInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory AnswerHistoryInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AnswerHistoryInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'accuracy', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'totalAnswerNum', $pb.PbFieldType.O3, protoName: 'totalAnswerNum')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'correctAnswerNum', $pb.PbFieldType.O3, protoName: 'correctAnswerNum')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'ranking', $pb.PbFieldType.O3)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'rankingDay', $pb.PbFieldType.O3, protoName: 'rankingDay')
    ..pc<AnswerDetailInfo>(6, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: AnswerDetailInfo.create)
    ..a<$core.int>(7, _omitFieldNames ? '' : 'rankingSurpass', $pb.PbFieldType.O3, protoName: 'rankingSurpass')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  AnswerHistoryInfo clone() => AnswerHistoryInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  AnswerHistoryInfo copyWith(void Function(AnswerHistoryInfo) updates) => super.copyWith((message) => updates(message as AnswerHistoryInfo)) as AnswerHistoryInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AnswerHistoryInfo create() => AnswerHistoryInfo._();
  AnswerHistoryInfo createEmptyInstance() => create();
  static $pb.PbList<AnswerHistoryInfo> createRepeated() => $pb.PbList<AnswerHistoryInfo>();
  @$core.pragma('dart2js:noInline')
  static AnswerHistoryInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AnswerHistoryInfo>(create);
  static AnswerHistoryInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get accuracy => $_getIZ(0);
  @$pb.TagNumber(1)
  set accuracy($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasAccuracy() => $_has(0);
  @$pb.TagNumber(1)
  void clearAccuracy() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get totalAnswerNum => $_getIZ(1);
  @$pb.TagNumber(2)
  set totalAnswerNum($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasTotalAnswerNum() => $_has(1);
  @$pb.TagNumber(2)
  void clearTotalAnswerNum() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get correctAnswerNum => $_getIZ(2);
  @$pb.TagNumber(3)
  set correctAnswerNum($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasCorrectAnswerNum() => $_has(2);
  @$pb.TagNumber(3)
  void clearCorrectAnswerNum() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get ranking => $_getIZ(3);
  @$pb.TagNumber(4)
  set ranking($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasRanking() => $_has(3);
  @$pb.TagNumber(4)
  void clearRanking() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get rankingDay => $_getIZ(4);
  @$pb.TagNumber(5)
  set rankingDay($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasRankingDay() => $_has(4);
  @$pb.TagNumber(5)
  void clearRankingDay() => clearField(5);

  @$pb.TagNumber(6)
  $core.List<AnswerDetailInfo> get list => $_getList(5);

  @$pb.TagNumber(7)
  $core.int get rankingSurpass => $_getIZ(6);
  @$pb.TagNumber(7)
  set rankingSurpass($core.int v) { $_setSignedInt32(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasRankingSurpass() => $_has(6);
  @$pb.TagNumber(7)
  void clearRankingSurpass() => clearField(7);
}

class AnswerDetailInfo extends $pb.GeneratedMessage {
  factory AnswerDetailInfo({
    $core.int? qbId,
    $core.String? question,
    NetImage? image,
    $core.Iterable<$core.String>? answer,
    $core.int? rightAnswerIndex,
    $core.int? userAnswerIndex,
    $core.bool? answerCorrect,
    $core.bool? isAnswer,
  }) {
    final $result = create();
    if (qbId != null) {
      $result.qbId = qbId;
    }
    if (question != null) {
      $result.question = question;
    }
    if (image != null) {
      $result.image = image;
    }
    if (answer != null) {
      $result.answer.addAll(answer);
    }
    if (rightAnswerIndex != null) {
      $result.rightAnswerIndex = rightAnswerIndex;
    }
    if (userAnswerIndex != null) {
      $result.userAnswerIndex = userAnswerIndex;
    }
    if (answerCorrect != null) {
      $result.answerCorrect = answerCorrect;
    }
    if (isAnswer != null) {
      $result.isAnswer = isAnswer;
    }
    return $result;
  }
  AnswerDetailInfo._() : super();
  factory AnswerDetailInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory AnswerDetailInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AnswerDetailInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'qbId', $pb.PbFieldType.O3, protoName: 'qbId')
    ..aOS(2, _omitFieldNames ? '' : 'question')
    ..aOM<NetImage>(3, _omitFieldNames ? '' : 'image', subBuilder: NetImage.create)
    ..pPS(4, _omitFieldNames ? '' : 'answer')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'rightAnswerIndex', $pb.PbFieldType.O3, protoName: 'rightAnswerIndex')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'userAnswerIndex', $pb.PbFieldType.O3, protoName: 'userAnswerIndex')
    ..aOB(7, _omitFieldNames ? '' : 'answerCorrect', protoName: 'answerCorrect')
    ..aOB(8, _omitFieldNames ? '' : 'isAnswer', protoName: 'isAnswer')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  AnswerDetailInfo clone() => AnswerDetailInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  AnswerDetailInfo copyWith(void Function(AnswerDetailInfo) updates) => super.copyWith((message) => updates(message as AnswerDetailInfo)) as AnswerDetailInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AnswerDetailInfo create() => AnswerDetailInfo._();
  AnswerDetailInfo createEmptyInstance() => create();
  static $pb.PbList<AnswerDetailInfo> createRepeated() => $pb.PbList<AnswerDetailInfo>();
  @$core.pragma('dart2js:noInline')
  static AnswerDetailInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AnswerDetailInfo>(create);
  static AnswerDetailInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get qbId => $_getIZ(0);
  @$pb.TagNumber(1)
  set qbId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasQbId() => $_has(0);
  @$pb.TagNumber(1)
  void clearQbId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get question => $_getSZ(1);
  @$pb.TagNumber(2)
  set question($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasQuestion() => $_has(1);
  @$pb.TagNumber(2)
  void clearQuestion() => clearField(2);

  @$pb.TagNumber(3)
  NetImage get image => $_getN(2);
  @$pb.TagNumber(3)
  set image(NetImage v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasImage() => $_has(2);
  @$pb.TagNumber(3)
  void clearImage() => clearField(3);
  @$pb.TagNumber(3)
  NetImage ensureImage() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.List<$core.String> get answer => $_getList(3);

  @$pb.TagNumber(5)
  $core.int get rightAnswerIndex => $_getIZ(4);
  @$pb.TagNumber(5)
  set rightAnswerIndex($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasRightAnswerIndex() => $_has(4);
  @$pb.TagNumber(5)
  void clearRightAnswerIndex() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get userAnswerIndex => $_getIZ(5);
  @$pb.TagNumber(6)
  set userAnswerIndex($core.int v) { $_setSignedInt32(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasUserAnswerIndex() => $_has(5);
  @$pb.TagNumber(6)
  void clearUserAnswerIndex() => clearField(6);

  @$pb.TagNumber(7)
  $core.bool get answerCorrect => $_getBF(6);
  @$pb.TagNumber(7)
  set answerCorrect($core.bool v) { $_setBool(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasAnswerCorrect() => $_has(6);
  @$pb.TagNumber(7)
  void clearAnswerCorrect() => clearField(7);

  @$pb.TagNumber(8)
  $core.bool get isAnswer => $_getBF(7);
  @$pb.TagNumber(8)
  set isAnswer($core.bool v) { $_setBool(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasIsAnswer() => $_has(7);
  @$pb.TagNumber(8)
  void clearIsAnswer() => clearField(8);
}

class ToActivityRegusterEditRequest extends $pb.GeneratedMessage {
  factory ToActivityRegusterEditRequest({
    $core.int? regId,
    $core.String? regName,
    $fixnum.Int64? startSecond,
    $fixnum.Int64? endSecond,
    $core.String? organizer,
  }) {
    final $result = create();
    if (regId != null) {
      $result.regId = regId;
    }
    if (regName != null) {
      $result.regName = regName;
    }
    if (startSecond != null) {
      $result.startSecond = startSecond;
    }
    if (endSecond != null) {
      $result.endSecond = endSecond;
    }
    if (organizer != null) {
      $result.organizer = organizer;
    }
    return $result;
  }
  ToActivityRegusterEditRequest._() : super();
  factory ToActivityRegusterEditRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActivityRegusterEditRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActivityRegusterEditRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'regId', $pb.PbFieldType.O3, protoName: 'regId')
    ..aOS(2, _omitFieldNames ? '' : 'regName', protoName: 'regName')
    ..aInt64(3, _omitFieldNames ? '' : 'startSecond', protoName: 'startSecond')
    ..aInt64(4, _omitFieldNames ? '' : 'endSecond', protoName: 'endSecond')
    ..aOS(5, _omitFieldNames ? '' : 'organizer')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActivityRegusterEditRequest clone() => ToActivityRegusterEditRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActivityRegusterEditRequest copyWith(void Function(ToActivityRegusterEditRequest) updates) => super.copyWith((message) => updates(message as ToActivityRegusterEditRequest)) as ToActivityRegusterEditRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterEditRequest create() => ToActivityRegusterEditRequest._();
  ToActivityRegusterEditRequest createEmptyInstance() => create();
  static $pb.PbList<ToActivityRegusterEditRequest> createRepeated() => $pb.PbList<ToActivityRegusterEditRequest>();
  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterEditRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActivityRegusterEditRequest>(create);
  static ToActivityRegusterEditRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get regId => $_getIZ(0);
  @$pb.TagNumber(1)
  set regId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasRegId() => $_has(0);
  @$pb.TagNumber(1)
  void clearRegId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get regName => $_getSZ(1);
  @$pb.TagNumber(2)
  set regName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasRegName() => $_has(1);
  @$pb.TagNumber(2)
  void clearRegName() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get startSecond => $_getI64(2);
  @$pb.TagNumber(3)
  set startSecond($fixnum.Int64 v) { $_setInt64(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasStartSecond() => $_has(2);
  @$pb.TagNumber(3)
  void clearStartSecond() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get endSecond => $_getI64(3);
  @$pb.TagNumber(4)
  set endSecond($fixnum.Int64 v) { $_setInt64(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasEndSecond() => $_has(3);
  @$pb.TagNumber(4)
  void clearEndSecond() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get organizer => $_getSZ(4);
  @$pb.TagNumber(5)
  set organizer($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasOrganizer() => $_has(4);
  @$pb.TagNumber(5)
  void clearOrganizer() => clearField(5);
}

class ToActivityRegusterListRequest extends $pb.GeneratedMessage {
  factory ToActivityRegusterListRequest({
    $core.int? offset,
    $core.int? limit,
  }) {
    final $result = create();
    if (offset != null) {
      $result.offset = offset;
    }
    if (limit != null) {
      $result.limit = limit;
    }
    return $result;
  }
  ToActivityRegusterListRequest._() : super();
  factory ToActivityRegusterListRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActivityRegusterListRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActivityRegusterListRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'limit', $pb.PbFieldType.O3)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActivityRegusterListRequest clone() => ToActivityRegusterListRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActivityRegusterListRequest copyWith(void Function(ToActivityRegusterListRequest) updates) => super.copyWith((message) => updates(message as ToActivityRegusterListRequest)) as ToActivityRegusterListRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterListRequest create() => ToActivityRegusterListRequest._();
  ToActivityRegusterListRequest createEmptyInstance() => create();
  static $pb.PbList<ToActivityRegusterListRequest> createRepeated() => $pb.PbList<ToActivityRegusterListRequest>();
  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterListRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActivityRegusterListRequest>(create);
  static ToActivityRegusterListRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get offset => $_getIZ(0);
  @$pb.TagNumber(1)
  set offset($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasOffset() => $_has(0);
  @$pb.TagNumber(1)
  void clearOffset() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get limit => $_getIZ(1);
  @$pb.TagNumber(2)
  set limit($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLimit() => $_has(1);
  @$pb.TagNumber(2)
  void clearLimit() => clearField(2);
}

class ToActivityRegusterListReply extends $pb.GeneratedMessage {
  factory ToActivityRegusterListReply({
    $core.Iterable<ToActivityRegusterInfo>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ToActivityRegusterListReply._() : super();
  factory ToActivityRegusterListReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActivityRegusterListReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActivityRegusterListReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<ToActivityRegusterInfo>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: ToActivityRegusterInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActivityRegusterListReply clone() => ToActivityRegusterListReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActivityRegusterListReply copyWith(void Function(ToActivityRegusterListReply) updates) => super.copyWith((message) => updates(message as ToActivityRegusterListReply)) as ToActivityRegusterListReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterListReply create() => ToActivityRegusterListReply._();
  ToActivityRegusterListReply createEmptyInstance() => create();
  static $pb.PbList<ToActivityRegusterListReply> createRepeated() => $pb.PbList<ToActivityRegusterListReply>();
  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterListReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActivityRegusterListReply>(create);
  static ToActivityRegusterListReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<ToActivityRegusterInfo> get list => $_getList(0);
}

class ToActivityRegusterInfo extends $pb.GeneratedMessage {
  factory ToActivityRegusterInfo({
    $core.int? regId,
    $core.String? regName,
    $fixnum.Int64? startSecond,
    $fixnum.Int64? endSecond,
    $core.String? organizer,
    $core.String? key,
  }) {
    final $result = create();
    if (regId != null) {
      $result.regId = regId;
    }
    if (regName != null) {
      $result.regName = regName;
    }
    if (startSecond != null) {
      $result.startSecond = startSecond;
    }
    if (endSecond != null) {
      $result.endSecond = endSecond;
    }
    if (organizer != null) {
      $result.organizer = organizer;
    }
    if (key != null) {
      $result.key = key;
    }
    return $result;
  }
  ToActivityRegusterInfo._() : super();
  factory ToActivityRegusterInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActivityRegusterInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActivityRegusterInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'regId', $pb.PbFieldType.O3, protoName: 'regId')
    ..aOS(2, _omitFieldNames ? '' : 'regName', protoName: 'regName')
    ..aInt64(3, _omitFieldNames ? '' : 'startSecond', protoName: 'startSecond')
    ..aInt64(4, _omitFieldNames ? '' : 'endSecond', protoName: 'endSecond')
    ..aOS(5, _omitFieldNames ? '' : 'organizer')
    ..aOS(6, _omitFieldNames ? '' : 'key')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActivityRegusterInfo clone() => ToActivityRegusterInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActivityRegusterInfo copyWith(void Function(ToActivityRegusterInfo) updates) => super.copyWith((message) => updates(message as ToActivityRegusterInfo)) as ToActivityRegusterInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterInfo create() => ToActivityRegusterInfo._();
  ToActivityRegusterInfo createEmptyInstance() => create();
  static $pb.PbList<ToActivityRegusterInfo> createRepeated() => $pb.PbList<ToActivityRegusterInfo>();
  @$core.pragma('dart2js:noInline')
  static ToActivityRegusterInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActivityRegusterInfo>(create);
  static ToActivityRegusterInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get regId => $_getIZ(0);
  @$pb.TagNumber(1)
  set regId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasRegId() => $_has(0);
  @$pb.TagNumber(1)
  void clearRegId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get regName => $_getSZ(1);
  @$pb.TagNumber(2)
  set regName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasRegName() => $_has(1);
  @$pb.TagNumber(2)
  void clearRegName() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get startSecond => $_getI64(2);
  @$pb.TagNumber(3)
  set startSecond($fixnum.Int64 v) { $_setInt64(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasStartSecond() => $_has(2);
  @$pb.TagNumber(3)
  void clearStartSecond() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get endSecond => $_getI64(3);
  @$pb.TagNumber(4)
  set endSecond($fixnum.Int64 v) { $_setInt64(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasEndSecond() => $_has(3);
  @$pb.TagNumber(4)
  void clearEndSecond() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get organizer => $_getSZ(4);
  @$pb.TagNumber(5)
  set organizer($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasOrganizer() => $_has(4);
  @$pb.TagNumber(5)
  void clearOrganizer() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get key => $_getSZ(5);
  @$pb.TagNumber(6)
  set key($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasKey() => $_has(5);
  @$pb.TagNumber(6)
  void clearKey() => clearField(6);
}

class ToGameRankingRequest extends $pb.GeneratedMessage {
  factory ToGameRankingRequest({
    $core.int? mapId,
    $fixnum.Int64? startSecond,
  }) {
    final $result = create();
    if (mapId != null) {
      $result.mapId = mapId;
    }
    if (startSecond != null) {
      $result.startSecond = startSecond;
    }
    return $result;
  }
  ToGameRankingRequest._() : super();
  factory ToGameRankingRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToGameRankingRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToGameRankingRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'mapId', $pb.PbFieldType.O3, protoName: 'mapId')
    ..aInt64(2, _omitFieldNames ? '' : 'startSecond', protoName: 'startSecond')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToGameRankingRequest clone() => ToGameRankingRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToGameRankingRequest copyWith(void Function(ToGameRankingRequest) updates) => super.copyWith((message) => updates(message as ToGameRankingRequest)) as ToGameRankingRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToGameRankingRequest create() => ToGameRankingRequest._();
  ToGameRankingRequest createEmptyInstance() => create();
  static $pb.PbList<ToGameRankingRequest> createRepeated() => $pb.PbList<ToGameRankingRequest>();
  @$core.pragma('dart2js:noInline')
  static ToGameRankingRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToGameRankingRequest>(create);
  static ToGameRankingRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get mapId => $_getIZ(0);
  @$pb.TagNumber(1)
  set mapId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasMapId() => $_has(0);
  @$pb.TagNumber(1)
  void clearMapId() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get startSecond => $_getI64(1);
  @$pb.TagNumber(2)
  set startSecond($fixnum.Int64 v) { $_setInt64(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasStartSecond() => $_has(1);
  @$pb.TagNumber(2)
  void clearStartSecond() => clearField(2);
}

class ToGameRankingReply extends $pb.GeneratedMessage {
  factory ToGameRankingReply({
    $core.Iterable<ToActionRankInfo>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ToGameRankingReply._() : super();
  factory ToGameRankingReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToGameRankingReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToGameRankingReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<ToActionRankInfo>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: ToActionRankInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToGameRankingReply clone() => ToGameRankingReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToGameRankingReply copyWith(void Function(ToGameRankingReply) updates) => super.copyWith((message) => updates(message as ToGameRankingReply)) as ToGameRankingReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToGameRankingReply create() => ToGameRankingReply._();
  ToGameRankingReply createEmptyInstance() => create();
  static $pb.PbList<ToGameRankingReply> createRepeated() => $pb.PbList<ToGameRankingReply>();
  @$core.pragma('dart2js:noInline')
  static ToGameRankingReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToGameRankingReply>(create);
  static ToGameRankingReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<ToActionRankInfo> get list => $_getList(0);
}

class ToActionRankInfo extends $pb.GeneratedMessage {
  factory ToActionRankInfo({
    $core.int? actId,
    $core.String? actName,
    $core.int? totalUserNum,
    $core.Iterable<ToOrienteerRankInfo>? rankList,
  }) {
    final $result = create();
    if (actId != null) {
      $result.actId = actId;
    }
    if (actName != null) {
      $result.actName = actName;
    }
    if (totalUserNum != null) {
      $result.totalUserNum = totalUserNum;
    }
    if (rankList != null) {
      $result.rankList.addAll(rankList);
    }
    return $result;
  }
  ToActionRankInfo._() : super();
  factory ToActionRankInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActionRankInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActionRankInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'actId', $pb.PbFieldType.O3, protoName: 'actId')
    ..aOS(2, _omitFieldNames ? '' : 'actName', protoName: 'actName')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'totalUserNum', $pb.PbFieldType.O3, protoName: 'totalUserNum')
    ..pc<ToOrienteerRankInfo>(4, _omitFieldNames ? '' : 'rankList', $pb.PbFieldType.PM, protoName: 'rankList', subBuilder: ToOrienteerRankInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActionRankInfo clone() => ToActionRankInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActionRankInfo copyWith(void Function(ToActionRankInfo) updates) => super.copyWith((message) => updates(message as ToActionRankInfo)) as ToActionRankInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActionRankInfo create() => ToActionRankInfo._();
  ToActionRankInfo createEmptyInstance() => create();
  static $pb.PbList<ToActionRankInfo> createRepeated() => $pb.PbList<ToActionRankInfo>();
  @$core.pragma('dart2js:noInline')
  static ToActionRankInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActionRankInfo>(create);
  static ToActionRankInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get actId => $_getIZ(0);
  @$pb.TagNumber(1)
  set actId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasActId() => $_has(0);
  @$pb.TagNumber(1)
  void clearActId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get actName => $_getSZ(1);
  @$pb.TagNumber(2)
  set actName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasActName() => $_has(1);
  @$pb.TagNumber(2)
  void clearActName() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get totalUserNum => $_getIZ(2);
  @$pb.TagNumber(3)
  set totalUserNum($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasTotalUserNum() => $_has(2);
  @$pb.TagNumber(3)
  void clearTotalUserNum() => clearField(3);

  @$pb.TagNumber(4)
  $core.List<ToOrienteerRankInfo> get rankList => $_getList(3);
}

class ToOrienteerRankInfo extends $pb.GeneratedMessage {
  factory ToOrienteerRankInfo({
    $core.int? gameId,
    $core.String? oName,
    $core.String? phone,
    $core.String? courseName,
    $core.int? state,
    $0.Timestamp? startAt,
    $2.Duration? duration,
    $core.int? distance,
    $core.int? totalControlNum,
    $core.int? oId,
  }) {
    final $result = create();
    if (gameId != null) {
      $result.gameId = gameId;
    }
    if (oName != null) {
      $result.oName = oName;
    }
    if (phone != null) {
      $result.phone = phone;
    }
    if (courseName != null) {
      $result.courseName = courseName;
    }
    if (state != null) {
      $result.state = state;
    }
    if (startAt != null) {
      $result.startAt = startAt;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (distance != null) {
      $result.distance = distance;
    }
    if (totalControlNum != null) {
      $result.totalControlNum = totalControlNum;
    }
    if (oId != null) {
      $result.oId = oId;
    }
    return $result;
  }
  ToOrienteerRankInfo._() : super();
  factory ToOrienteerRankInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToOrienteerRankInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToOrienteerRankInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'gameId', $pb.PbFieldType.O3, protoName: 'gameId')
    ..aOS(2, _omitFieldNames ? '' : 'oName', protoName: 'oName')
    ..aOS(3, _omitFieldNames ? '' : 'phone')
    ..aOS(4, _omitFieldNames ? '' : 'courseName', protoName: 'courseName')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'state', $pb.PbFieldType.O3)
    ..aOM<$0.Timestamp>(6, _omitFieldNames ? '' : 'startAt', subBuilder: $0.Timestamp.create)
    ..aOM<$2.Duration>(7, _omitFieldNames ? '' : 'duration', subBuilder: $2.Duration.create)
    ..a<$core.int>(8, _omitFieldNames ? '' : 'distance', $pb.PbFieldType.O3)
    ..a<$core.int>(9, _omitFieldNames ? '' : 'totalControlNum', $pb.PbFieldType.O3, protoName: 'totalControlNum')
    ..a<$core.int>(10, _omitFieldNames ? '' : 'oId', $pb.PbFieldType.O3, protoName: 'oId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToOrienteerRankInfo clone() => ToOrienteerRankInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToOrienteerRankInfo copyWith(void Function(ToOrienteerRankInfo) updates) => super.copyWith((message) => updates(message as ToOrienteerRankInfo)) as ToOrienteerRankInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToOrienteerRankInfo create() => ToOrienteerRankInfo._();
  ToOrienteerRankInfo createEmptyInstance() => create();
  static $pb.PbList<ToOrienteerRankInfo> createRepeated() => $pb.PbList<ToOrienteerRankInfo>();
  @$core.pragma('dart2js:noInline')
  static ToOrienteerRankInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToOrienteerRankInfo>(create);
  static ToOrienteerRankInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get gameId => $_getIZ(0);
  @$pb.TagNumber(1)
  set gameId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasGameId() => $_has(0);
  @$pb.TagNumber(1)
  void clearGameId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get oName => $_getSZ(1);
  @$pb.TagNumber(2)
  set oName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasOName() => $_has(1);
  @$pb.TagNumber(2)
  void clearOName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get phone => $_getSZ(2);
  @$pb.TagNumber(3)
  set phone($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasPhone() => $_has(2);
  @$pb.TagNumber(3)
  void clearPhone() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get courseName => $_getSZ(3);
  @$pb.TagNumber(4)
  set courseName($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasCourseName() => $_has(3);
  @$pb.TagNumber(4)
  void clearCourseName() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get state => $_getIZ(4);
  @$pb.TagNumber(5)
  set state($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasState() => $_has(4);
  @$pb.TagNumber(5)
  void clearState() => clearField(5);

  @$pb.TagNumber(6)
  $0.Timestamp get startAt => $_getN(5);
  @$pb.TagNumber(6)
  set startAt($0.Timestamp v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasStartAt() => $_has(5);
  @$pb.TagNumber(6)
  void clearStartAt() => clearField(6);
  @$pb.TagNumber(6)
  $0.Timestamp ensureStartAt() => $_ensure(5);

  @$pb.TagNumber(7)
  $2.Duration get duration => $_getN(6);
  @$pb.TagNumber(7)
  set duration($2.Duration v) { setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasDuration() => $_has(6);
  @$pb.TagNumber(7)
  void clearDuration() => clearField(7);
  @$pb.TagNumber(7)
  $2.Duration ensureDuration() => $_ensure(6);

  @$pb.TagNumber(8)
  $core.int get distance => $_getIZ(7);
  @$pb.TagNumber(8)
  set distance($core.int v) { $_setSignedInt32(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasDistance() => $_has(7);
  @$pb.TagNumber(8)
  void clearDistance() => clearField(8);

  @$pb.TagNumber(9)
  $core.int get totalControlNum => $_getIZ(8);
  @$pb.TagNumber(9)
  set totalControlNum($core.int v) { $_setSignedInt32(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasTotalControlNum() => $_has(8);
  @$pb.TagNumber(9)
  void clearTotalControlNum() => clearField(9);

  @$pb.TagNumber(10)
  $core.int get oId => $_getIZ(9);
  @$pb.TagNumber(10)
  set oId($core.int v) { $_setSignedInt32(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasOId() => $_has(9);
  @$pb.TagNumber(10)
  void clearOId() => clearField(10);
}

class ToGetUpdateVersionRequest extends $pb.GeneratedMessage {
  factory ToGetUpdateVersionRequest({
    $core.String? vCode,
    $core.int? vShop,
  }) {
    final $result = create();
    if (vCode != null) {
      $result.vCode = vCode;
    }
    if (vShop != null) {
      $result.vShop = vShop;
    }
    return $result;
  }
  ToGetUpdateVersionRequest._() : super();
  factory ToGetUpdateVersionRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToGetUpdateVersionRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToGetUpdateVersionRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'vCode', protoName: 'vCode')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'vShop', $pb.PbFieldType.O3, protoName: 'vShop')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToGetUpdateVersionRequest clone() => ToGetUpdateVersionRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToGetUpdateVersionRequest copyWith(void Function(ToGetUpdateVersionRequest) updates) => super.copyWith((message) => updates(message as ToGetUpdateVersionRequest)) as ToGetUpdateVersionRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToGetUpdateVersionRequest create() => ToGetUpdateVersionRequest._();
  ToGetUpdateVersionRequest createEmptyInstance() => create();
  static $pb.PbList<ToGetUpdateVersionRequest> createRepeated() => $pb.PbList<ToGetUpdateVersionRequest>();
  @$core.pragma('dart2js:noInline')
  static ToGetUpdateVersionRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToGetUpdateVersionRequest>(create);
  static ToGetUpdateVersionRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get vCode => $_getSZ(0);
  @$pb.TagNumber(1)
  set vCode($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasVCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearVCode() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get vShop => $_getIZ(1);
  @$pb.TagNumber(2)
  set vShop($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasVShop() => $_has(1);
  @$pb.TagNumber(2)
  void clearVShop() => clearField(2);
}

class ToGetUpdateVersionReply extends $pb.GeneratedMessage {
  factory ToGetUpdateVersionReply({
    $core.bool? needUpdate,
    $core.String? vCode,
    $core.String? vMemo,
    $core.String? vUrl,
  }) {
    final $result = create();
    if (needUpdate != null) {
      $result.needUpdate = needUpdate;
    }
    if (vCode != null) {
      $result.vCode = vCode;
    }
    if (vMemo != null) {
      $result.vMemo = vMemo;
    }
    if (vUrl != null) {
      $result.vUrl = vUrl;
    }
    return $result;
  }
  ToGetUpdateVersionReply._() : super();
  factory ToGetUpdateVersionReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToGetUpdateVersionReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToGetUpdateVersionReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'needUpdate', protoName: 'needUpdate')
    ..aOS(2, _omitFieldNames ? '' : 'vCode', protoName: 'vCode')
    ..aOS(3, _omitFieldNames ? '' : 'vMemo', protoName: 'vMemo')
    ..aOS(4, _omitFieldNames ? '' : 'vUrl', protoName: 'vUrl')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToGetUpdateVersionReply clone() => ToGetUpdateVersionReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToGetUpdateVersionReply copyWith(void Function(ToGetUpdateVersionReply) updates) => super.copyWith((message) => updates(message as ToGetUpdateVersionReply)) as ToGetUpdateVersionReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToGetUpdateVersionReply create() => ToGetUpdateVersionReply._();
  ToGetUpdateVersionReply createEmptyInstance() => create();
  static $pb.PbList<ToGetUpdateVersionReply> createRepeated() => $pb.PbList<ToGetUpdateVersionReply>();
  @$core.pragma('dart2js:noInline')
  static ToGetUpdateVersionReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToGetUpdateVersionReply>(create);
  static ToGetUpdateVersionReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get needUpdate => $_getBF(0);
  @$pb.TagNumber(1)
  set needUpdate($core.bool v) { $_setBool(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasNeedUpdate() => $_has(0);
  @$pb.TagNumber(1)
  void clearNeedUpdate() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get vCode => $_getSZ(1);
  @$pb.TagNumber(2)
  set vCode($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasVCode() => $_has(1);
  @$pb.TagNumber(2)
  void clearVCode() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get vMemo => $_getSZ(2);
  @$pb.TagNumber(3)
  set vMemo($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasVMemo() => $_has(2);
  @$pb.TagNumber(3)
  void clearVMemo() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get vUrl => $_getSZ(3);
  @$pb.TagNumber(4)
  set vUrl($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasVUrl() => $_has(3);
  @$pb.TagNumber(4)
  void clearVUrl() => clearField(4);
}

class ToGameDetailReply extends $pb.GeneratedMessage {
  factory ToGameDetailReply({
    $core.int? gameId,
    $core.bool? isComplete,
    $0.Timestamp? startAt,
    $core.Iterable<ToControlPoint>? checkedSortedList,
    $2.Duration? duration,
    $0.Timestamp? stopAt,
    $core.bool? isSuccess,
    $core.int? sysPoint,
    $core.int? totalPointNum,
    $core.String? actName,
    $core.int? distance,
    $core.int? pace,
    $core.int? avgHr,
    $core.int? calorie,
    $core.int? ck,
    $core.double? ei,
    $core.int? stepNum,
    $core.Iterable<GameGpsInfo>? gameGpsInfo,
    $core.Iterable<HeartRate>? gameHrInfos,
    GameHistorySource? source,
    $core.int? actId,
  }) {
    final $result = create();
    if (gameId != null) {
      $result.gameId = gameId;
    }
    if (isComplete != null) {
      $result.isComplete = isComplete;
    }
    if (startAt != null) {
      $result.startAt = startAt;
    }
    if (checkedSortedList != null) {
      $result.checkedSortedList.addAll(checkedSortedList);
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (stopAt != null) {
      $result.stopAt = stopAt;
    }
    if (isSuccess != null) {
      $result.isSuccess = isSuccess;
    }
    if (sysPoint != null) {
      $result.sysPoint = sysPoint;
    }
    if (totalPointNum != null) {
      $result.totalPointNum = totalPointNum;
    }
    if (actName != null) {
      $result.actName = actName;
    }
    if (distance != null) {
      $result.distance = distance;
    }
    if (pace != null) {
      $result.pace = pace;
    }
    if (avgHr != null) {
      $result.avgHr = avgHr;
    }
    if (calorie != null) {
      $result.calorie = calorie;
    }
    if (ck != null) {
      $result.ck = ck;
    }
    if (ei != null) {
      $result.ei = ei;
    }
    if (stepNum != null) {
      $result.stepNum = stepNum;
    }
    if (gameGpsInfo != null) {
      $result.gameGpsInfo.addAll(gameGpsInfo);
    }
    if (gameHrInfos != null) {
      $result.gameHrInfos.addAll(gameHrInfos);
    }
    if (source != null) {
      $result.source = source;
    }
    if (actId != null) {
      $result.actId = actId;
    }
    return $result;
  }
  ToGameDetailReply._() : super();
  factory ToGameDetailReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToGameDetailReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToGameDetailReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'gameId', $pb.PbFieldType.O3)
    ..aOB(2, _omitFieldNames ? '' : 'isComplete', protoName: 'isComplete')
    ..aOM<$0.Timestamp>(3, _omitFieldNames ? '' : 'startAt', subBuilder: $0.Timestamp.create)
    ..pc<ToControlPoint>(4, _omitFieldNames ? '' : 'checkedSortedList', $pb.PbFieldType.PM, subBuilder: ToControlPoint.create)
    ..aOM<$2.Duration>(5, _omitFieldNames ? '' : 'duration', subBuilder: $2.Duration.create)
    ..aOM<$0.Timestamp>(6, _omitFieldNames ? '' : 'stopAt', subBuilder: $0.Timestamp.create)
    ..aOB(8, _omitFieldNames ? '' : 'isSuccess', protoName: 'isSuccess')
    ..a<$core.int>(9, _omitFieldNames ? '' : 'sysPoint', $pb.PbFieldType.O3, protoName: 'sysPoint')
    ..a<$core.int>(10, _omitFieldNames ? '' : 'totalPointNum', $pb.PbFieldType.O3, protoName: 'totalPointNum')
    ..aOS(13, _omitFieldNames ? '' : 'actName', protoName: 'actName')
    ..a<$core.int>(14, _omitFieldNames ? '' : 'distance', $pb.PbFieldType.O3)
    ..a<$core.int>(15, _omitFieldNames ? '' : 'pace', $pb.PbFieldType.O3)
    ..a<$core.int>(16, _omitFieldNames ? '' : 'avgHr', $pb.PbFieldType.O3, protoName: 'avgHr')
    ..a<$core.int>(17, _omitFieldNames ? '' : 'Calorie', $pb.PbFieldType.O3, protoName: 'Calorie')
    ..a<$core.int>(18, _omitFieldNames ? '' : 'Ck', $pb.PbFieldType.O3, protoName: 'Ck')
    ..a<$core.double>(19, _omitFieldNames ? '' : 'Ei', $pb.PbFieldType.OF, protoName: 'Ei')
    ..a<$core.int>(20, _omitFieldNames ? '' : 'stepNum', $pb.PbFieldType.O3, protoName: 'stepNum')
    ..pc<GameGpsInfo>(21, _omitFieldNames ? '' : 'gameGpsInfo', $pb.PbFieldType.PM, protoName: 'gameGpsInfo', subBuilder: GameGpsInfo.create)
    ..pc<HeartRate>(24, _omitFieldNames ? '' : 'gameHrInfos', $pb.PbFieldType.PM, protoName: 'gameHrInfos', subBuilder: HeartRate.create)
    ..e<GameHistorySource>(25, _omitFieldNames ? '' : 'source', $pb.PbFieldType.OE, defaultOrMaker: GameHistorySource.GameHistorySourcAll, valueOf: GameHistorySource.valueOf, enumValues: GameHistorySource.values)
    ..a<$core.int>(26, _omitFieldNames ? '' : 'actId', $pb.PbFieldType.O3, protoName: 'actId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToGameDetailReply clone() => ToGameDetailReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToGameDetailReply copyWith(void Function(ToGameDetailReply) updates) => super.copyWith((message) => updates(message as ToGameDetailReply)) as ToGameDetailReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToGameDetailReply create() => ToGameDetailReply._();
  ToGameDetailReply createEmptyInstance() => create();
  static $pb.PbList<ToGameDetailReply> createRepeated() => $pb.PbList<ToGameDetailReply>();
  @$core.pragma('dart2js:noInline')
  static ToGameDetailReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToGameDetailReply>(create);
  static ToGameDetailReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get gameId => $_getIZ(0);
  @$pb.TagNumber(1)
  set gameId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasGameId() => $_has(0);
  @$pb.TagNumber(1)
  void clearGameId() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get isComplete => $_getBF(1);
  @$pb.TagNumber(2)
  set isComplete($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasIsComplete() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsComplete() => clearField(2);

  @$pb.TagNumber(3)
  $0.Timestamp get startAt => $_getN(2);
  @$pb.TagNumber(3)
  set startAt($0.Timestamp v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasStartAt() => $_has(2);
  @$pb.TagNumber(3)
  void clearStartAt() => clearField(3);
  @$pb.TagNumber(3)
  $0.Timestamp ensureStartAt() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.List<ToControlPoint> get checkedSortedList => $_getList(3);

  @$pb.TagNumber(5)
  $2.Duration get duration => $_getN(4);
  @$pb.TagNumber(5)
  set duration($2.Duration v) { setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasDuration() => $_has(4);
  @$pb.TagNumber(5)
  void clearDuration() => clearField(5);
  @$pb.TagNumber(5)
  $2.Duration ensureDuration() => $_ensure(4);

  @$pb.TagNumber(6)
  $0.Timestamp get stopAt => $_getN(5);
  @$pb.TagNumber(6)
  set stopAt($0.Timestamp v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasStopAt() => $_has(5);
  @$pb.TagNumber(6)
  void clearStopAt() => clearField(6);
  @$pb.TagNumber(6)
  $0.Timestamp ensureStopAt() => $_ensure(5);

  @$pb.TagNumber(8)
  $core.bool get isSuccess => $_getBF(6);
  @$pb.TagNumber(8)
  set isSuccess($core.bool v) { $_setBool(6, v); }
  @$pb.TagNumber(8)
  $core.bool hasIsSuccess() => $_has(6);
  @$pb.TagNumber(8)
  void clearIsSuccess() => clearField(8);

  @$pb.TagNumber(9)
  $core.int get sysPoint => $_getIZ(7);
  @$pb.TagNumber(9)
  set sysPoint($core.int v) { $_setSignedInt32(7, v); }
  @$pb.TagNumber(9)
  $core.bool hasSysPoint() => $_has(7);
  @$pb.TagNumber(9)
  void clearSysPoint() => clearField(9);

  @$pb.TagNumber(10)
  $core.int get totalPointNum => $_getIZ(8);
  @$pb.TagNumber(10)
  set totalPointNum($core.int v) { $_setSignedInt32(8, v); }
  @$pb.TagNumber(10)
  $core.bool hasTotalPointNum() => $_has(8);
  @$pb.TagNumber(10)
  void clearTotalPointNum() => clearField(10);

  @$pb.TagNumber(13)
  $core.String get actName => $_getSZ(9);
  @$pb.TagNumber(13)
  set actName($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(13)
  $core.bool hasActName() => $_has(9);
  @$pb.TagNumber(13)
  void clearActName() => clearField(13);

  @$pb.TagNumber(14)
  $core.int get distance => $_getIZ(10);
  @$pb.TagNumber(14)
  set distance($core.int v) { $_setSignedInt32(10, v); }
  @$pb.TagNumber(14)
  $core.bool hasDistance() => $_has(10);
  @$pb.TagNumber(14)
  void clearDistance() => clearField(14);

  @$pb.TagNumber(15)
  $core.int get pace => $_getIZ(11);
  @$pb.TagNumber(15)
  set pace($core.int v) { $_setSignedInt32(11, v); }
  @$pb.TagNumber(15)
  $core.bool hasPace() => $_has(11);
  @$pb.TagNumber(15)
  void clearPace() => clearField(15);

  @$pb.TagNumber(16)
  $core.int get avgHr => $_getIZ(12);
  @$pb.TagNumber(16)
  set avgHr($core.int v) { $_setSignedInt32(12, v); }
  @$pb.TagNumber(16)
  $core.bool hasAvgHr() => $_has(12);
  @$pb.TagNumber(16)
  void clearAvgHr() => clearField(16);

  @$pb.TagNumber(17)
  $core.int get calorie => $_getIZ(13);
  @$pb.TagNumber(17)
  set calorie($core.int v) { $_setSignedInt32(13, v); }
  @$pb.TagNumber(17)
  $core.bool hasCalorie() => $_has(13);
  @$pb.TagNumber(17)
  void clearCalorie() => clearField(17);

  @$pb.TagNumber(18)
  $core.int get ck => $_getIZ(14);
  @$pb.TagNumber(18)
  set ck($core.int v) { $_setSignedInt32(14, v); }
  @$pb.TagNumber(18)
  $core.bool hasCk() => $_has(14);
  @$pb.TagNumber(18)
  void clearCk() => clearField(18);

  @$pb.TagNumber(19)
  $core.double get ei => $_getN(15);
  @$pb.TagNumber(19)
  set ei($core.double v) { $_setFloat(15, v); }
  @$pb.TagNumber(19)
  $core.bool hasEi() => $_has(15);
  @$pb.TagNumber(19)
  void clearEi() => clearField(19);

  @$pb.TagNumber(20)
  $core.int get stepNum => $_getIZ(16);
  @$pb.TagNumber(20)
  set stepNum($core.int v) { $_setSignedInt32(16, v); }
  @$pb.TagNumber(20)
  $core.bool hasStepNum() => $_has(16);
  @$pb.TagNumber(20)
  void clearStepNum() => clearField(20);

  @$pb.TagNumber(21)
  $core.List<GameGpsInfo> get gameGpsInfo => $_getList(17);

  /// base.v1.NetImage map_zip = 22; //压缩包地图
  /// AnswerHistory  answerHistory= 23;//脑力值列表
  @$pb.TagNumber(24)
  $core.List<HeartRate> get gameHrInfos => $_getList(18);

  @$pb.TagNumber(25)
  GameHistorySource get source => $_getN(19);
  @$pb.TagNumber(25)
  set source(GameHistorySource v) { setField(25, v); }
  @$pb.TagNumber(25)
  $core.bool hasSource() => $_has(19);
  @$pb.TagNumber(25)
  void clearSource() => clearField(25);

  @$pb.TagNumber(26)
  $core.int get actId => $_getIZ(20);
  @$pb.TagNumber(26)
  set actId($core.int v) { $_setSignedInt32(20, v); }
  @$pb.TagNumber(26)
  $core.bool hasActId() => $_has(20);
  @$pb.TagNumber(26)
  void clearActId() => clearField(26);
}

class ToHisUserListQueryReply extends $pb.GeneratedMessage {
  factory ToHisUserListQueryReply({
    $core.Iterable<ToHisUserBasic>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ToHisUserListQueryReply._() : super();
  factory ToHisUserListQueryReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToHisUserListQueryReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToHisUserListQueryReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<ToHisUserBasic>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: ToHisUserBasic.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToHisUserListQueryReply clone() => ToHisUserListQueryReply()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToHisUserListQueryReply copyWith(void Function(ToHisUserListQueryReply) updates) => super.copyWith((message) => updates(message as ToHisUserListQueryReply)) as ToHisUserListQueryReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToHisUserListQueryReply create() => ToHisUserListQueryReply._();
  ToHisUserListQueryReply createEmptyInstance() => create();
  static $pb.PbList<ToHisUserListQueryReply> createRepeated() => $pb.PbList<ToHisUserListQueryReply>();
  @$core.pragma('dart2js:noInline')
  static ToHisUserListQueryReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToHisUserListQueryReply>(create);
  static ToHisUserListQueryReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<ToHisUserBasic> get list => $_getList(0);
}

class ToHisUserBasic extends $pb.GeneratedMessage {
  factory ToHisUserBasic({
    $core.int? oId,
    $core.String? oName,
    $core.Iterable<ToHisUserInfo>? list,
  }) {
    final $result = create();
    if (oId != null) {
      $result.oId = oId;
    }
    if (oName != null) {
      $result.oName = oName;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ToHisUserBasic._() : super();
  factory ToHisUserBasic.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToHisUserBasic.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToHisUserBasic', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'OId', $pb.PbFieldType.O3, protoName: 'OId')
    ..aOS(2, _omitFieldNames ? '' : 'OName', protoName: 'OName')
    ..pc<ToHisUserInfo>(3, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: ToHisUserInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToHisUserBasic clone() => ToHisUserBasic()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToHisUserBasic copyWith(void Function(ToHisUserBasic) updates) => super.copyWith((message) => updates(message as ToHisUserBasic)) as ToHisUserBasic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToHisUserBasic create() => ToHisUserBasic._();
  ToHisUserBasic createEmptyInstance() => create();
  static $pb.PbList<ToHisUserBasic> createRepeated() => $pb.PbList<ToHisUserBasic>();
  @$core.pragma('dart2js:noInline')
  static ToHisUserBasic getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToHisUserBasic>(create);
  static ToHisUserBasic? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get oId => $_getIZ(0);
  @$pb.TagNumber(1)
  set oId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasOId() => $_has(0);
  @$pb.TagNumber(1)
  void clearOId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get oName => $_getSZ(1);
  @$pb.TagNumber(2)
  set oName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasOName() => $_has(1);
  @$pb.TagNumber(2)
  void clearOName() => clearField(2);

  @$pb.TagNumber(3)
  $core.List<ToHisUserInfo> get list => $_getList(2);
}

class ToHisUserInfo extends $pb.GeneratedMessage {
  factory ToHisUserInfo({
    $core.int? gameId,
    $core.String? courseName,
    $core.String? actName,
    $core.bool? isComplete,
    $0.Timestamp? startAt,
    $2.Duration? duration,
  }) {
    final $result = create();
    if (gameId != null) {
      $result.gameId = gameId;
    }
    if (courseName != null) {
      $result.courseName = courseName;
    }
    if (actName != null) {
      $result.actName = actName;
    }
    if (isComplete != null) {
      $result.isComplete = isComplete;
    }
    if (startAt != null) {
      $result.startAt = startAt;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    return $result;
  }
  ToHisUserInfo._() : super();
  factory ToHisUserInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToHisUserInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToHisUserInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'GameId', $pb.PbFieldType.O3, protoName: 'GameId')
    ..aOS(2, _omitFieldNames ? '' : 'CourseName', protoName: 'CourseName')
    ..aOS(3, _omitFieldNames ? '' : 'ActName', protoName: 'ActName')
    ..aOB(4, _omitFieldNames ? '' : 'isComplete', protoName: 'isComplete')
    ..aOM<$0.Timestamp>(5, _omitFieldNames ? '' : 'startAt', subBuilder: $0.Timestamp.create)
    ..aOM<$2.Duration>(6, _omitFieldNames ? '' : 'duration', subBuilder: $2.Duration.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToHisUserInfo clone() => ToHisUserInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToHisUserInfo copyWith(void Function(ToHisUserInfo) updates) => super.copyWith((message) => updates(message as ToHisUserInfo)) as ToHisUserInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToHisUserInfo create() => ToHisUserInfo._();
  ToHisUserInfo createEmptyInstance() => create();
  static $pb.PbList<ToHisUserInfo> createRepeated() => $pb.PbList<ToHisUserInfo>();
  @$core.pragma('dart2js:noInline')
  static ToHisUserInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToHisUserInfo>(create);
  static ToHisUserInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get gameId => $_getIZ(0);
  @$pb.TagNumber(1)
  set gameId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasGameId() => $_has(0);
  @$pb.TagNumber(1)
  void clearGameId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get courseName => $_getSZ(1);
  @$pb.TagNumber(2)
  set courseName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasCourseName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCourseName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get actName => $_getSZ(2);
  @$pb.TagNumber(3)
  set actName($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasActName() => $_has(2);
  @$pb.TagNumber(3)
  void clearActName() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get isComplete => $_getBF(3);
  @$pb.TagNumber(4)
  set isComplete($core.bool v) { $_setBool(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasIsComplete() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsComplete() => clearField(4);

  @$pb.TagNumber(5)
  $0.Timestamp get startAt => $_getN(4);
  @$pb.TagNumber(5)
  set startAt($0.Timestamp v) { setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasStartAt() => $_has(4);
  @$pb.TagNumber(5)
  void clearStartAt() => clearField(5);
  @$pb.TagNumber(5)
  $0.Timestamp ensureStartAt() => $_ensure(4);

  @$pb.TagNumber(6)
  $2.Duration get duration => $_getN(5);
  @$pb.TagNumber(6)
  set duration($2.Duration v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasDuration() => $_has(5);
  @$pb.TagNumber(6)
  void clearDuration() => clearField(6);
  @$pb.TagNumber(6)
  $2.Duration ensureDuration() => $_ensure(5);
}

class ToUserInActionBasicQueryRequest extends $pb.GeneratedMessage {
  factory ToUserInActionBasicQueryRequest({
    $core.int? actId,
    $core.int? userId,
  }) {
    final $result = create();
    if (actId != null) {
      $result.actId = actId;
    }
    if (userId != null) {
      $result.userId = userId;
    }
    return $result;
  }
  ToUserInActionBasicQueryRequest._() : super();
  factory ToUserInActionBasicQueryRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToUserInActionBasicQueryRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToUserInActionBasicQueryRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'ActId', $pb.PbFieldType.O3, protoName: 'ActId')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'UserId', $pb.PbFieldType.O3, protoName: 'UserId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToUserInActionBasicQueryRequest clone() => ToUserInActionBasicQueryRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToUserInActionBasicQueryRequest copyWith(void Function(ToUserInActionBasicQueryRequest) updates) => super.copyWith((message) => updates(message as ToUserInActionBasicQueryRequest)) as ToUserInActionBasicQueryRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToUserInActionBasicQueryRequest create() => ToUserInActionBasicQueryRequest._();
  ToUserInActionBasicQueryRequest createEmptyInstance() => create();
  static $pb.PbList<ToUserInActionBasicQueryRequest> createRepeated() => $pb.PbList<ToUserInActionBasicQueryRequest>();
  @$core.pragma('dart2js:noInline')
  static ToUserInActionBasicQueryRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToUserInActionBasicQueryRequest>(create);
  static ToUserInActionBasicQueryRequest? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get actId => $_getIZ(0);
  @$pb.TagNumber(1)
  set actId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasActId() => $_has(0);
  @$pb.TagNumber(1)
  void clearActId() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get userId => $_getIZ(1);
  @$pb.TagNumber(2)
  set userId($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasUserId() => $_has(1);
  @$pb.TagNumber(2)
  void clearUserId() => clearField(2);
}

class ToGetBinaryByMd5Request extends $pb.GeneratedMessage {
  factory ToGetBinaryByMd5Request({
    $core.List<$core.int>? md5,
  }) {
    final $result = create();
    if (md5 != null) {
      $result.md5 = md5;
    }
    return $result;
  }
  ToGetBinaryByMd5Request._() : super();
  factory ToGetBinaryByMd5Request.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToGetBinaryByMd5Request.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToGetBinaryByMd5Request', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'md5', $pb.PbFieldType.OY)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToGetBinaryByMd5Request clone() => ToGetBinaryByMd5Request()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToGetBinaryByMd5Request copyWith(void Function(ToGetBinaryByMd5Request) updates) => super.copyWith((message) => updates(message as ToGetBinaryByMd5Request)) as ToGetBinaryByMd5Request;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToGetBinaryByMd5Request create() => ToGetBinaryByMd5Request._();
  ToGetBinaryByMd5Request createEmptyInstance() => create();
  static $pb.PbList<ToGetBinaryByMd5Request> createRepeated() => $pb.PbList<ToGetBinaryByMd5Request>();
  @$core.pragma('dart2js:noInline')
  static ToGetBinaryByMd5Request getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToGetBinaryByMd5Request>(create);
  static ToGetBinaryByMd5Request? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<$core.int> get md5 => $_getN(0);
  @$pb.TagNumber(1)
  set md5($core.List<$core.int> v) { $_setBytes(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasMd5() => $_has(0);
  @$pb.TagNumber(1)
  void clearMd5() => clearField(1);
}

class GetServerTimeRp extends $pb.GeneratedMessage {
  factory GetServerTimeRp({
    $fixnum.Int64? millisecondStamp,
  }) {
    final $result = create();
    if (millisecondStamp != null) {
      $result.millisecondStamp = millisecondStamp;
    }
    return $result;
  }
  GetServerTimeRp._() : super();
  factory GetServerTimeRp.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GetServerTimeRp.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetServerTimeRp', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'millisecondStamp', protoName: 'millisecondStamp')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GetServerTimeRp clone() => GetServerTimeRp()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GetServerTimeRp copyWith(void Function(GetServerTimeRp) updates) => super.copyWith((message) => updates(message as GetServerTimeRp)) as GetServerTimeRp;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GetServerTimeRp create() => GetServerTimeRp._();
  GetServerTimeRp createEmptyInstance() => create();
  static $pb.PbList<GetServerTimeRp> createRepeated() => $pb.PbList<GetServerTimeRp>();
  @$core.pragma('dart2js:noInline')
  static GetServerTimeRp getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetServerTimeRp>(create);
  static GetServerTimeRp? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get millisecondStamp => $_getI64(0);
  @$pb.TagNumber(1)
  set millisecondStamp($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasMillisecondStamp() => $_has(0);
  @$pb.TagNumber(1)
  void clearMillisecondStamp() => clearField(1);
}

class ToSendCodeToPhoneRequestV2 extends $pb.GeneratedMessage {
  factory ToSendCodeToPhoneRequestV2({
    $core.String? phone,
    SmsType? smsType,
  }) {
    final $result = create();
    if (phone != null) {
      $result.phone = phone;
    }
    if (smsType != null) {
      $result.smsType = smsType;
    }
    return $result;
  }
  ToSendCodeToPhoneRequestV2._() : super();
  factory ToSendCodeToPhoneRequestV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToSendCodeToPhoneRequestV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToSendCodeToPhoneRequestV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'phone')
    ..e<SmsType>(2, _omitFieldNames ? '' : 'smsType', $pb.PbFieldType.OE, protoName: 'smsType', defaultOrMaker: SmsType.UnKnow, valueOf: SmsType.valueOf, enumValues: SmsType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToSendCodeToPhoneRequestV2 clone() => ToSendCodeToPhoneRequestV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToSendCodeToPhoneRequestV2 copyWith(void Function(ToSendCodeToPhoneRequestV2) updates) => super.copyWith((message) => updates(message as ToSendCodeToPhoneRequestV2)) as ToSendCodeToPhoneRequestV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToSendCodeToPhoneRequestV2 create() => ToSendCodeToPhoneRequestV2._();
  ToSendCodeToPhoneRequestV2 createEmptyInstance() => create();
  static $pb.PbList<ToSendCodeToPhoneRequestV2> createRepeated() => $pb.PbList<ToSendCodeToPhoneRequestV2>();
  @$core.pragma('dart2js:noInline')
  static ToSendCodeToPhoneRequestV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToSendCodeToPhoneRequestV2>(create);
  static ToSendCodeToPhoneRequestV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get phone => $_getSZ(0);
  @$pb.TagNumber(1)
  set phone($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasPhone() => $_has(0);
  @$pb.TagNumber(1)
  void clearPhone() => clearField(1);

  @$pb.TagNumber(2)
  SmsType get smsType => $_getN(1);
  @$pb.TagNumber(2)
  set smsType(SmsType v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasSmsType() => $_has(1);
  @$pb.TagNumber(2)
  void clearSmsType() => clearField(2);
}

class ToSignInRequestV2 extends $pb.GeneratedMessage {
  factory ToSignInRequestV2({
    $core.String? userCode,
    $core.String? password,
    $core.String? ip,
  }) {
    final $result = create();
    if (userCode != null) {
      $result.userCode = userCode;
    }
    if (password != null) {
      $result.password = password;
    }
    if (ip != null) {
      $result.ip = ip;
    }
    return $result;
  }
  ToSignInRequestV2._() : super();
  factory ToSignInRequestV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToSignInRequestV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToSignInRequestV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'userCode', protoName: 'userCode')
    ..aOS(2, _omitFieldNames ? '' : 'password')
    ..aOS(3, _omitFieldNames ? '' : 'ip')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToSignInRequestV2 clone() => ToSignInRequestV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToSignInRequestV2 copyWith(void Function(ToSignInRequestV2) updates) => super.copyWith((message) => updates(message as ToSignInRequestV2)) as ToSignInRequestV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToSignInRequestV2 create() => ToSignInRequestV2._();
  ToSignInRequestV2 createEmptyInstance() => create();
  static $pb.PbList<ToSignInRequestV2> createRepeated() => $pb.PbList<ToSignInRequestV2>();
  @$core.pragma('dart2js:noInline')
  static ToSignInRequestV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToSignInRequestV2>(create);
  static ToSignInRequestV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get userCode => $_getSZ(0);
  @$pb.TagNumber(1)
  set userCode($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasUserCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearUserCode() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get password => $_getSZ(1);
  @$pb.TagNumber(2)
  set password($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasPassword() => $_has(1);
  @$pb.TagNumber(2)
  void clearPassword() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get ip => $_getSZ(2);
  @$pb.TagNumber(3)
  set ip($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasIp() => $_has(2);
  @$pb.TagNumber(3)
  void clearIp() => clearField(3);
}

class MapListRequestV2 extends $pb.GeneratedMessage {
  factory MapListRequestV2({
    Position? position,
    $core.int? offset,
    $core.int? limit,
  }) {
    final $result = create();
    if (position != null) {
      $result.position = position;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (limit != null) {
      $result.limit = limit;
    }
    return $result;
  }
  MapListRequestV2._() : super();
  factory MapListRequestV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory MapListRequestV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MapListRequestV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOM<Position>(1, _omitFieldNames ? '' : 'position', subBuilder: Position.create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'limit', $pb.PbFieldType.O3)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  MapListRequestV2 clone() => MapListRequestV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  MapListRequestV2 copyWith(void Function(MapListRequestV2) updates) => super.copyWith((message) => updates(message as MapListRequestV2)) as MapListRequestV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MapListRequestV2 create() => MapListRequestV2._();
  MapListRequestV2 createEmptyInstance() => create();
  static $pb.PbList<MapListRequestV2> createRepeated() => $pb.PbList<MapListRequestV2>();
  @$core.pragma('dart2js:noInline')
  static MapListRequestV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MapListRequestV2>(create);
  static MapListRequestV2? _defaultInstance;

  @$pb.TagNumber(1)
  Position get position => $_getN(0);
  @$pb.TagNumber(1)
  set position(Position v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasPosition() => $_has(0);
  @$pb.TagNumber(1)
  void clearPosition() => clearField(1);
  @$pb.TagNumber(1)
  Position ensurePosition() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.int get offset => $_getIZ(1);
  @$pb.TagNumber(2)
  set offset($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get limit => $_getIZ(2);
  @$pb.TagNumber(3)
  set limit($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasLimit() => $_has(2);
  @$pb.TagNumber(3)
  void clearLimit() => clearField(3);
}

class ToMapListReplyV2 extends $pb.GeneratedMessage {
  factory ToMapListReplyV2({
    $core.Iterable<ToMapSimpleV2>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ToMapListReplyV2._() : super();
  factory ToMapListReplyV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToMapListReplyV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToMapListReplyV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<ToMapSimpleV2>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: ToMapSimpleV2.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToMapListReplyV2 clone() => ToMapListReplyV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToMapListReplyV2 copyWith(void Function(ToMapListReplyV2) updates) => super.copyWith((message) => updates(message as ToMapListReplyV2)) as ToMapListReplyV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToMapListReplyV2 create() => ToMapListReplyV2._();
  ToMapListReplyV2 createEmptyInstance() => create();
  static $pb.PbList<ToMapListReplyV2> createRepeated() => $pb.PbList<ToMapListReplyV2>();
  @$core.pragma('dart2js:noInline')
  static ToMapListReplyV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToMapListReplyV2>(create);
  static ToMapListReplyV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<ToMapSimpleV2> get list => $_getList(0);
}

class ToMapSimpleV2 extends $pb.GeneratedMessage {
  factory ToMapSimpleV2({
    $core.int? mapId,
    $core.String? name,
    $core.int? mapScaleNumber,
    $core.String? description,
    $core.double? distance,
    NetImage? image,
  }) {
    final $result = create();
    if (mapId != null) {
      $result.mapId = mapId;
    }
    if (name != null) {
      $result.name = name;
    }
    if (mapScaleNumber != null) {
      $result.mapScaleNumber = mapScaleNumber;
    }
    if (description != null) {
      $result.description = description;
    }
    if (distance != null) {
      $result.distance = distance;
    }
    if (image != null) {
      $result.image = image;
    }
    return $result;
  }
  ToMapSimpleV2._() : super();
  factory ToMapSimpleV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToMapSimpleV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToMapSimpleV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'mapId', $pb.PbFieldType.O3, protoName: 'mapId')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'mapScaleNumber', $pb.PbFieldType.O3, protoName: 'mapScaleNumber')
    ..aOS(4, _omitFieldNames ? '' : 'description')
    ..a<$core.double>(5, _omitFieldNames ? '' : 'distance', $pb.PbFieldType.OD)
    ..aOM<NetImage>(6, _omitFieldNames ? '' : 'image', subBuilder: NetImage.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToMapSimpleV2 clone() => ToMapSimpleV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToMapSimpleV2 copyWith(void Function(ToMapSimpleV2) updates) => super.copyWith((message) => updates(message as ToMapSimpleV2)) as ToMapSimpleV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToMapSimpleV2 create() => ToMapSimpleV2._();
  ToMapSimpleV2 createEmptyInstance() => create();
  static $pb.PbList<ToMapSimpleV2> createRepeated() => $pb.PbList<ToMapSimpleV2>();
  @$core.pragma('dart2js:noInline')
  static ToMapSimpleV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToMapSimpleV2>(create);
  static ToMapSimpleV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get mapId => $_getIZ(0);
  @$pb.TagNumber(1)
  set mapId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasMapId() => $_has(0);
  @$pb.TagNumber(1)
  void clearMapId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get mapScaleNumber => $_getIZ(2);
  @$pb.TagNumber(3)
  set mapScaleNumber($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasMapScaleNumber() => $_has(2);
  @$pb.TagNumber(3)
  void clearMapScaleNumber() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get description => $_getSZ(3);
  @$pb.TagNumber(4)
  set description($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasDescription() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescription() => clearField(4);

  @$pb.TagNumber(5)
  $core.double get distance => $_getN(4);
  @$pb.TagNumber(5)
  set distance($core.double v) { $_setDouble(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasDistance() => $_has(4);
  @$pb.TagNumber(5)
  void clearDistance() => clearField(5);

  @$pb.TagNumber(6)
  NetImage get image => $_getN(5);
  @$pb.TagNumber(6)
  set image(NetImage v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasImage() => $_has(5);
  @$pb.TagNumber(6)
  void clearImage() => clearField(6);
  @$pb.TagNumber(6)
  NetImage ensureImage() => $_ensure(5);
}

/// 地图自身信息
class ToMapInfoV2 extends $pb.GeneratedMessage {
  factory ToMapInfoV2({
    $core.int? mapId,
    $core.String? mapName,
    NetImage? zipImage,
  }) {
    final $result = create();
    if (mapId != null) {
      $result.mapId = mapId;
    }
    if (mapName != null) {
      $result.mapName = mapName;
    }
    if (zipImage != null) {
      $result.zipImage = zipImage;
    }
    return $result;
  }
  ToMapInfoV2._() : super();
  factory ToMapInfoV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToMapInfoV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToMapInfoV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'mapId', $pb.PbFieldType.O3, protoName: 'mapId')
    ..aOS(2, _omitFieldNames ? '' : 'mapName', protoName: 'mapName')
    ..aOM<NetImage>(3, _omitFieldNames ? '' : 'zipImage', protoName: 'zipImage', subBuilder: NetImage.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToMapInfoV2 clone() => ToMapInfoV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToMapInfoV2 copyWith(void Function(ToMapInfoV2) updates) => super.copyWith((message) => updates(message as ToMapInfoV2)) as ToMapInfoV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToMapInfoV2 create() => ToMapInfoV2._();
  ToMapInfoV2 createEmptyInstance() => create();
  static $pb.PbList<ToMapInfoV2> createRepeated() => $pb.PbList<ToMapInfoV2>();
  @$core.pragma('dart2js:noInline')
  static ToMapInfoV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToMapInfoV2>(create);
  static ToMapInfoV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get mapId => $_getIZ(0);
  @$pb.TagNumber(1)
  set mapId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasMapId() => $_has(0);
  @$pb.TagNumber(1)
  void clearMapId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get mapName => $_getSZ(1);
  @$pb.TagNumber(2)
  set mapName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasMapName() => $_has(1);
  @$pb.TagNumber(2)
  void clearMapName() => clearField(2);

  @$pb.TagNumber(3)
  NetImage get zipImage => $_getN(2);
  @$pb.TagNumber(3)
  set zipImage(NetImage v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasZipImage() => $_has(2);
  @$pb.TagNumber(3)
  void clearZipImage() => clearField(3);
  @$pb.TagNumber(3)
  NetImage ensureZipImage() => $_ensure(2);
}

class ToUserDetailQueryRequestV2 extends $pb.GeneratedMessage {
  factory ToUserDetailQueryRequestV2({
    $core.int? mapId,
  }) {
    final $result = create();
    if (mapId != null) {
      $result.mapId = mapId;
    }
    return $result;
  }
  ToUserDetailQueryRequestV2._() : super();
  factory ToUserDetailQueryRequestV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToUserDetailQueryRequestV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToUserDetailQueryRequestV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'mapId', $pb.PbFieldType.O3, protoName: 'mapId')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToUserDetailQueryRequestV2 clone() => ToUserDetailQueryRequestV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToUserDetailQueryRequestV2 copyWith(void Function(ToUserDetailQueryRequestV2) updates) => super.copyWith((message) => updates(message as ToUserDetailQueryRequestV2)) as ToUserDetailQueryRequestV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToUserDetailQueryRequestV2 create() => ToUserDetailQueryRequestV2._();
  ToUserDetailQueryRequestV2 createEmptyInstance() => create();
  static $pb.PbList<ToUserDetailQueryRequestV2> createRepeated() => $pb.PbList<ToUserDetailQueryRequestV2>();
  @$core.pragma('dart2js:noInline')
  static ToUserDetailQueryRequestV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToUserDetailQueryRequestV2>(create);
  static ToUserDetailQueryRequestV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get mapId => $_getIZ(0);
  @$pb.TagNumber(1)
  set mapId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasMapId() => $_has(0);
  @$pb.TagNumber(1)
  void clearMapId() => clearField(1);
}

class ToUserDetailQueryReplyV2 extends $pb.GeneratedMessage {
  factory ToUserDetailQueryReplyV2({
    $core.Iterable<ToActionInfo>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ToUserDetailQueryReplyV2._() : super();
  factory ToUserDetailQueryReplyV2.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToUserDetailQueryReplyV2.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToUserDetailQueryReplyV2', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<ToActionInfo>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: ToActionInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToUserDetailQueryReplyV2 clone() => ToUserDetailQueryReplyV2()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToUserDetailQueryReplyV2 copyWith(void Function(ToUserDetailQueryReplyV2) updates) => super.copyWith((message) => updates(message as ToUserDetailQueryReplyV2)) as ToUserDetailQueryReplyV2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToUserDetailQueryReplyV2 create() => ToUserDetailQueryReplyV2._();
  ToUserDetailQueryReplyV2 createEmptyInstance() => create();
  static $pb.PbList<ToUserDetailQueryReplyV2> createRepeated() => $pb.PbList<ToUserDetailQueryReplyV2>();
  @$core.pragma('dart2js:noInline')
  static ToUserDetailQueryReplyV2 getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToUserDetailQueryReplyV2>(create);
  static ToUserDetailQueryReplyV2? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<ToActionInfo> get list => $_getList(0);
}

class ToActionInfo extends $pb.GeneratedMessage {
  factory ToActionInfo({
    $core.int? actId,
    $core.Iterable<ToOrienteerInGameInfo>? userList,
  }) {
    final $result = create();
    if (actId != null) {
      $result.actId = actId;
    }
    if (userList != null) {
      $result.userList.addAll(userList);
    }
    return $result;
  }
  ToActionInfo._() : super();
  factory ToActionInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActionInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActionInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'actId', $pb.PbFieldType.O3, protoName: 'actId')
    ..pc<ToOrienteerInGameInfo>(4, _omitFieldNames ? '' : 'userList', $pb.PbFieldType.PM, protoName: 'userList', subBuilder: ToOrienteerInGameInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActionInfo clone() => ToActionInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActionInfo copyWith(void Function(ToActionInfo) updates) => super.copyWith((message) => updates(message as ToActionInfo)) as ToActionInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActionInfo create() => ToActionInfo._();
  ToActionInfo createEmptyInstance() => create();
  static $pb.PbList<ToActionInfo> createRepeated() => $pb.PbList<ToActionInfo>();
  @$core.pragma('dart2js:noInline')
  static ToActionInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActionInfo>(create);
  static ToActionInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get actId => $_getIZ(0);
  @$pb.TagNumber(1)
  set actId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasActId() => $_has(0);
  @$pb.TagNumber(1)
  void clearActId() => clearField(1);

  ///   string actName = 2; //活动名称 ，isFullQuery为False时为空
  ///  int32  totalControlNum = 3; //控制点数量,不包含开始点结束点，isFullQuery为False时为空
  @$pb.TagNumber(4)
  $core.List<ToOrienteerInGameInfo> get userList => $_getList(1);
}

/// 活动基本信息
class ToActionBasicInfo extends $pb.GeneratedMessage {
  factory ToActionBasicInfo({
    $core.int? actId,
    $core.String? actName,
    $core.int? totalControlNum,
    $core.int? state,
    $core.String? matchBt,
    $core.String? matchEt,
  }) {
    final $result = create();
    if (actId != null) {
      $result.actId = actId;
    }
    if (actName != null) {
      $result.actName = actName;
    }
    if (totalControlNum != null) {
      $result.totalControlNum = totalControlNum;
    }
    if (state != null) {
      $result.state = state;
    }
    if (matchBt != null) {
      $result.matchBt = matchBt;
    }
    if (matchEt != null) {
      $result.matchEt = matchEt;
    }
    return $result;
  }
  ToActionBasicInfo._() : super();
  factory ToActionBasicInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToActionBasicInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToActionBasicInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'actId', $pb.PbFieldType.O3, protoName: 'actId')
    ..aOS(2, _omitFieldNames ? '' : 'actName', protoName: 'actName')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'totalControlNum', $pb.PbFieldType.O3, protoName: 'totalControlNum')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'state', $pb.PbFieldType.O3)
    ..aOS(5, _omitFieldNames ? '' : 'MatchBt', protoName: 'MatchBt')
    ..aOS(6, _omitFieldNames ? '' : 'MatchEt', protoName: 'MatchEt')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToActionBasicInfo clone() => ToActionBasicInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToActionBasicInfo copyWith(void Function(ToActionBasicInfo) updates) => super.copyWith((message) => updates(message as ToActionBasicInfo)) as ToActionBasicInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToActionBasicInfo create() => ToActionBasicInfo._();
  ToActionBasicInfo createEmptyInstance() => create();
  static $pb.PbList<ToActionBasicInfo> createRepeated() => $pb.PbList<ToActionBasicInfo>();
  @$core.pragma('dart2js:noInline')
  static ToActionBasicInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToActionBasicInfo>(create);
  static ToActionBasicInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get actId => $_getIZ(0);
  @$pb.TagNumber(1)
  set actId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasActId() => $_has(0);
  @$pb.TagNumber(1)
  void clearActId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get actName => $_getSZ(1);
  @$pb.TagNumber(2)
  set actName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasActName() => $_has(1);
  @$pb.TagNumber(2)
  void clearActName() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get totalControlNum => $_getIZ(2);
  @$pb.TagNumber(3)
  set totalControlNum($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasTotalControlNum() => $_has(2);
  @$pb.TagNumber(3)
  void clearTotalControlNum() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get state => $_getIZ(3);
  @$pb.TagNumber(4)
  set state($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasState() => $_has(3);
  @$pb.TagNumber(4)
  void clearState() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get matchBt => $_getSZ(4);
  @$pb.TagNumber(5)
  set matchBt($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasMatchBt() => $_has(4);
  @$pb.TagNumber(5)
  void clearMatchBt() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get matchEt => $_getSZ(5);
  @$pb.TagNumber(6)
  set matchEt($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasMatchEt() => $_has(5);
  @$pb.TagNumber(6)
  void clearMatchEt() => clearField(6);
}

class ToOrienteerInGameInfo extends $pb.GeneratedMessage {
  factory ToOrienteerInGameInfo({
    $core.int? userId,
    OrienteerGpsInfo? gpsInfo,
    OrienteerHrInfo? hrInfo,
    OrienteerGameSaveInfo? gameSaveInfo,
    OrienteerOtherInfo? otherInfo,
  }) {
    final $result = create();
    if (userId != null) {
      $result.userId = userId;
    }
    if (gpsInfo != null) {
      $result.gpsInfo = gpsInfo;
    }
    if (hrInfo != null) {
      $result.hrInfo = hrInfo;
    }
    if (gameSaveInfo != null) {
      $result.gameSaveInfo = gameSaveInfo;
    }
    if (otherInfo != null) {
      $result.otherInfo = otherInfo;
    }
    return $result;
  }
  ToOrienteerInGameInfo._() : super();
  factory ToOrienteerInGameInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToOrienteerInGameInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToOrienteerInGameInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'UserId', $pb.PbFieldType.O3, protoName: 'UserId')
    ..aOM<OrienteerGpsInfo>(3, _omitFieldNames ? '' : 'gpsInfo', protoName: 'gpsInfo', subBuilder: OrienteerGpsInfo.create)
    ..aOM<OrienteerHrInfo>(4, _omitFieldNames ? '' : 'hrInfo', protoName: 'hrInfo', subBuilder: OrienteerHrInfo.create)
    ..aOM<OrienteerGameSaveInfo>(5, _omitFieldNames ? '' : 'gameSaveInfo', protoName: 'gameSaveInfo', subBuilder: OrienteerGameSaveInfo.create)
    ..aOM<OrienteerOtherInfo>(7, _omitFieldNames ? '' : 'otherInfo', protoName: 'otherInfo', subBuilder: OrienteerOtherInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToOrienteerInGameInfo clone() => ToOrienteerInGameInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToOrienteerInGameInfo copyWith(void Function(ToOrienteerInGameInfo) updates) => super.copyWith((message) => updates(message as ToOrienteerInGameInfo)) as ToOrienteerInGameInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToOrienteerInGameInfo create() => ToOrienteerInGameInfo._();
  ToOrienteerInGameInfo createEmptyInstance() => create();
  static $pb.PbList<ToOrienteerInGameInfo> createRepeated() => $pb.PbList<ToOrienteerInGameInfo>();
  @$core.pragma('dart2js:noInline')
  static ToOrienteerInGameInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToOrienteerInGameInfo>(create);
  static ToOrienteerInGameInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get userId => $_getIZ(0);
  @$pb.TagNumber(1)
  set userId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasUserId() => $_has(0);
  @$pb.TagNumber(1)
  void clearUserId() => clearField(1);

  /// OrienteerBaseInfo baseInfo = 2; //用户基本信息，isFullQuery为False时为空
  @$pb.TagNumber(3)
  OrienteerGpsInfo get gpsInfo => $_getN(1);
  @$pb.TagNumber(3)
  set gpsInfo(OrienteerGpsInfo v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasGpsInfo() => $_has(1);
  @$pb.TagNumber(3)
  void clearGpsInfo() => clearField(3);
  @$pb.TagNumber(3)
  OrienteerGpsInfo ensureGpsInfo() => $_ensure(1);

  @$pb.TagNumber(4)
  OrienteerHrInfo get hrInfo => $_getN(2);
  @$pb.TagNumber(4)
  set hrInfo(OrienteerHrInfo v) { setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasHrInfo() => $_has(2);
  @$pb.TagNumber(4)
  void clearHrInfo() => clearField(4);
  @$pb.TagNumber(4)
  OrienteerHrInfo ensureHrInfo() => $_ensure(2);

  @$pb.TagNumber(5)
  OrienteerGameSaveInfo get gameSaveInfo => $_getN(3);
  @$pb.TagNumber(5)
  set gameSaveInfo(OrienteerGameSaveInfo v) { setField(5, v); }
  @$pb.TagNumber(5)
  $core.bool hasGameSaveInfo() => $_has(3);
  @$pb.TagNumber(5)
  void clearGameSaveInfo() => clearField(5);
  @$pb.TagNumber(5)
  OrienteerGameSaveInfo ensureGameSaveInfo() => $_ensure(3);

  /// CourseBaseInfo  courseBaseInfo = 6;//路线基本信息，isFullQuery为False时为空
  @$pb.TagNumber(7)
  OrienteerOtherInfo get otherInfo => $_getN(4);
  @$pb.TagNumber(7)
  set otherInfo(OrienteerOtherInfo v) { setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasOtherInfo() => $_has(4);
  @$pb.TagNumber(7)
  void clearOtherInfo() => clearField(7);
  @$pb.TagNumber(7)
  OrienteerOtherInfo ensureOtherInfo() => $_ensure(4);
}

/// 用户基本信息
class ToUserInActionBasicInfo extends $pb.GeneratedMessage {
  factory ToUserInActionBasicInfo({
    $core.int? userId,
    OrienteerBaseInfo? baseInfo,
    CourseBaseInfo? courseBaseInfo,
  }) {
    final $result = create();
    if (userId != null) {
      $result.userId = userId;
    }
    if (baseInfo != null) {
      $result.baseInfo = baseInfo;
    }
    if (courseBaseInfo != null) {
      $result.courseBaseInfo = courseBaseInfo;
    }
    return $result;
  }
  ToUserInActionBasicInfo._() : super();
  factory ToUserInActionBasicInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToUserInActionBasicInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToUserInActionBasicInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'UserId', $pb.PbFieldType.O3, protoName: 'UserId')
    ..aOM<OrienteerBaseInfo>(2, _omitFieldNames ? '' : 'baseInfo', protoName: 'baseInfo', subBuilder: OrienteerBaseInfo.create)
    ..aOM<CourseBaseInfo>(6, _omitFieldNames ? '' : 'courseBaseInfo', protoName: 'courseBaseInfo', subBuilder: CourseBaseInfo.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToUserInActionBasicInfo clone() => ToUserInActionBasicInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToUserInActionBasicInfo copyWith(void Function(ToUserInActionBasicInfo) updates) => super.copyWith((message) => updates(message as ToUserInActionBasicInfo)) as ToUserInActionBasicInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToUserInActionBasicInfo create() => ToUserInActionBasicInfo._();
  ToUserInActionBasicInfo createEmptyInstance() => create();
  static $pb.PbList<ToUserInActionBasicInfo> createRepeated() => $pb.PbList<ToUserInActionBasicInfo>();
  @$core.pragma('dart2js:noInline')
  static ToUserInActionBasicInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToUserInActionBasicInfo>(create);
  static ToUserInActionBasicInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get userId => $_getIZ(0);
  @$pb.TagNumber(1)
  set userId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasUserId() => $_has(0);
  @$pb.TagNumber(1)
  void clearUserId() => clearField(1);

  @$pb.TagNumber(2)
  OrienteerBaseInfo get baseInfo => $_getN(1);
  @$pb.TagNumber(2)
  set baseInfo(OrienteerBaseInfo v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasBaseInfo() => $_has(1);
  @$pb.TagNumber(2)
  void clearBaseInfo() => clearField(2);
  @$pb.TagNumber(2)
  OrienteerBaseInfo ensureBaseInfo() => $_ensure(1);

  @$pb.TagNumber(6)
  CourseBaseInfo get courseBaseInfo => $_getN(2);
  @$pb.TagNumber(6)
  set courseBaseInfo(CourseBaseInfo v) { setField(6, v); }
  @$pb.TagNumber(6)
  $core.bool hasCourseBaseInfo() => $_has(2);
  @$pb.TagNumber(6)
  void clearCourseBaseInfo() => clearField(6);
  @$pb.TagNumber(6)
  CourseBaseInfo ensureCourseBaseInfo() => $_ensure(2);
}

class OrienteerBaseInfo extends $pb.GeneratedMessage {
  factory OrienteerBaseInfo({
    $core.String? name,
    $core.String? phone,
    $core.String? headUrl,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (phone != null) {
      $result.phone = phone;
    }
    if (headUrl != null) {
      $result.headUrl = headUrl;
    }
    return $result;
  }
  OrienteerBaseInfo._() : super();
  factory OrienteerBaseInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerBaseInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerBaseInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(2, _omitFieldNames ? '' : 'Phone', protoName: 'Phone')
    ..aOS(3, _omitFieldNames ? '' : 'HeadUrl', protoName: 'HeadUrl')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerBaseInfo clone() => OrienteerBaseInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerBaseInfo copyWith(void Function(OrienteerBaseInfo) updates) => super.copyWith((message) => updates(message as OrienteerBaseInfo)) as OrienteerBaseInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerBaseInfo create() => OrienteerBaseInfo._();
  OrienteerBaseInfo createEmptyInstance() => create();
  static $pb.PbList<OrienteerBaseInfo> createRepeated() => $pb.PbList<OrienteerBaseInfo>();
  @$core.pragma('dart2js:noInline')
  static OrienteerBaseInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerBaseInfo>(create);
  static OrienteerBaseInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get phone => $_getSZ(1);
  @$pb.TagNumber(2)
  set phone($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasPhone() => $_has(1);
  @$pb.TagNumber(2)
  void clearPhone() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get headUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set headUrl($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasHeadUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearHeadUrl() => clearField(3);
}

class OrienteerGpsInfo extends $pb.GeneratedMessage {
  factory OrienteerGpsInfo({
    $core.Iterable<GameGpsInfo>? gameGpsInfos,
    $core.int? distance,
    $core.int? pace,
  }) {
    final $result = create();
    if (gameGpsInfos != null) {
      $result.gameGpsInfos.addAll(gameGpsInfos);
    }
    if (distance != null) {
      $result.distance = distance;
    }
    if (pace != null) {
      $result.pace = pace;
    }
    return $result;
  }
  OrienteerGpsInfo._() : super();
  factory OrienteerGpsInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerGpsInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerGpsInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<GameGpsInfo>(1, _omitFieldNames ? '' : 'gameGpsInfos', $pb.PbFieldType.PM, protoName: 'gameGpsInfos', subBuilder: GameGpsInfo.create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'Distance', $pb.PbFieldType.O3, protoName: 'Distance')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'Pace', $pb.PbFieldType.O3, protoName: 'Pace')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerGpsInfo clone() => OrienteerGpsInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerGpsInfo copyWith(void Function(OrienteerGpsInfo) updates) => super.copyWith((message) => updates(message as OrienteerGpsInfo)) as OrienteerGpsInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerGpsInfo create() => OrienteerGpsInfo._();
  OrienteerGpsInfo createEmptyInstance() => create();
  static $pb.PbList<OrienteerGpsInfo> createRepeated() => $pb.PbList<OrienteerGpsInfo>();
  @$core.pragma('dart2js:noInline')
  static OrienteerGpsInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerGpsInfo>(create);
  static OrienteerGpsInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<GameGpsInfo> get gameGpsInfos => $_getList(0);

  @$pb.TagNumber(2)
  $core.int get distance => $_getIZ(1);
  @$pb.TagNumber(2)
  set distance($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDistance() => $_has(1);
  @$pb.TagNumber(2)
  void clearDistance() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get pace => $_getIZ(2);
  @$pb.TagNumber(3)
  set pace($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasPace() => $_has(2);
  @$pb.TagNumber(3)
  void clearPace() => clearField(3);
}

class OrienteerHrInfo extends $pb.GeneratedMessage {
  factory OrienteerHrInfo({
    $core.Iterable<HeartRate>? hrInfo,
  }) {
    final $result = create();
    if (hrInfo != null) {
      $result.hrInfo.addAll(hrInfo);
    }
    return $result;
  }
  OrienteerHrInfo._() : super();
  factory OrienteerHrInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerHrInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerHrInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..pc<HeartRate>(1, _omitFieldNames ? '' : 'hrInfo', $pb.PbFieldType.PM, protoName: 'hrInfo', subBuilder: HeartRate.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerHrInfo clone() => OrienteerHrInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerHrInfo copyWith(void Function(OrienteerHrInfo) updates) => super.copyWith((message) => updates(message as OrienteerHrInfo)) as OrienteerHrInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerHrInfo create() => OrienteerHrInfo._();
  OrienteerHrInfo createEmptyInstance() => create();
  static $pb.PbList<OrienteerHrInfo> createRepeated() => $pb.PbList<OrienteerHrInfo>();
  @$core.pragma('dart2js:noInline')
  static OrienteerHrInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerHrInfo>(create);
  static OrienteerHrInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<HeartRate> get hrInfo => $_getList(0);
}

class OrienteerOtherInfo extends $pb.GeneratedMessage {
  factory OrienteerOtherInfo({
    $core.int? stepNum,
    $core.int? heartRatePercent,
  }) {
    final $result = create();
    if (stepNum != null) {
      $result.stepNum = stepNum;
    }
    if (heartRatePercent != null) {
      $result.heartRatePercent = heartRatePercent;
    }
    return $result;
  }
  OrienteerOtherInfo._() : super();
  factory OrienteerOtherInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerOtherInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerOtherInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'StepNum', $pb.PbFieldType.O3, protoName: 'StepNum')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'HeartRatePercent', $pb.PbFieldType.O3, protoName: 'HeartRatePercent')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerOtherInfo clone() => OrienteerOtherInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerOtherInfo copyWith(void Function(OrienteerOtherInfo) updates) => super.copyWith((message) => updates(message as OrienteerOtherInfo)) as OrienteerOtherInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerOtherInfo create() => OrienteerOtherInfo._();
  OrienteerOtherInfo createEmptyInstance() => create();
  static $pb.PbList<OrienteerOtherInfo> createRepeated() => $pb.PbList<OrienteerOtherInfo>();
  @$core.pragma('dart2js:noInline')
  static OrienteerOtherInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerOtherInfo>(create);
  static OrienteerOtherInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get stepNum => $_getIZ(0);
  @$pb.TagNumber(1)
  set stepNum($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasStepNum() => $_has(0);
  @$pb.TagNumber(1)
  void clearStepNum() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get heartRatePercent => $_getIZ(1);
  @$pb.TagNumber(2)
  set heartRatePercent($core.int v) { $_setSignedInt32(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasHeartRatePercent() => $_has(1);
  @$pb.TagNumber(2)
  void clearHeartRatePercent() => clearField(2);
}

class CourseBaseInfo extends $pb.GeneratedMessage {
  factory CourseBaseInfo({
    $core.int? courseId,
    $core.String? courseName,
    $core.Iterable<ToControlPoint>? controlPointSortedList,
  }) {
    final $result = create();
    if (courseId != null) {
      $result.courseId = courseId;
    }
    if (courseName != null) {
      $result.courseName = courseName;
    }
    if (controlPointSortedList != null) {
      $result.controlPointSortedList.addAll(controlPointSortedList);
    }
    return $result;
  }
  CourseBaseInfo._() : super();
  factory CourseBaseInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CourseBaseInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CourseBaseInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'CourseId', $pb.PbFieldType.O3, protoName: 'CourseId')
    ..aOS(2, _omitFieldNames ? '' : 'CourseName', protoName: 'CourseName')
    ..pc<ToControlPoint>(3, _omitFieldNames ? '' : 'controlPointSortedList', $pb.PbFieldType.PM, protoName: 'controlPointSortedList', subBuilder: ToControlPoint.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CourseBaseInfo clone() => CourseBaseInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CourseBaseInfo copyWith(void Function(CourseBaseInfo) updates) => super.copyWith((message) => updates(message as CourseBaseInfo)) as CourseBaseInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CourseBaseInfo create() => CourseBaseInfo._();
  CourseBaseInfo createEmptyInstance() => create();
  static $pb.PbList<CourseBaseInfo> createRepeated() => $pb.PbList<CourseBaseInfo>();
  @$core.pragma('dart2js:noInline')
  static CourseBaseInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CourseBaseInfo>(create);
  static CourseBaseInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get courseId => $_getIZ(0);
  @$pb.TagNumber(1)
  set courseId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCourseId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCourseId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get courseName => $_getSZ(1);
  @$pb.TagNumber(2)
  set courseName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasCourseName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCourseName() => clearField(2);

  @$pb.TagNumber(3)
  $core.List<ToControlPoint> get controlPointSortedList => $_getList(2);
}

class CourseBase extends $pb.GeneratedMessage {
  factory CourseBase({
    $core.int? cId,
    $core.String? cName,
  }) {
    final $result = create();
    if (cId != null) {
      $result.cId = cId;
    }
    if (cName != null) {
      $result.cName = cName;
    }
    return $result;
  }
  CourseBase._() : super();
  factory CourseBase.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CourseBase.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CourseBase', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'cId', $pb.PbFieldType.O3, protoName: 'cId')
    ..aOS(2, _omitFieldNames ? '' : 'cName', protoName: 'cName')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CourseBase clone() => CourseBase()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CourseBase copyWith(void Function(CourseBase) updates) => super.copyWith((message) => updates(message as CourseBase)) as CourseBase;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CourseBase create() => CourseBase._();
  CourseBase createEmptyInstance() => create();
  static $pb.PbList<CourseBase> createRepeated() => $pb.PbList<CourseBase>();
  @$core.pragma('dart2js:noInline')
  static CourseBase getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CourseBase>(create);
  static CourseBase? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get cId => $_getIZ(0);
  @$pb.TagNumber(1)
  set cId($core.int v) { $_setSignedInt32(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get cName => $_getSZ(1);
  @$pb.TagNumber(2)
  set cName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasCName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCName() => clearField(2);
}

class ToControlPoint extends $pb.GeneratedMessage {
  factory ToControlPoint({
    $fixnum.Int64? id,
    $core.String? sn,
    Position? ciPosition,
    CType? cType,
    $core.int? orderNo,
    $core.bool? isCheckSuccess,
    $2.Duration? checkAfterLast,
    $0.Timestamp? punchTime,
    $core.int? disAfterLast,
    $core.int? disStraightAfterLast,
    $core.int? paceAfterLast,
    $core.int? paceAfterStart,
    $2.Duration? checkAfterStart,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (sn != null) {
      $result.sn = sn;
    }
    if (ciPosition != null) {
      $result.ciPosition = ciPosition;
    }
    if (cType != null) {
      $result.cType = cType;
    }
    if (orderNo != null) {
      $result.orderNo = orderNo;
    }
    if (isCheckSuccess != null) {
      $result.isCheckSuccess = isCheckSuccess;
    }
    if (checkAfterLast != null) {
      $result.checkAfterLast = checkAfterLast;
    }
    if (punchTime != null) {
      $result.punchTime = punchTime;
    }
    if (disAfterLast != null) {
      $result.disAfterLast = disAfterLast;
    }
    if (disStraightAfterLast != null) {
      $result.disStraightAfterLast = disStraightAfterLast;
    }
    if (paceAfterLast != null) {
      $result.paceAfterLast = paceAfterLast;
    }
    if (paceAfterStart != null) {
      $result.paceAfterStart = paceAfterStart;
    }
    if (checkAfterStart != null) {
      $result.checkAfterStart = checkAfterStart;
    }
    return $result;
  }
  ToControlPoint._() : super();
  factory ToControlPoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ToControlPoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ToControlPoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'sn')
    ..aOM<Position>(3, _omitFieldNames ? '' : 'ciPosition', protoName: 'ciPosition', subBuilder: Position.create)
    ..e<CType>(4, _omitFieldNames ? '' : 'cType', $pb.PbFieldType.OE, protoName: 'cType', defaultOrMaker: CType.UnKnowType, valueOf: CType.valueOf, enumValues: CType.values)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'orderNo', $pb.PbFieldType.O3, protoName: 'orderNo')
    ..aOB(6, _omitFieldNames ? '' : 'isCheckSuccess')
    ..aOM<$2.Duration>(7, _omitFieldNames ? '' : 'checkAfterLast', subBuilder: $2.Duration.create)
    ..aOM<$0.Timestamp>(8, _omitFieldNames ? '' : 'punchTime', protoName: 'punchTime', subBuilder: $0.Timestamp.create)
    ..a<$core.int>(9, _omitFieldNames ? '' : 'disAfterLast', $pb.PbFieldType.O3, protoName: 'disAfterLast')
    ..a<$core.int>(10, _omitFieldNames ? '' : 'disStraightAfterLast', $pb.PbFieldType.O3, protoName: 'disStraightAfterLast')
    ..a<$core.int>(11, _omitFieldNames ? '' : 'paceAfterLast', $pb.PbFieldType.O3, protoName: 'paceAfterLast')
    ..a<$core.int>(12, _omitFieldNames ? '' : 'paceAfterStart', $pb.PbFieldType.O3, protoName: 'paceAfterStart')
    ..aOM<$2.Duration>(13, _omitFieldNames ? '' : 'checkAfterStart', subBuilder: $2.Duration.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ToControlPoint clone() => ToControlPoint()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ToControlPoint copyWith(void Function(ToControlPoint) updates) => super.copyWith((message) => updates(message as ToControlPoint)) as ToControlPoint;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ToControlPoint create() => ToControlPoint._();
  ToControlPoint createEmptyInstance() => create();
  static $pb.PbList<ToControlPoint> createRepeated() => $pb.PbList<ToControlPoint>();
  @$core.pragma('dart2js:noInline')
  static ToControlPoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ToControlPoint>(create);
  static ToControlPoint? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get sn => $_getSZ(1);
  @$pb.TagNumber(2)
  set sn($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasSn() => $_has(1);
  @$pb.TagNumber(2)
  void clearSn() => clearField(2);

  @$pb.TagNumber(3)
  Position get ciPosition => $_getN(2);
  @$pb.TagNumber(3)
  set ciPosition(Position v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasCiPosition() => $_has(2);
  @$pb.TagNumber(3)
  void clearCiPosition() => clearField(3);
  @$pb.TagNumber(3)
  Position ensureCiPosition() => $_ensure(2);

  @$pb.TagNumber(4)
  CType get cType => $_getN(3);
  @$pb.TagNumber(4)
  set cType(CType v) { setField(4, v); }
  @$pb.TagNumber(4)
  $core.bool hasCType() => $_has(3);
  @$pb.TagNumber(4)
  void clearCType() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get orderNo => $_getIZ(4);
  @$pb.TagNumber(5)
  set orderNo($core.int v) { $_setSignedInt32(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasOrderNo() => $_has(4);
  @$pb.TagNumber(5)
  void clearOrderNo() => clearField(5);

  @$pb.TagNumber(6)
  $core.bool get isCheckSuccess => $_getBF(5);
  @$pb.TagNumber(6)
  set isCheckSuccess($core.bool v) { $_setBool(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasIsCheckSuccess() => $_has(5);
  @$pb.TagNumber(6)
  void clearIsCheckSuccess() => clearField(6);

  @$pb.TagNumber(7)
  $2.Duration get checkAfterLast => $_getN(6);
  @$pb.TagNumber(7)
  set checkAfterLast($2.Duration v) { setField(7, v); }
  @$pb.TagNumber(7)
  $core.bool hasCheckAfterLast() => $_has(6);
  @$pb.TagNumber(7)
  void clearCheckAfterLast() => clearField(7);
  @$pb.TagNumber(7)
  $2.Duration ensureCheckAfterLast() => $_ensure(6);

  @$pb.TagNumber(8)
  $0.Timestamp get punchTime => $_getN(7);
  @$pb.TagNumber(8)
  set punchTime($0.Timestamp v) { setField(8, v); }
  @$pb.TagNumber(8)
  $core.bool hasPunchTime() => $_has(7);
  @$pb.TagNumber(8)
  void clearPunchTime() => clearField(8);
  @$pb.TagNumber(8)
  $0.Timestamp ensurePunchTime() => $_ensure(7);

  @$pb.TagNumber(9)
  $core.int get disAfterLast => $_getIZ(8);
  @$pb.TagNumber(9)
  set disAfterLast($core.int v) { $_setSignedInt32(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasDisAfterLast() => $_has(8);
  @$pb.TagNumber(9)
  void clearDisAfterLast() => clearField(9);

  @$pb.TagNumber(10)
  $core.int get disStraightAfterLast => $_getIZ(9);
  @$pb.TagNumber(10)
  set disStraightAfterLast($core.int v) { $_setSignedInt32(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasDisStraightAfterLast() => $_has(9);
  @$pb.TagNumber(10)
  void clearDisStraightAfterLast() => clearField(10);

  @$pb.TagNumber(11)
  $core.int get paceAfterLast => $_getIZ(10);
  @$pb.TagNumber(11)
  set paceAfterLast($core.int v) { $_setSignedInt32(10, v); }
  @$pb.TagNumber(11)
  $core.bool hasPaceAfterLast() => $_has(10);
  @$pb.TagNumber(11)
  void clearPaceAfterLast() => clearField(11);

  @$pb.TagNumber(12)
  $core.int get paceAfterStart => $_getIZ(11);
  @$pb.TagNumber(12)
  set paceAfterStart($core.int v) { $_setSignedInt32(11, v); }
  @$pb.TagNumber(12)
  $core.bool hasPaceAfterStart() => $_has(11);
  @$pb.TagNumber(12)
  void clearPaceAfterStart() => clearField(12);

  @$pb.TagNumber(13)
  $2.Duration get checkAfterStart => $_getN(12);
  @$pb.TagNumber(13)
  set checkAfterStart($2.Duration v) { setField(13, v); }
  @$pb.TagNumber(13)
  $core.bool hasCheckAfterStart() => $_has(12);
  @$pb.TagNumber(13)
  void clearCheckAfterStart() => clearField(13);
  @$pb.TagNumber(13)
  $2.Duration ensureCheckAfterStart() => $_ensure(12);
}

class OrienteerGameSaveInfo extends $pb.GeneratedMessage {
  factory OrienteerGameSaveInfo({
    $0.Timestamp? startAt,
    $2.Duration? duration,
    GameArriveControlPoint? nextControlPoint,
    $core.Iterable<OrienteerGameSaveControlPoint>? checkedSortedList,
  }) {
    final $result = create();
    if (startAt != null) {
      $result.startAt = startAt;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (nextControlPoint != null) {
      $result.nextControlPoint = nextControlPoint;
    }
    if (checkedSortedList != null) {
      $result.checkedSortedList.addAll(checkedSortedList);
    }
    return $result;
  }
  OrienteerGameSaveInfo._() : super();
  factory OrienteerGameSaveInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerGameSaveInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerGameSaveInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aOM<$0.Timestamp>(1, _omitFieldNames ? '' : 'startAt', subBuilder: $0.Timestamp.create)
    ..aOM<$2.Duration>(2, _omitFieldNames ? '' : 'duration', subBuilder: $2.Duration.create)
    ..aOM<GameArriveControlPoint>(3, _omitFieldNames ? '' : 'nextControlPoint', protoName: 'nextControlPoint', subBuilder: GameArriveControlPoint.create)
    ..pc<OrienteerGameSaveControlPoint>(4, _omitFieldNames ? '' : 'checkedSortedList', $pb.PbFieldType.PM, subBuilder: OrienteerGameSaveControlPoint.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerGameSaveInfo clone() => OrienteerGameSaveInfo()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerGameSaveInfo copyWith(void Function(OrienteerGameSaveInfo) updates) => super.copyWith((message) => updates(message as OrienteerGameSaveInfo)) as OrienteerGameSaveInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerGameSaveInfo create() => OrienteerGameSaveInfo._();
  OrienteerGameSaveInfo createEmptyInstance() => create();
  static $pb.PbList<OrienteerGameSaveInfo> createRepeated() => $pb.PbList<OrienteerGameSaveInfo>();
  @$core.pragma('dart2js:noInline')
  static OrienteerGameSaveInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerGameSaveInfo>(create);
  static OrienteerGameSaveInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $0.Timestamp get startAt => $_getN(0);
  @$pb.TagNumber(1)
  set startAt($0.Timestamp v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasStartAt() => $_has(0);
  @$pb.TagNumber(1)
  void clearStartAt() => clearField(1);
  @$pb.TagNumber(1)
  $0.Timestamp ensureStartAt() => $_ensure(0);

  @$pb.TagNumber(2)
  $2.Duration get duration => $_getN(1);
  @$pb.TagNumber(2)
  set duration($2.Duration v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasDuration() => $_has(1);
  @$pb.TagNumber(2)
  void clearDuration() => clearField(2);
  @$pb.TagNumber(2)
  $2.Duration ensureDuration() => $_ensure(1);

  @$pb.TagNumber(3)
  GameArriveControlPoint get nextControlPoint => $_getN(2);
  @$pb.TagNumber(3)
  set nextControlPoint(GameArriveControlPoint v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasNextControlPoint() => $_has(2);
  @$pb.TagNumber(3)
  void clearNextControlPoint() => clearField(3);
  @$pb.TagNumber(3)
  GameArriveControlPoint ensureNextControlPoint() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.List<OrienteerGameSaveControlPoint> get checkedSortedList => $_getList(3);
}

class OrienteerGameSaveControlPoint extends $pb.GeneratedMessage {
  factory OrienteerGameSaveControlPoint({
    $fixnum.Int64? controlPointId,
    $core.bool? isCheckSuccess,
    $2.Duration? checkAfterStart,
    $core.double? distinctAfterStart,
    $core.double? longitude,
    $core.double? latitude,
    $core.double? altitude,
  }) {
    final $result = create();
    if (controlPointId != null) {
      $result.controlPointId = controlPointId;
    }
    if (isCheckSuccess != null) {
      $result.isCheckSuccess = isCheckSuccess;
    }
    if (checkAfterStart != null) {
      $result.checkAfterStart = checkAfterStart;
    }
    if (distinctAfterStart != null) {
      $result.distinctAfterStart = distinctAfterStart;
    }
    if (longitude != null) {
      $result.longitude = longitude;
    }
    if (latitude != null) {
      $result.latitude = latitude;
    }
    if (altitude != null) {
      $result.altitude = altitude;
    }
    return $result;
  }
  OrienteerGameSaveControlPoint._() : super();
  factory OrienteerGameSaveControlPoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OrienteerGameSaveControlPoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OrienteerGameSaveControlPoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'base.v1'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'controlPointId')
    ..aOB(2, _omitFieldNames ? '' : 'isCheckSuccess')
    ..aOM<$2.Duration>(3, _omitFieldNames ? '' : 'checkAfterStart', subBuilder: $2.Duration.create)
    ..a<$core.double>(4, _omitFieldNames ? '' : 'distinctAfterStart', $pb.PbFieldType.OD)
    ..a<$core.double>(5, _omitFieldNames ? '' : 'longitude', $pb.PbFieldType.OD)
    ..a<$core.double>(6, _omitFieldNames ? '' : 'latitude', $pb.PbFieldType.OD)
    ..a<$core.double>(7, _omitFieldNames ? '' : 'altitude', $pb.PbFieldType.OD)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OrienteerGameSaveControlPoint clone() => OrienteerGameSaveControlPoint()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OrienteerGameSaveControlPoint copyWith(void Function(OrienteerGameSaveControlPoint) updates) => super.copyWith((message) => updates(message as OrienteerGameSaveControlPoint)) as OrienteerGameSaveControlPoint;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OrienteerGameSaveControlPoint create() => OrienteerGameSaveControlPoint._();
  OrienteerGameSaveControlPoint createEmptyInstance() => create();
  static $pb.PbList<OrienteerGameSaveControlPoint> createRepeated() => $pb.PbList<OrienteerGameSaveControlPoint>();
  @$core.pragma('dart2js:noInline')
  static OrienteerGameSaveControlPoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OrienteerGameSaveControlPoint>(create);
  static OrienteerGameSaveControlPoint? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get controlPointId => $_getI64(0);
  @$pb.TagNumber(1)
  set controlPointId($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasControlPointId() => $_has(0);
  @$pb.TagNumber(1)
  void clearControlPointId() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get isCheckSuccess => $_getBF(1);
  @$pb.TagNumber(2)
  set isCheckSuccess($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasIsCheckSuccess() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsCheckSuccess() => clearField(2);

  @$pb.TagNumber(3)
  $2.Duration get checkAfterStart => $_getN(2);
  @$pb.TagNumber(3)
  set checkAfterStart($2.Duration v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasCheckAfterStart() => $_has(2);
  @$pb.TagNumber(3)
  void clearCheckAfterStart() => clearField(3);
  @$pb.TagNumber(3)
  $2.Duration ensureCheckAfterStart() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.double get distinctAfterStart => $_getN(3);
  @$pb.TagNumber(4)
  set distinctAfterStart($core.double v) { $_setDouble(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasDistinctAfterStart() => $_has(3);
  @$pb.TagNumber(4)
  void clearDistinctAfterStart() => clearField(4);

  @$pb.TagNumber(5)
  $core.double get longitude => $_getN(4);
  @$pb.TagNumber(5)
  set longitude($core.double v) { $_setDouble(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasLongitude() => $_has(4);
  @$pb.TagNumber(5)
  void clearLongitude() => clearField(5);

  @$pb.TagNumber(6)
  $core.double get latitude => $_getN(5);
  @$pb.TagNumber(6)
  set latitude($core.double v) { $_setDouble(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasLatitude() => $_has(5);
  @$pb.TagNumber(6)
  void clearLatitude() => clearField(6);

  @$pb.TagNumber(7)
  $core.double get altitude => $_getN(6);
  @$pb.TagNumber(7)
  set altitude($core.double v) { $_setDouble(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasAltitude() => $_has(6);
  @$pb.TagNumber(7)
  void clearAltitude() => clearField(7);
}


const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
