// GENERATED CODE - DO NOT MODIFY BY HAND
// coverage:ignore-file
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'hatching_report.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

// dart format off
T _$identity<T>(T value) => value;

/// @nodoc
mixin _$HatchingReport {

 int? get id; PoultryScience? get poultryScience; Hatching? get hatching; String? get key; User? get user; DateTime? get createDate; DateTime? get modifyDate; bool? get trash; DateTime? get date; List<String>? get image; double? get lat; double? get log; String? get reporterFullname; String? get reporterMobile; String? get state; double? get realQuantityAi; String? get messageAi; double? get realQuantity; String? get message; String? get messageRegistererFullname; String? get messageRegistererMobile; String? get messageRegistererRole;
/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$HatchingReportCopyWith<HatchingReport> get copyWith => _$HatchingReportCopyWithImpl<HatchingReport>(this as HatchingReport, _$identity);

  /// Serializes this HatchingReport to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is HatchingReport&&(identical(other.id, id) || other.id == id)&&(identical(other.poultryScience, poultryScience) || other.poultryScience == poultryScience)&&(identical(other.hatching, hatching) || other.hatching == hatching)&&(identical(other.key, key) || other.key == key)&&(identical(other.user, user) || other.user == user)&&(identical(other.createDate, createDate) || other.createDate == createDate)&&(identical(other.modifyDate, modifyDate) || other.modifyDate == modifyDate)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.date, date) || other.date == date)&&const DeepCollectionEquality().equals(other.image, image)&&(identical(other.lat, lat) || other.lat == lat)&&(identical(other.log, log) || other.log == log)&&(identical(other.reporterFullname, reporterFullname) || other.reporterFullname == reporterFullname)&&(identical(other.reporterMobile, reporterMobile) || other.reporterMobile == reporterMobile)&&(identical(other.state, state) || other.state == state)&&(identical(other.realQuantityAi, realQuantityAi) || other.realQuantityAi == realQuantityAi)&&(identical(other.messageAi, messageAi) || other.messageAi == messageAi)&&(identical(other.realQuantity, realQuantity) || other.realQuantity == realQuantity)&&(identical(other.message, message) || other.message == message)&&(identical(other.messageRegistererFullname, messageRegistererFullname) || other.messageRegistererFullname == messageRegistererFullname)&&(identical(other.messageRegistererMobile, messageRegistererMobile) || other.messageRegistererMobile == messageRegistererMobile)&&(identical(other.messageRegistererRole, messageRegistererRole) || other.messageRegistererRole == messageRegistererRole));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,id,poultryScience,hatching,key,user,createDate,modifyDate,trash,date,const DeepCollectionEquality().hash(image),lat,log,reporterFullname,reporterMobile,state,realQuantityAi,messageAi,realQuantity,message,messageRegistererFullname,messageRegistererMobile,messageRegistererRole]);

@override
String toString() {
  return 'HatchingReport(id: $id, poultryScience: $poultryScience, hatching: $hatching, key: $key, user: $user, createDate: $createDate, modifyDate: $modifyDate, trash: $trash, date: $date, image: $image, lat: $lat, log: $log, reporterFullname: $reporterFullname, reporterMobile: $reporterMobile, state: $state, realQuantityAi: $realQuantityAi, messageAi: $messageAi, realQuantity: $realQuantity, message: $message, messageRegistererFullname: $messageRegistererFullname, messageRegistererMobile: $messageRegistererMobile, messageRegistererRole: $messageRegistererRole)';
}


}

/// @nodoc
abstract mixin class $HatchingReportCopyWith<$Res>  {
  factory $HatchingReportCopyWith(HatchingReport value, $Res Function(HatchingReport) _then) = _$HatchingReportCopyWithImpl;
@useResult
$Res call({
 int? id, PoultryScience? poultryScience, Hatching? hatching, String? key, User? user, DateTime? createDate, DateTime? modifyDate, bool? trash, DateTime? date, List<String>? image, double? lat, double? log, String? reporterFullname, String? reporterMobile, String? state, double? realQuantityAi, String? messageAi, double? realQuantity, String? message, String? messageRegistererFullname, String? messageRegistererMobile, String? messageRegistererRole
});


$PoultryScienceCopyWith<$Res>? get poultryScience;$HatchingCopyWith<$Res>? get hatching;$UserCopyWith<$Res>? get user;

}
/// @nodoc
class _$HatchingReportCopyWithImpl<$Res>
    implements $HatchingReportCopyWith<$Res> {
  _$HatchingReportCopyWithImpl(this._self, this._then);

  final HatchingReport _self;
  final $Res Function(HatchingReport) _then;

/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? id = freezed,Object? poultryScience = freezed,Object? hatching = freezed,Object? key = freezed,Object? user = freezed,Object? createDate = freezed,Object? modifyDate = freezed,Object? trash = freezed,Object? date = freezed,Object? image = freezed,Object? lat = freezed,Object? log = freezed,Object? reporterFullname = freezed,Object? reporterMobile = freezed,Object? state = freezed,Object? realQuantityAi = freezed,Object? messageAi = freezed,Object? realQuantity = freezed,Object? message = freezed,Object? messageRegistererFullname = freezed,Object? messageRegistererMobile = freezed,Object? messageRegistererRole = freezed,}) {
  return _then(_self.copyWith(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,poultryScience: freezed == poultryScience ? _self.poultryScience : poultryScience // ignore: cast_nullable_to_non_nullable
as PoultryScience?,hatching: freezed == hatching ? _self.hatching : hatching // ignore: cast_nullable_to_non_nullable
as Hatching?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,createDate: freezed == createDate ? _self.createDate : createDate // ignore: cast_nullable_to_non_nullable
as DateTime?,modifyDate: freezed == modifyDate ? _self.modifyDate : modifyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,image: freezed == image ? _self.image : image // ignore: cast_nullable_to_non_nullable
as List<String>?,lat: freezed == lat ? _self.lat : lat // ignore: cast_nullable_to_non_nullable
as double?,log: freezed == log ? _self.log : log // ignore: cast_nullable_to_non_nullable
as double?,reporterFullname: freezed == reporterFullname ? _self.reporterFullname : reporterFullname // ignore: cast_nullable_to_non_nullable
as String?,reporterMobile: freezed == reporterMobile ? _self.reporterMobile : reporterMobile // ignore: cast_nullable_to_non_nullable
as String?,state: freezed == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
as String?,realQuantityAi: freezed == realQuantityAi ? _self.realQuantityAi : realQuantityAi // ignore: cast_nullable_to_non_nullable
as double?,messageAi: freezed == messageAi ? _self.messageAi : messageAi // ignore: cast_nullable_to_non_nullable
as String?,realQuantity: freezed == realQuantity ? _self.realQuantity : realQuantity // ignore: cast_nullable_to_non_nullable
as double?,message: freezed == message ? _self.message : message // ignore: cast_nullable_to_non_nullable
as String?,messageRegistererFullname: freezed == messageRegistererFullname ? _self.messageRegistererFullname : messageRegistererFullname // ignore: cast_nullable_to_non_nullable
as String?,messageRegistererMobile: freezed == messageRegistererMobile ? _self.messageRegistererMobile : messageRegistererMobile // ignore: cast_nullable_to_non_nullable
as String?,messageRegistererRole: freezed == messageRegistererRole ? _self.messageRegistererRole : messageRegistererRole // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}
/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$PoultryScienceCopyWith<$Res>? get poultryScience {
    if (_self.poultryScience == null) {
    return null;
  }

  return $PoultryScienceCopyWith<$Res>(_self.poultryScience!, (value) {
    return _then(_self.copyWith(poultryScience: value));
  });
}/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$HatchingCopyWith<$Res>? get hatching {
    if (_self.hatching == null) {
    return null;
  }

  return $HatchingCopyWith<$Res>(_self.hatching!, (value) {
    return _then(_self.copyWith(hatching: value));
  });
}/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}
}


/// Adds pattern-matching-related methods to [HatchingReport].
extension HatchingReportPatterns on HatchingReport {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _HatchingReport value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _HatchingReport() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _HatchingReport value)  $default,){
final _that = this;
switch (_that) {
case _HatchingReport():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _HatchingReport value)?  $default,){
final _that = this;
switch (_that) {
case _HatchingReport() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( int? id,  PoultryScience? poultryScience,  Hatching? hatching,  String? key,  User? user,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  DateTime? date,  List<String>? image,  double? lat,  double? log,  String? reporterFullname,  String? reporterMobile,  String? state,  double? realQuantityAi,  String? messageAi,  double? realQuantity,  String? message,  String? messageRegistererFullname,  String? messageRegistererMobile,  String? messageRegistererRole)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _HatchingReport() when $default != null:
return $default(_that.id,_that.poultryScience,_that.hatching,_that.key,_that.user,_that.createDate,_that.modifyDate,_that.trash,_that.date,_that.image,_that.lat,_that.log,_that.reporterFullname,_that.reporterMobile,_that.state,_that.realQuantityAi,_that.messageAi,_that.realQuantity,_that.message,_that.messageRegistererFullname,_that.messageRegistererMobile,_that.messageRegistererRole);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int? id,  PoultryScience? poultryScience,  Hatching? hatching,  String? key,  User? user,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  DateTime? date,  List<String>? image,  double? lat,  double? log,  String? reporterFullname,  String? reporterMobile,  String? state,  double? realQuantityAi,  String? messageAi,  double? realQuantity,  String? message,  String? messageRegistererFullname,  String? messageRegistererMobile,  String? messageRegistererRole)  $default,) {final _that = this;
switch (_that) {
case _HatchingReport():
return $default(_that.id,_that.poultryScience,_that.hatching,_that.key,_that.user,_that.createDate,_that.modifyDate,_that.trash,_that.date,_that.image,_that.lat,_that.log,_that.reporterFullname,_that.reporterMobile,_that.state,_that.realQuantityAi,_that.messageAi,_that.realQuantity,_that.message,_that.messageRegistererFullname,_that.messageRegistererMobile,_that.messageRegistererRole);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( int? id,  PoultryScience? poultryScience,  Hatching? hatching,  String? key,  User? user,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  DateTime? date,  List<String>? image,  double? lat,  double? log,  String? reporterFullname,  String? reporterMobile,  String? state,  double? realQuantityAi,  String? messageAi,  double? realQuantity,  String? message,  String? messageRegistererFullname,  String? messageRegistererMobile,  String? messageRegistererRole)?  $default,) {final _that = this;
switch (_that) {
case _HatchingReport() when $default != null:
return $default(_that.id,_that.poultryScience,_that.hatching,_that.key,_that.user,_that.createDate,_that.modifyDate,_that.trash,_that.date,_that.image,_that.lat,_that.log,_that.reporterFullname,_that.reporterMobile,_that.state,_that.realQuantityAi,_that.messageAi,_that.realQuantity,_that.message,_that.messageRegistererFullname,_that.messageRegistererMobile,_that.messageRegistererRole);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _HatchingReport implements HatchingReport {
  const _HatchingReport({this.id, this.poultryScience, this.hatching, this.key, this.user, this.createDate, this.modifyDate, this.trash, this.date, final  List<String>? image, this.lat, this.log, this.reporterFullname, this.reporterMobile, this.state, this.realQuantityAi, this.messageAi, this.realQuantity, this.message, this.messageRegistererFullname, this.messageRegistererMobile, this.messageRegistererRole}): _image = image;
  factory _HatchingReport.fromJson(Map<String, dynamic> json) => _$HatchingReportFromJson(json);

@override final  int? id;
@override final  PoultryScience? poultryScience;
@override final  Hatching? hatching;
@override final  String? key;
@override final  User? user;
@override final  DateTime? createDate;
@override final  DateTime? modifyDate;
@override final  bool? trash;
@override final  DateTime? date;
 final  List<String>? _image;
@override List<String>? get image {
  final value = _image;
  if (value == null) return null;
  if (_image is EqualUnmodifiableListView) return _image;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}

@override final  double? lat;
@override final  double? log;
@override final  String? reporterFullname;
@override final  String? reporterMobile;
@override final  String? state;
@override final  double? realQuantityAi;
@override final  String? messageAi;
@override final  double? realQuantity;
@override final  String? message;
@override final  String? messageRegistererFullname;
@override final  String? messageRegistererMobile;
@override final  String? messageRegistererRole;

/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$HatchingReportCopyWith<_HatchingReport> get copyWith => __$HatchingReportCopyWithImpl<_HatchingReport>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$HatchingReportToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _HatchingReport&&(identical(other.id, id) || other.id == id)&&(identical(other.poultryScience, poultryScience) || other.poultryScience == poultryScience)&&(identical(other.hatching, hatching) || other.hatching == hatching)&&(identical(other.key, key) || other.key == key)&&(identical(other.user, user) || other.user == user)&&(identical(other.createDate, createDate) || other.createDate == createDate)&&(identical(other.modifyDate, modifyDate) || other.modifyDate == modifyDate)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.date, date) || other.date == date)&&const DeepCollectionEquality().equals(other._image, _image)&&(identical(other.lat, lat) || other.lat == lat)&&(identical(other.log, log) || other.log == log)&&(identical(other.reporterFullname, reporterFullname) || other.reporterFullname == reporterFullname)&&(identical(other.reporterMobile, reporterMobile) || other.reporterMobile == reporterMobile)&&(identical(other.state, state) || other.state == state)&&(identical(other.realQuantityAi, realQuantityAi) || other.realQuantityAi == realQuantityAi)&&(identical(other.messageAi, messageAi) || other.messageAi == messageAi)&&(identical(other.realQuantity, realQuantity) || other.realQuantity == realQuantity)&&(identical(other.message, message) || other.message == message)&&(identical(other.messageRegistererFullname, messageRegistererFullname) || other.messageRegistererFullname == messageRegistererFullname)&&(identical(other.messageRegistererMobile, messageRegistererMobile) || other.messageRegistererMobile == messageRegistererMobile)&&(identical(other.messageRegistererRole, messageRegistererRole) || other.messageRegistererRole == messageRegistererRole));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,id,poultryScience,hatching,key,user,createDate,modifyDate,trash,date,const DeepCollectionEquality().hash(_image),lat,log,reporterFullname,reporterMobile,state,realQuantityAi,messageAi,realQuantity,message,messageRegistererFullname,messageRegistererMobile,messageRegistererRole]);

@override
String toString() {
  return 'HatchingReport(id: $id, poultryScience: $poultryScience, hatching: $hatching, key: $key, user: $user, createDate: $createDate, modifyDate: $modifyDate, trash: $trash, date: $date, image: $image, lat: $lat, log: $log, reporterFullname: $reporterFullname, reporterMobile: $reporterMobile, state: $state, realQuantityAi: $realQuantityAi, messageAi: $messageAi, realQuantity: $realQuantity, message: $message, messageRegistererFullname: $messageRegistererFullname, messageRegistererMobile: $messageRegistererMobile, messageRegistererRole: $messageRegistererRole)';
}


}

/// @nodoc
abstract mixin class _$HatchingReportCopyWith<$Res> implements $HatchingReportCopyWith<$Res> {
  factory _$HatchingReportCopyWith(_HatchingReport value, $Res Function(_HatchingReport) _then) = __$HatchingReportCopyWithImpl;
@override @useResult
$Res call({
 int? id, PoultryScience? poultryScience, Hatching? hatching, String? key, User? user, DateTime? createDate, DateTime? modifyDate, bool? trash, DateTime? date, List<String>? image, double? lat, double? log, String? reporterFullname, String? reporterMobile, String? state, double? realQuantityAi, String? messageAi, double? realQuantity, String? message, String? messageRegistererFullname, String? messageRegistererMobile, String? messageRegistererRole
});


@override $PoultryScienceCopyWith<$Res>? get poultryScience;@override $HatchingCopyWith<$Res>? get hatching;@override $UserCopyWith<$Res>? get user;

}
/// @nodoc
class __$HatchingReportCopyWithImpl<$Res>
    implements _$HatchingReportCopyWith<$Res> {
  __$HatchingReportCopyWithImpl(this._self, this._then);

  final _HatchingReport _self;
  final $Res Function(_HatchingReport) _then;

/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? id = freezed,Object? poultryScience = freezed,Object? hatching = freezed,Object? key = freezed,Object? user = freezed,Object? createDate = freezed,Object? modifyDate = freezed,Object? trash = freezed,Object? date = freezed,Object? image = freezed,Object? lat = freezed,Object? log = freezed,Object? reporterFullname = freezed,Object? reporterMobile = freezed,Object? state = freezed,Object? realQuantityAi = freezed,Object? messageAi = freezed,Object? realQuantity = freezed,Object? message = freezed,Object? messageRegistererFullname = freezed,Object? messageRegistererMobile = freezed,Object? messageRegistererRole = freezed,}) {
  return _then(_HatchingReport(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,poultryScience: freezed == poultryScience ? _self.poultryScience : poultryScience // ignore: cast_nullable_to_non_nullable
as PoultryScience?,hatching: freezed == hatching ? _self.hatching : hatching // ignore: cast_nullable_to_non_nullable
as Hatching?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,createDate: freezed == createDate ? _self.createDate : createDate // ignore: cast_nullable_to_non_nullable
as DateTime?,modifyDate: freezed == modifyDate ? _self.modifyDate : modifyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,image: freezed == image ? _self._image : image // ignore: cast_nullable_to_non_nullable
as List<String>?,lat: freezed == lat ? _self.lat : lat // ignore: cast_nullable_to_non_nullable
as double?,log: freezed == log ? _self.log : log // ignore: cast_nullable_to_non_nullable
as double?,reporterFullname: freezed == reporterFullname ? _self.reporterFullname : reporterFullname // ignore: cast_nullable_to_non_nullable
as String?,reporterMobile: freezed == reporterMobile ? _self.reporterMobile : reporterMobile // ignore: cast_nullable_to_non_nullable
as String?,state: freezed == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
as String?,realQuantityAi: freezed == realQuantityAi ? _self.realQuantityAi : realQuantityAi // ignore: cast_nullable_to_non_nullable
as double?,messageAi: freezed == messageAi ? _self.messageAi : messageAi // ignore: cast_nullable_to_non_nullable
as String?,realQuantity: freezed == realQuantity ? _self.realQuantity : realQuantity // ignore: cast_nullable_to_non_nullable
as double?,message: freezed == message ? _self.message : message // ignore: cast_nullable_to_non_nullable
as String?,messageRegistererFullname: freezed == messageRegistererFullname ? _self.messageRegistererFullname : messageRegistererFullname // ignore: cast_nullable_to_non_nullable
as String?,messageRegistererMobile: freezed == messageRegistererMobile ? _self.messageRegistererMobile : messageRegistererMobile // ignore: cast_nullable_to_non_nullable
as String?,messageRegistererRole: freezed == messageRegistererRole ? _self.messageRegistererRole : messageRegistererRole // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$PoultryScienceCopyWith<$Res>? get poultryScience {
    if (_self.poultryScience == null) {
    return null;
  }

  return $PoultryScienceCopyWith<$Res>(_self.poultryScience!, (value) {
    return _then(_self.copyWith(poultryScience: value));
  });
}/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$HatchingCopyWith<$Res>? get hatching {
    if (_self.hatching == null) {
    return null;
  }

  return $HatchingCopyWith<$Res>(_self.hatching!, (value) {
    return _then(_self.copyWith(hatching: value));
  });
}/// Create a copy of HatchingReport
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}
}


/// @nodoc
mixin _$PoultryScience {

 int? get id; User? get user; String? get key; DateTime? get createDate; DateTime? get modifyDate; bool? get trash; String? get createdBy; String? get modifiedBy; List<int>? get poultry;
/// Create a copy of PoultryScience
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$PoultryScienceCopyWith<PoultryScience> get copyWith => _$PoultryScienceCopyWithImpl<PoultryScience>(this as PoultryScience, _$identity);

  /// Serializes this PoultryScience to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is PoultryScience&&(identical(other.id, id) || other.id == id)&&(identical(other.user, user) || other.user == user)&&(identical(other.key, key) || other.key == key)&&(identical(other.createDate, createDate) || other.createDate == createDate)&&(identical(other.modifyDate, modifyDate) || other.modifyDate == modifyDate)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.createdBy, createdBy) || other.createdBy == createdBy)&&(identical(other.modifiedBy, modifiedBy) || other.modifiedBy == modifiedBy)&&const DeepCollectionEquality().equals(other.poultry, poultry));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,id,user,key,createDate,modifyDate,trash,createdBy,modifiedBy,const DeepCollectionEquality().hash(poultry));

@override
String toString() {
  return 'PoultryScience(id: $id, user: $user, key: $key, createDate: $createDate, modifyDate: $modifyDate, trash: $trash, createdBy: $createdBy, modifiedBy: $modifiedBy, poultry: $poultry)';
}


}

/// @nodoc
abstract mixin class $PoultryScienceCopyWith<$Res>  {
  factory $PoultryScienceCopyWith(PoultryScience value, $Res Function(PoultryScience) _then) = _$PoultryScienceCopyWithImpl;
@useResult
$Res call({
 int? id, User? user, String? key, DateTime? createDate, DateTime? modifyDate, bool? trash, String? createdBy, String? modifiedBy, List<int>? poultry
});


$UserCopyWith<$Res>? get user;

}
/// @nodoc
class _$PoultryScienceCopyWithImpl<$Res>
    implements $PoultryScienceCopyWith<$Res> {
  _$PoultryScienceCopyWithImpl(this._self, this._then);

  final PoultryScience _self;
  final $Res Function(PoultryScience) _then;

/// Create a copy of PoultryScience
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? id = freezed,Object? user = freezed,Object? key = freezed,Object? createDate = freezed,Object? modifyDate = freezed,Object? trash = freezed,Object? createdBy = freezed,Object? modifiedBy = freezed,Object? poultry = freezed,}) {
  return _then(_self.copyWith(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,createDate: freezed == createDate ? _self.createDate : createDate // ignore: cast_nullable_to_non_nullable
as DateTime?,modifyDate: freezed == modifyDate ? _self.modifyDate : modifyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,createdBy: freezed == createdBy ? _self.createdBy : createdBy // ignore: cast_nullable_to_non_nullable
as String?,modifiedBy: freezed == modifiedBy ? _self.modifiedBy : modifiedBy // ignore: cast_nullable_to_non_nullable
as String?,poultry: freezed == poultry ? _self.poultry : poultry // ignore: cast_nullable_to_non_nullable
as List<int>?,
  ));
}
/// Create a copy of PoultryScience
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}
}


/// Adds pattern-matching-related methods to [PoultryScience].
extension PoultrySciencePatterns on PoultryScience {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _PoultryScience value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _PoultryScience() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _PoultryScience value)  $default,){
final _that = this;
switch (_that) {
case _PoultryScience():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _PoultryScience value)?  $default,){
final _that = this;
switch (_that) {
case _PoultryScience() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( int? id,  User? user,  String? key,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  String? createdBy,  String? modifiedBy,  List<int>? poultry)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _PoultryScience() when $default != null:
return $default(_that.id,_that.user,_that.key,_that.createDate,_that.modifyDate,_that.trash,_that.createdBy,_that.modifiedBy,_that.poultry);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int? id,  User? user,  String? key,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  String? createdBy,  String? modifiedBy,  List<int>? poultry)  $default,) {final _that = this;
switch (_that) {
case _PoultryScience():
return $default(_that.id,_that.user,_that.key,_that.createDate,_that.modifyDate,_that.trash,_that.createdBy,_that.modifiedBy,_that.poultry);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( int? id,  User? user,  String? key,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  String? createdBy,  String? modifiedBy,  List<int>? poultry)?  $default,) {final _that = this;
switch (_that) {
case _PoultryScience() when $default != null:
return $default(_that.id,_that.user,_that.key,_that.createDate,_that.modifyDate,_that.trash,_that.createdBy,_that.modifiedBy,_that.poultry);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _PoultryScience implements PoultryScience {
  const _PoultryScience({this.id, this.user, this.key, this.createDate, this.modifyDate, this.trash, this.createdBy, this.modifiedBy, final  List<int>? poultry}): _poultry = poultry;
  factory _PoultryScience.fromJson(Map<String, dynamic> json) => _$PoultryScienceFromJson(json);

@override final  int? id;
@override final  User? user;
@override final  String? key;
@override final  DateTime? createDate;
@override final  DateTime? modifyDate;
@override final  bool? trash;
@override final  String? createdBy;
@override final  String? modifiedBy;
 final  List<int>? _poultry;
@override List<int>? get poultry {
  final value = _poultry;
  if (value == null) return null;
  if (_poultry is EqualUnmodifiableListView) return _poultry;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}


/// Create a copy of PoultryScience
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$PoultryScienceCopyWith<_PoultryScience> get copyWith => __$PoultryScienceCopyWithImpl<_PoultryScience>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$PoultryScienceToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _PoultryScience&&(identical(other.id, id) || other.id == id)&&(identical(other.user, user) || other.user == user)&&(identical(other.key, key) || other.key == key)&&(identical(other.createDate, createDate) || other.createDate == createDate)&&(identical(other.modifyDate, modifyDate) || other.modifyDate == modifyDate)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.createdBy, createdBy) || other.createdBy == createdBy)&&(identical(other.modifiedBy, modifiedBy) || other.modifiedBy == modifiedBy)&&const DeepCollectionEquality().equals(other._poultry, _poultry));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,id,user,key,createDate,modifyDate,trash,createdBy,modifiedBy,const DeepCollectionEquality().hash(_poultry));

@override
String toString() {
  return 'PoultryScience(id: $id, user: $user, key: $key, createDate: $createDate, modifyDate: $modifyDate, trash: $trash, createdBy: $createdBy, modifiedBy: $modifiedBy, poultry: $poultry)';
}


}

/// @nodoc
abstract mixin class _$PoultryScienceCopyWith<$Res> implements $PoultryScienceCopyWith<$Res> {
  factory _$PoultryScienceCopyWith(_PoultryScience value, $Res Function(_PoultryScience) _then) = __$PoultryScienceCopyWithImpl;
@override @useResult
$Res call({
 int? id, User? user, String? key, DateTime? createDate, DateTime? modifyDate, bool? trash, String? createdBy, String? modifiedBy, List<int>? poultry
});


@override $UserCopyWith<$Res>? get user;

}
/// @nodoc
class __$PoultryScienceCopyWithImpl<$Res>
    implements _$PoultryScienceCopyWith<$Res> {
  __$PoultryScienceCopyWithImpl(this._self, this._then);

  final _PoultryScience _self;
  final $Res Function(_PoultryScience) _then;

/// Create a copy of PoultryScience
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? id = freezed,Object? user = freezed,Object? key = freezed,Object? createDate = freezed,Object? modifyDate = freezed,Object? trash = freezed,Object? createdBy = freezed,Object? modifiedBy = freezed,Object? poultry = freezed,}) {
  return _then(_PoultryScience(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,createDate: freezed == createDate ? _self.createDate : createDate // ignore: cast_nullable_to_non_nullable
as DateTime?,modifyDate: freezed == modifyDate ? _self.modifyDate : modifyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,createdBy: freezed == createdBy ? _self.createdBy : createdBy // ignore: cast_nullable_to_non_nullable
as String?,modifiedBy: freezed == modifiedBy ? _self.modifiedBy : modifiedBy // ignore: cast_nullable_to_non_nullable
as String?,poultry: freezed == poultry ? _self._poultry : poultry // ignore: cast_nullable_to_non_nullable
as List<int>?,
  ));
}

/// Create a copy of PoultryScience
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}
}


/// @nodoc
mixin _$User {

 String? get fullname; String? get mobile;
/// Create a copy of User
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$UserCopyWith<User> get copyWith => _$UserCopyWithImpl<User>(this as User, _$identity);

  /// Serializes this User to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is User&&(identical(other.fullname, fullname) || other.fullname == fullname)&&(identical(other.mobile, mobile) || other.mobile == mobile));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,fullname,mobile);

@override
String toString() {
  return 'User(fullname: $fullname, mobile: $mobile)';
}


}

/// @nodoc
abstract mixin class $UserCopyWith<$Res>  {
  factory $UserCopyWith(User value, $Res Function(User) _then) = _$UserCopyWithImpl;
@useResult
$Res call({
 String? fullname, String? mobile
});




}
/// @nodoc
class _$UserCopyWithImpl<$Res>
    implements $UserCopyWith<$Res> {
  _$UserCopyWithImpl(this._self, this._then);

  final User _self;
  final $Res Function(User) _then;

/// Create a copy of User
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? fullname = freezed,Object? mobile = freezed,}) {
  return _then(_self.copyWith(
fullname: freezed == fullname ? _self.fullname : fullname // ignore: cast_nullable_to_non_nullable
as String?,mobile: freezed == mobile ? _self.mobile : mobile // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [User].
extension UserPatterns on User {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _User value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _User() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _User value)  $default,){
final _that = this;
switch (_that) {
case _User():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _User value)?  $default,){
final _that = this;
switch (_that) {
case _User() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? fullname,  String? mobile)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _User() when $default != null:
return $default(_that.fullname,_that.mobile);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? fullname,  String? mobile)  $default,) {final _that = this;
switch (_that) {
case _User():
return $default(_that.fullname,_that.mobile);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? fullname,  String? mobile)?  $default,) {final _that = this;
switch (_that) {
case _User() when $default != null:
return $default(_that.fullname,_that.mobile);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _User implements User {
  const _User({this.fullname, this.mobile});
  factory _User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);

@override final  String? fullname;
@override final  String? mobile;

/// Create a copy of User
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$UserCopyWith<_User> get copyWith => __$UserCopyWithImpl<_User>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$UserToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _User&&(identical(other.fullname, fullname) || other.fullname == fullname)&&(identical(other.mobile, mobile) || other.mobile == mobile));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,fullname,mobile);

@override
String toString() {
  return 'User(fullname: $fullname, mobile: $mobile)';
}


}

/// @nodoc
abstract mixin class _$UserCopyWith<$Res> implements $UserCopyWith<$Res> {
  factory _$UserCopyWith(_User value, $Res Function(_User) _then) = __$UserCopyWithImpl;
@override @useResult
$Res call({
 String? fullname, String? mobile
});




}
/// @nodoc
class __$UserCopyWithImpl<$Res>
    implements _$UserCopyWith<$Res> {
  __$UserCopyWithImpl(this._self, this._then);

  final _User _self;
  final $Res Function(_User) _then;

/// Create a copy of User
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? fullname = freezed,Object? mobile = freezed,}) {
  return _then(_User(
fullname: freezed == fullname ? _self.fullname : fullname // ignore: cast_nullable_to_non_nullable
as String?,mobile: freezed == mobile ? _self.mobile : mobile // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}


/// @nodoc
mixin _$Hatching {

 int? get id; Poultry? get poultry; ChainCompany? get chainCompany; int? get age; String? get inspectionLosses; VetFarm? get vetFarm; ActiveKill? get activeKill; KillingInfo? get killingInfo; FreeGovernmentalInfo? get freeGovernmentalInfo; ReportInfo? get reportInfo; String? get key; DateTime? get createDate; DateTime? get modifyDate; bool? get trash; bool? get hasChainCompany; String? get poultryIdForeignKey; String? get poultryHatchingIdKey; int? get quantity; int? get losses; int? get leftOver; int? get killedQuantity; int? get extraKilledQuantity; double? get governmentalKilledQuantity; double? get governmentalQuantity; double? get freeKilledQuantity; double? get freeQuantity; double? get chainKilledQuantity; double? get chainKilledWeight; double? get outProvinceKilledWeight; double? get outProvinceKilledQuantity; double? get exportKilledWeight; double? get exportKilledQuantity; double? get totalCommitment; String? get commitmentType; double? get totalCommitmentQuantity; double? get totalFreeCommitmentQuantity; double? get totalFreeCommitmentWeight; double? get totalKilledWeight; double? get totalAverageKilledWeight; int? get requestLeftOver; int? get hall; DateTime? get date; String? get predicateDate; String? get chickenBreed; int? get period; String? get allowHatching; String? get state; bool? get archive; bool? get violation; String? get message; Registrar? get registrar; List<Breed>? get breed; int? get cityNumber; String? get cityName; int? get provinceNumber; String? get provinceName; LastChange? get lastChange; int? get chickenAge; int? get nowAge; LatestHatchingChange? get latestHatchingChange; String? get violationReport; String? get violationMessage; List<String>? get violationImage; String? get violationReporter; DateTime? get violationReportDate; String? get violationReportEditor; DateTime? get violationReportEditDate; int? get totalLosses; int? get directLosses; String? get directLossesInputer; String? get directLossesDate; String? get directLossesEditor; String? get directLossesLastEditDate; String? get endPeriodLossesInputer; String? get endPeriodLossesDate; String? get endPeriodLossesEditor; String? get endPeriodLossesLastEditDate; String? get breedingUniqueId; String? get licenceNumber; bool? get temporaryTrash; bool? get temporaryDeleted; String? get firstDateInputArchive; String? get secondDateInputArchive; String? get inputArchiver; String? get outputArchiveDate; String? get outputArchiver; double? get barDifferenceRequestWeight; double? get barDifferenceRequestQuantity; String? get healthCertificate; double? get samasatDischargePercentage; String? get personTypeName; String? get interactTypeName; String? get unionTypeName; String? get certId; int? get increaseQuantity; String? get tenantFullname; String? get tenantNationalCode; String? get tenantMobile; String? get tenantCity; bool? get hasTenant; String? get archiveDate; String? get createdBy; String? get modifiedBy;
/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$HatchingCopyWith<Hatching> get copyWith => _$HatchingCopyWithImpl<Hatching>(this as Hatching, _$identity);

  /// Serializes this Hatching to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is Hatching&&(identical(other.id, id) || other.id == id)&&(identical(other.poultry, poultry) || other.poultry == poultry)&&(identical(other.chainCompany, chainCompany) || other.chainCompany == chainCompany)&&(identical(other.age, age) || other.age == age)&&(identical(other.inspectionLosses, inspectionLosses) || other.inspectionLosses == inspectionLosses)&&(identical(other.vetFarm, vetFarm) || other.vetFarm == vetFarm)&&(identical(other.activeKill, activeKill) || other.activeKill == activeKill)&&(identical(other.killingInfo, killingInfo) || other.killingInfo == killingInfo)&&(identical(other.freeGovernmentalInfo, freeGovernmentalInfo) || other.freeGovernmentalInfo == freeGovernmentalInfo)&&(identical(other.reportInfo, reportInfo) || other.reportInfo == reportInfo)&&(identical(other.key, key) || other.key == key)&&(identical(other.createDate, createDate) || other.createDate == createDate)&&(identical(other.modifyDate, modifyDate) || other.modifyDate == modifyDate)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.hasChainCompany, hasChainCompany) || other.hasChainCompany == hasChainCompany)&&(identical(other.poultryIdForeignKey, poultryIdForeignKey) || other.poultryIdForeignKey == poultryIdForeignKey)&&(identical(other.poultryHatchingIdKey, poultryHatchingIdKey) || other.poultryHatchingIdKey == poultryHatchingIdKey)&&(identical(other.quantity, quantity) || other.quantity == quantity)&&(identical(other.losses, losses) || other.losses == losses)&&(identical(other.leftOver, leftOver) || other.leftOver == leftOver)&&(identical(other.killedQuantity, killedQuantity) || other.killedQuantity == killedQuantity)&&(identical(other.extraKilledQuantity, extraKilledQuantity) || other.extraKilledQuantity == extraKilledQuantity)&&(identical(other.governmentalKilledQuantity, governmentalKilledQuantity) || other.governmentalKilledQuantity == governmentalKilledQuantity)&&(identical(other.governmentalQuantity, governmentalQuantity) || other.governmentalQuantity == governmentalQuantity)&&(identical(other.freeKilledQuantity, freeKilledQuantity) || other.freeKilledQuantity == freeKilledQuantity)&&(identical(other.freeQuantity, freeQuantity) || other.freeQuantity == freeQuantity)&&(identical(other.chainKilledQuantity, chainKilledQuantity) || other.chainKilledQuantity == chainKilledQuantity)&&(identical(other.chainKilledWeight, chainKilledWeight) || other.chainKilledWeight == chainKilledWeight)&&(identical(other.outProvinceKilledWeight, outProvinceKilledWeight) || other.outProvinceKilledWeight == outProvinceKilledWeight)&&(identical(other.outProvinceKilledQuantity, outProvinceKilledQuantity) || other.outProvinceKilledQuantity == outProvinceKilledQuantity)&&(identical(other.exportKilledWeight, exportKilledWeight) || other.exportKilledWeight == exportKilledWeight)&&(identical(other.exportKilledQuantity, exportKilledQuantity) || other.exportKilledQuantity == exportKilledQuantity)&&(identical(other.totalCommitment, totalCommitment) || other.totalCommitment == totalCommitment)&&(identical(other.commitmentType, commitmentType) || other.commitmentType == commitmentType)&&(identical(other.totalCommitmentQuantity, totalCommitmentQuantity) || other.totalCommitmentQuantity == totalCommitmentQuantity)&&(identical(other.totalFreeCommitmentQuantity, totalFreeCommitmentQuantity) || other.totalFreeCommitmentQuantity == totalFreeCommitmentQuantity)&&(identical(other.totalFreeCommitmentWeight, totalFreeCommitmentWeight) || other.totalFreeCommitmentWeight == totalFreeCommitmentWeight)&&(identical(other.totalKilledWeight, totalKilledWeight) || other.totalKilledWeight == totalKilledWeight)&&(identical(other.totalAverageKilledWeight, totalAverageKilledWeight) || other.totalAverageKilledWeight == totalAverageKilledWeight)&&(identical(other.requestLeftOver, requestLeftOver) || other.requestLeftOver == requestLeftOver)&&(identical(other.hall, hall) || other.hall == hall)&&(identical(other.date, date) || other.date == date)&&(identical(other.predicateDate, predicateDate) || other.predicateDate == predicateDate)&&(identical(other.chickenBreed, chickenBreed) || other.chickenBreed == chickenBreed)&&(identical(other.period, period) || other.period == period)&&(identical(other.allowHatching, allowHatching) || other.allowHatching == allowHatching)&&(identical(other.state, state) || other.state == state)&&(identical(other.archive, archive) || other.archive == archive)&&(identical(other.violation, violation) || other.violation == violation)&&(identical(other.message, message) || other.message == message)&&(identical(other.registrar, registrar) || other.registrar == registrar)&&const DeepCollectionEquality().equals(other.breed, breed)&&(identical(other.cityNumber, cityNumber) || other.cityNumber == cityNumber)&&(identical(other.cityName, cityName) || other.cityName == cityName)&&(identical(other.provinceNumber, provinceNumber) || other.provinceNumber == provinceNumber)&&(identical(other.provinceName, provinceName) || other.provinceName == provinceName)&&(identical(other.lastChange, lastChange) || other.lastChange == lastChange)&&(identical(other.chickenAge, chickenAge) || other.chickenAge == chickenAge)&&(identical(other.nowAge, nowAge) || other.nowAge == nowAge)&&(identical(other.latestHatchingChange, latestHatchingChange) || other.latestHatchingChange == latestHatchingChange)&&(identical(other.violationReport, violationReport) || other.violationReport == violationReport)&&(identical(other.violationMessage, violationMessage) || other.violationMessage == violationMessage)&&const DeepCollectionEquality().equals(other.violationImage, violationImage)&&(identical(other.violationReporter, violationReporter) || other.violationReporter == violationReporter)&&(identical(other.violationReportDate, violationReportDate) || other.violationReportDate == violationReportDate)&&(identical(other.violationReportEditor, violationReportEditor) || other.violationReportEditor == violationReportEditor)&&(identical(other.violationReportEditDate, violationReportEditDate) || other.violationReportEditDate == violationReportEditDate)&&(identical(other.totalLosses, totalLosses) || other.totalLosses == totalLosses)&&(identical(other.directLosses, directLosses) || other.directLosses == directLosses)&&(identical(other.directLossesInputer, directLossesInputer) || other.directLossesInputer == directLossesInputer)&&(identical(other.directLossesDate, directLossesDate) || other.directLossesDate == directLossesDate)&&(identical(other.directLossesEditor, directLossesEditor) || other.directLossesEditor == directLossesEditor)&&(identical(other.directLossesLastEditDate, directLossesLastEditDate) || other.directLossesLastEditDate == directLossesLastEditDate)&&(identical(other.endPeriodLossesInputer, endPeriodLossesInputer) || other.endPeriodLossesInputer == endPeriodLossesInputer)&&(identical(other.endPeriodLossesDate, endPeriodLossesDate) || other.endPeriodLossesDate == endPeriodLossesDate)&&(identical(other.endPeriodLossesEditor, endPeriodLossesEditor) || other.endPeriodLossesEditor == endPeriodLossesEditor)&&(identical(other.endPeriodLossesLastEditDate, endPeriodLossesLastEditDate) || other.endPeriodLossesLastEditDate == endPeriodLossesLastEditDate)&&(identical(other.breedingUniqueId, breedingUniqueId) || other.breedingUniqueId == breedingUniqueId)&&(identical(other.licenceNumber, licenceNumber) || other.licenceNumber == licenceNumber)&&(identical(other.temporaryTrash, temporaryTrash) || other.temporaryTrash == temporaryTrash)&&(identical(other.temporaryDeleted, temporaryDeleted) || other.temporaryDeleted == temporaryDeleted)&&(identical(other.firstDateInputArchive, firstDateInputArchive) || other.firstDateInputArchive == firstDateInputArchive)&&(identical(other.secondDateInputArchive, secondDateInputArchive) || other.secondDateInputArchive == secondDateInputArchive)&&(identical(other.inputArchiver, inputArchiver) || other.inputArchiver == inputArchiver)&&(identical(other.outputArchiveDate, outputArchiveDate) || other.outputArchiveDate == outputArchiveDate)&&(identical(other.outputArchiver, outputArchiver) || other.outputArchiver == outputArchiver)&&(identical(other.barDifferenceRequestWeight, barDifferenceRequestWeight) || other.barDifferenceRequestWeight == barDifferenceRequestWeight)&&(identical(other.barDifferenceRequestQuantity, barDifferenceRequestQuantity) || other.barDifferenceRequestQuantity == barDifferenceRequestQuantity)&&(identical(other.healthCertificate, healthCertificate) || other.healthCertificate == healthCertificate)&&(identical(other.samasatDischargePercentage, samasatDischargePercentage) || other.samasatDischargePercentage == samasatDischargePercentage)&&(identical(other.personTypeName, personTypeName) || other.personTypeName == personTypeName)&&(identical(other.interactTypeName, interactTypeName) || other.interactTypeName == interactTypeName)&&(identical(other.unionTypeName, unionTypeName) || other.unionTypeName == unionTypeName)&&(identical(other.certId, certId) || other.certId == certId)&&(identical(other.increaseQuantity, increaseQuantity) || other.increaseQuantity == increaseQuantity)&&(identical(other.tenantFullname, tenantFullname) || other.tenantFullname == tenantFullname)&&(identical(other.tenantNationalCode, tenantNationalCode) || other.tenantNationalCode == tenantNationalCode)&&(identical(other.tenantMobile, tenantMobile) || other.tenantMobile == tenantMobile)&&(identical(other.tenantCity, tenantCity) || other.tenantCity == tenantCity)&&(identical(other.hasTenant, hasTenant) || other.hasTenant == hasTenant)&&(identical(other.archiveDate, archiveDate) || other.archiveDate == archiveDate)&&(identical(other.createdBy, createdBy) || other.createdBy == createdBy)&&(identical(other.modifiedBy, modifiedBy) || other.modifiedBy == modifiedBy));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,id,poultry,chainCompany,age,inspectionLosses,vetFarm,activeKill,killingInfo,freeGovernmentalInfo,reportInfo,key,createDate,modifyDate,trash,hasChainCompany,poultryIdForeignKey,poultryHatchingIdKey,quantity,losses,leftOver,killedQuantity,extraKilledQuantity,governmentalKilledQuantity,governmentalQuantity,freeKilledQuantity,freeQuantity,chainKilledQuantity,chainKilledWeight,outProvinceKilledWeight,outProvinceKilledQuantity,exportKilledWeight,exportKilledQuantity,totalCommitment,commitmentType,totalCommitmentQuantity,totalFreeCommitmentQuantity,totalFreeCommitmentWeight,totalKilledWeight,totalAverageKilledWeight,requestLeftOver,hall,date,predicateDate,chickenBreed,period,allowHatching,state,archive,violation,message,registrar,const DeepCollectionEquality().hash(breed),cityNumber,cityName,provinceNumber,provinceName,lastChange,chickenAge,nowAge,latestHatchingChange,violationReport,violationMessage,const DeepCollectionEquality().hash(violationImage),violationReporter,violationReportDate,violationReportEditor,violationReportEditDate,totalLosses,directLosses,directLossesInputer,directLossesDate,directLossesEditor,directLossesLastEditDate,endPeriodLossesInputer,endPeriodLossesDate,endPeriodLossesEditor,endPeriodLossesLastEditDate,breedingUniqueId,licenceNumber,temporaryTrash,temporaryDeleted,firstDateInputArchive,secondDateInputArchive,inputArchiver,outputArchiveDate,outputArchiver,barDifferenceRequestWeight,barDifferenceRequestQuantity,healthCertificate,samasatDischargePercentage,personTypeName,interactTypeName,unionTypeName,certId,increaseQuantity,tenantFullname,tenantNationalCode,tenantMobile,tenantCity,hasTenant,archiveDate,createdBy,modifiedBy]);

@override
String toString() {
  return 'Hatching(id: $id, poultry: $poultry, chainCompany: $chainCompany, age: $age, inspectionLosses: $inspectionLosses, vetFarm: $vetFarm, activeKill: $activeKill, killingInfo: $killingInfo, freeGovernmentalInfo: $freeGovernmentalInfo, reportInfo: $reportInfo, key: $key, createDate: $createDate, modifyDate: $modifyDate, trash: $trash, hasChainCompany: $hasChainCompany, poultryIdForeignKey: $poultryIdForeignKey, poultryHatchingIdKey: $poultryHatchingIdKey, quantity: $quantity, losses: $losses, leftOver: $leftOver, killedQuantity: $killedQuantity, extraKilledQuantity: $extraKilledQuantity, governmentalKilledQuantity: $governmentalKilledQuantity, governmentalQuantity: $governmentalQuantity, freeKilledQuantity: $freeKilledQuantity, freeQuantity: $freeQuantity, chainKilledQuantity: $chainKilledQuantity, chainKilledWeight: $chainKilledWeight, outProvinceKilledWeight: $outProvinceKilledWeight, outProvinceKilledQuantity: $outProvinceKilledQuantity, exportKilledWeight: $exportKilledWeight, exportKilledQuantity: $exportKilledQuantity, totalCommitment: $totalCommitment, commitmentType: $commitmentType, totalCommitmentQuantity: $totalCommitmentQuantity, totalFreeCommitmentQuantity: $totalFreeCommitmentQuantity, totalFreeCommitmentWeight: $totalFreeCommitmentWeight, totalKilledWeight: $totalKilledWeight, totalAverageKilledWeight: $totalAverageKilledWeight, requestLeftOver: $requestLeftOver, hall: $hall, date: $date, predicateDate: $predicateDate, chickenBreed: $chickenBreed, period: $period, allowHatching: $allowHatching, state: $state, archive: $archive, violation: $violation, message: $message, registrar: $registrar, breed: $breed, cityNumber: $cityNumber, cityName: $cityName, provinceNumber: $provinceNumber, provinceName: $provinceName, lastChange: $lastChange, chickenAge: $chickenAge, nowAge: $nowAge, latestHatchingChange: $latestHatchingChange, violationReport: $violationReport, violationMessage: $violationMessage, violationImage: $violationImage, violationReporter: $violationReporter, violationReportDate: $violationReportDate, violationReportEditor: $violationReportEditor, violationReportEditDate: $violationReportEditDate, totalLosses: $totalLosses, directLosses: $directLosses, directLossesInputer: $directLossesInputer, directLossesDate: $directLossesDate, directLossesEditor: $directLossesEditor, directLossesLastEditDate: $directLossesLastEditDate, endPeriodLossesInputer: $endPeriodLossesInputer, endPeriodLossesDate: $endPeriodLossesDate, endPeriodLossesEditor: $endPeriodLossesEditor, endPeriodLossesLastEditDate: $endPeriodLossesLastEditDate, breedingUniqueId: $breedingUniqueId, licenceNumber: $licenceNumber, temporaryTrash: $temporaryTrash, temporaryDeleted: $temporaryDeleted, firstDateInputArchive: $firstDateInputArchive, secondDateInputArchive: $secondDateInputArchive, inputArchiver: $inputArchiver, outputArchiveDate: $outputArchiveDate, outputArchiver: $outputArchiver, barDifferenceRequestWeight: $barDifferenceRequestWeight, barDifferenceRequestQuantity: $barDifferenceRequestQuantity, healthCertificate: $healthCertificate, samasatDischargePercentage: $samasatDischargePercentage, personTypeName: $personTypeName, interactTypeName: $interactTypeName, unionTypeName: $unionTypeName, certId: $certId, increaseQuantity: $increaseQuantity, tenantFullname: $tenantFullname, tenantNationalCode: $tenantNationalCode, tenantMobile: $tenantMobile, tenantCity: $tenantCity, hasTenant: $hasTenant, archiveDate: $archiveDate, createdBy: $createdBy, modifiedBy: $modifiedBy)';
}


}

/// @nodoc
abstract mixin class $HatchingCopyWith<$Res>  {
  factory $HatchingCopyWith(Hatching value, $Res Function(Hatching) _then) = _$HatchingCopyWithImpl;
@useResult
$Res call({
 int? id, Poultry? poultry, ChainCompany? chainCompany, int? age, String? inspectionLosses, VetFarm? vetFarm, ActiveKill? activeKill, KillingInfo? killingInfo, FreeGovernmentalInfo? freeGovernmentalInfo, ReportInfo? reportInfo, String? key, DateTime? createDate, DateTime? modifyDate, bool? trash, bool? hasChainCompany, String? poultryIdForeignKey, String? poultryHatchingIdKey, int? quantity, int? losses, int? leftOver, int? killedQuantity, int? extraKilledQuantity, double? governmentalKilledQuantity, double? governmentalQuantity, double? freeKilledQuantity, double? freeQuantity, double? chainKilledQuantity, double? chainKilledWeight, double? outProvinceKilledWeight, double? outProvinceKilledQuantity, double? exportKilledWeight, double? exportKilledQuantity, double? totalCommitment, String? commitmentType, double? totalCommitmentQuantity, double? totalFreeCommitmentQuantity, double? totalFreeCommitmentWeight, double? totalKilledWeight, double? totalAverageKilledWeight, int? requestLeftOver, int? hall, DateTime? date, String? predicateDate, String? chickenBreed, int? period, String? allowHatching, String? state, bool? archive, bool? violation, String? message, Registrar? registrar, List<Breed>? breed, int? cityNumber, String? cityName, int? provinceNumber, String? provinceName, LastChange? lastChange, int? chickenAge, int? nowAge, LatestHatchingChange? latestHatchingChange, String? violationReport, String? violationMessage, List<String>? violationImage, String? violationReporter, DateTime? violationReportDate, String? violationReportEditor, DateTime? violationReportEditDate, int? totalLosses, int? directLosses, String? directLossesInputer, String? directLossesDate, String? directLossesEditor, String? directLossesLastEditDate, String? endPeriodLossesInputer, String? endPeriodLossesDate, String? endPeriodLossesEditor, String? endPeriodLossesLastEditDate, String? breedingUniqueId, String? licenceNumber, bool? temporaryTrash, bool? temporaryDeleted, String? firstDateInputArchive, String? secondDateInputArchive, String? inputArchiver, String? outputArchiveDate, String? outputArchiver, double? barDifferenceRequestWeight, double? barDifferenceRequestQuantity, String? healthCertificate, double? samasatDischargePercentage, String? personTypeName, String? interactTypeName, String? unionTypeName, String? certId, int? increaseQuantity, String? tenantFullname, String? tenantNationalCode, String? tenantMobile, String? tenantCity, bool? hasTenant, String? archiveDate, String? createdBy, String? modifiedBy
});


$PoultryCopyWith<$Res>? get poultry;$ChainCompanyCopyWith<$Res>? get chainCompany;$VetFarmCopyWith<$Res>? get vetFarm;$ActiveKillCopyWith<$Res>? get activeKill;$KillingInfoCopyWith<$Res>? get killingInfo;$FreeGovernmentalInfoCopyWith<$Res>? get freeGovernmentalInfo;$ReportInfoCopyWith<$Res>? get reportInfo;$RegistrarCopyWith<$Res>? get registrar;$LastChangeCopyWith<$Res>? get lastChange;$LatestHatchingChangeCopyWith<$Res>? get latestHatchingChange;

}
/// @nodoc
class _$HatchingCopyWithImpl<$Res>
    implements $HatchingCopyWith<$Res> {
  _$HatchingCopyWithImpl(this._self, this._then);

  final Hatching _self;
  final $Res Function(Hatching) _then;

/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? id = freezed,Object? poultry = freezed,Object? chainCompany = freezed,Object? age = freezed,Object? inspectionLosses = freezed,Object? vetFarm = freezed,Object? activeKill = freezed,Object? killingInfo = freezed,Object? freeGovernmentalInfo = freezed,Object? reportInfo = freezed,Object? key = freezed,Object? createDate = freezed,Object? modifyDate = freezed,Object? trash = freezed,Object? hasChainCompany = freezed,Object? poultryIdForeignKey = freezed,Object? poultryHatchingIdKey = freezed,Object? quantity = freezed,Object? losses = freezed,Object? leftOver = freezed,Object? killedQuantity = freezed,Object? extraKilledQuantity = freezed,Object? governmentalKilledQuantity = freezed,Object? governmentalQuantity = freezed,Object? freeKilledQuantity = freezed,Object? freeQuantity = freezed,Object? chainKilledQuantity = freezed,Object? chainKilledWeight = freezed,Object? outProvinceKilledWeight = freezed,Object? outProvinceKilledQuantity = freezed,Object? exportKilledWeight = freezed,Object? exportKilledQuantity = freezed,Object? totalCommitment = freezed,Object? commitmentType = freezed,Object? totalCommitmentQuantity = freezed,Object? totalFreeCommitmentQuantity = freezed,Object? totalFreeCommitmentWeight = freezed,Object? totalKilledWeight = freezed,Object? totalAverageKilledWeight = freezed,Object? requestLeftOver = freezed,Object? hall = freezed,Object? date = freezed,Object? predicateDate = freezed,Object? chickenBreed = freezed,Object? period = freezed,Object? allowHatching = freezed,Object? state = freezed,Object? archive = freezed,Object? violation = freezed,Object? message = freezed,Object? registrar = freezed,Object? breed = freezed,Object? cityNumber = freezed,Object? cityName = freezed,Object? provinceNumber = freezed,Object? provinceName = freezed,Object? lastChange = freezed,Object? chickenAge = freezed,Object? nowAge = freezed,Object? latestHatchingChange = freezed,Object? violationReport = freezed,Object? violationMessage = freezed,Object? violationImage = freezed,Object? violationReporter = freezed,Object? violationReportDate = freezed,Object? violationReportEditor = freezed,Object? violationReportEditDate = freezed,Object? totalLosses = freezed,Object? directLosses = freezed,Object? directLossesInputer = freezed,Object? directLossesDate = freezed,Object? directLossesEditor = freezed,Object? directLossesLastEditDate = freezed,Object? endPeriodLossesInputer = freezed,Object? endPeriodLossesDate = freezed,Object? endPeriodLossesEditor = freezed,Object? endPeriodLossesLastEditDate = freezed,Object? breedingUniqueId = freezed,Object? licenceNumber = freezed,Object? temporaryTrash = freezed,Object? temporaryDeleted = freezed,Object? firstDateInputArchive = freezed,Object? secondDateInputArchive = freezed,Object? inputArchiver = freezed,Object? outputArchiveDate = freezed,Object? outputArchiver = freezed,Object? barDifferenceRequestWeight = freezed,Object? barDifferenceRequestQuantity = freezed,Object? healthCertificate = freezed,Object? samasatDischargePercentage = freezed,Object? personTypeName = freezed,Object? interactTypeName = freezed,Object? unionTypeName = freezed,Object? certId = freezed,Object? increaseQuantity = freezed,Object? tenantFullname = freezed,Object? tenantNationalCode = freezed,Object? tenantMobile = freezed,Object? tenantCity = freezed,Object? hasTenant = freezed,Object? archiveDate = freezed,Object? createdBy = freezed,Object? modifiedBy = freezed,}) {
  return _then(_self.copyWith(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,poultry: freezed == poultry ? _self.poultry : poultry // ignore: cast_nullable_to_non_nullable
as Poultry?,chainCompany: freezed == chainCompany ? _self.chainCompany : chainCompany // ignore: cast_nullable_to_non_nullable
as ChainCompany?,age: freezed == age ? _self.age : age // ignore: cast_nullable_to_non_nullable
as int?,inspectionLosses: freezed == inspectionLosses ? _self.inspectionLosses : inspectionLosses // ignore: cast_nullable_to_non_nullable
as String?,vetFarm: freezed == vetFarm ? _self.vetFarm : vetFarm // ignore: cast_nullable_to_non_nullable
as VetFarm?,activeKill: freezed == activeKill ? _self.activeKill : activeKill // ignore: cast_nullable_to_non_nullable
as ActiveKill?,killingInfo: freezed == killingInfo ? _self.killingInfo : killingInfo // ignore: cast_nullable_to_non_nullable
as KillingInfo?,freeGovernmentalInfo: freezed == freeGovernmentalInfo ? _self.freeGovernmentalInfo : freeGovernmentalInfo // ignore: cast_nullable_to_non_nullable
as FreeGovernmentalInfo?,reportInfo: freezed == reportInfo ? _self.reportInfo : reportInfo // ignore: cast_nullable_to_non_nullable
as ReportInfo?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,createDate: freezed == createDate ? _self.createDate : createDate // ignore: cast_nullable_to_non_nullable
as DateTime?,modifyDate: freezed == modifyDate ? _self.modifyDate : modifyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,hasChainCompany: freezed == hasChainCompany ? _self.hasChainCompany : hasChainCompany // ignore: cast_nullable_to_non_nullable
as bool?,poultryIdForeignKey: freezed == poultryIdForeignKey ? _self.poultryIdForeignKey : poultryIdForeignKey // ignore: cast_nullable_to_non_nullable
as String?,poultryHatchingIdKey: freezed == poultryHatchingIdKey ? _self.poultryHatchingIdKey : poultryHatchingIdKey // ignore: cast_nullable_to_non_nullable
as String?,quantity: freezed == quantity ? _self.quantity : quantity // ignore: cast_nullable_to_non_nullable
as int?,losses: freezed == losses ? _self.losses : losses // ignore: cast_nullable_to_non_nullable
as int?,leftOver: freezed == leftOver ? _self.leftOver : leftOver // ignore: cast_nullable_to_non_nullable
as int?,killedQuantity: freezed == killedQuantity ? _self.killedQuantity : killedQuantity // ignore: cast_nullable_to_non_nullable
as int?,extraKilledQuantity: freezed == extraKilledQuantity ? _self.extraKilledQuantity : extraKilledQuantity // ignore: cast_nullable_to_non_nullable
as int?,governmentalKilledQuantity: freezed == governmentalKilledQuantity ? _self.governmentalKilledQuantity : governmentalKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,governmentalQuantity: freezed == governmentalQuantity ? _self.governmentalQuantity : governmentalQuantity // ignore: cast_nullable_to_non_nullable
as double?,freeKilledQuantity: freezed == freeKilledQuantity ? _self.freeKilledQuantity : freeKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,freeQuantity: freezed == freeQuantity ? _self.freeQuantity : freeQuantity // ignore: cast_nullable_to_non_nullable
as double?,chainKilledQuantity: freezed == chainKilledQuantity ? _self.chainKilledQuantity : chainKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,chainKilledWeight: freezed == chainKilledWeight ? _self.chainKilledWeight : chainKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,outProvinceKilledWeight: freezed == outProvinceKilledWeight ? _self.outProvinceKilledWeight : outProvinceKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,outProvinceKilledQuantity: freezed == outProvinceKilledQuantity ? _self.outProvinceKilledQuantity : outProvinceKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,exportKilledWeight: freezed == exportKilledWeight ? _self.exportKilledWeight : exportKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,exportKilledQuantity: freezed == exportKilledQuantity ? _self.exportKilledQuantity : exportKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,totalCommitment: freezed == totalCommitment ? _self.totalCommitment : totalCommitment // ignore: cast_nullable_to_non_nullable
as double?,commitmentType: freezed == commitmentType ? _self.commitmentType : commitmentType // ignore: cast_nullable_to_non_nullable
as String?,totalCommitmentQuantity: freezed == totalCommitmentQuantity ? _self.totalCommitmentQuantity : totalCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,totalFreeCommitmentQuantity: freezed == totalFreeCommitmentQuantity ? _self.totalFreeCommitmentQuantity : totalFreeCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,totalFreeCommitmentWeight: freezed == totalFreeCommitmentWeight ? _self.totalFreeCommitmentWeight : totalFreeCommitmentWeight // ignore: cast_nullable_to_non_nullable
as double?,totalKilledWeight: freezed == totalKilledWeight ? _self.totalKilledWeight : totalKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,totalAverageKilledWeight: freezed == totalAverageKilledWeight ? _self.totalAverageKilledWeight : totalAverageKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,requestLeftOver: freezed == requestLeftOver ? _self.requestLeftOver : requestLeftOver // ignore: cast_nullable_to_non_nullable
as int?,hall: freezed == hall ? _self.hall : hall // ignore: cast_nullable_to_non_nullable
as int?,date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,predicateDate: freezed == predicateDate ? _self.predicateDate : predicateDate // ignore: cast_nullable_to_non_nullable
as String?,chickenBreed: freezed == chickenBreed ? _self.chickenBreed : chickenBreed // ignore: cast_nullable_to_non_nullable
as String?,period: freezed == period ? _self.period : period // ignore: cast_nullable_to_non_nullable
as int?,allowHatching: freezed == allowHatching ? _self.allowHatching : allowHatching // ignore: cast_nullable_to_non_nullable
as String?,state: freezed == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
as String?,archive: freezed == archive ? _self.archive : archive // ignore: cast_nullable_to_non_nullable
as bool?,violation: freezed == violation ? _self.violation : violation // ignore: cast_nullable_to_non_nullable
as bool?,message: freezed == message ? _self.message : message // ignore: cast_nullable_to_non_nullable
as String?,registrar: freezed == registrar ? _self.registrar : registrar // ignore: cast_nullable_to_non_nullable
as Registrar?,breed: freezed == breed ? _self.breed : breed // ignore: cast_nullable_to_non_nullable
as List<Breed>?,cityNumber: freezed == cityNumber ? _self.cityNumber : cityNumber // ignore: cast_nullable_to_non_nullable
as int?,cityName: freezed == cityName ? _self.cityName : cityName // ignore: cast_nullable_to_non_nullable
as String?,provinceNumber: freezed == provinceNumber ? _self.provinceNumber : provinceNumber // ignore: cast_nullable_to_non_nullable
as int?,provinceName: freezed == provinceName ? _self.provinceName : provinceName // ignore: cast_nullable_to_non_nullable
as String?,lastChange: freezed == lastChange ? _self.lastChange : lastChange // ignore: cast_nullable_to_non_nullable
as LastChange?,chickenAge: freezed == chickenAge ? _self.chickenAge : chickenAge // ignore: cast_nullable_to_non_nullable
as int?,nowAge: freezed == nowAge ? _self.nowAge : nowAge // ignore: cast_nullable_to_non_nullable
as int?,latestHatchingChange: freezed == latestHatchingChange ? _self.latestHatchingChange : latestHatchingChange // ignore: cast_nullable_to_non_nullable
as LatestHatchingChange?,violationReport: freezed == violationReport ? _self.violationReport : violationReport // ignore: cast_nullable_to_non_nullable
as String?,violationMessage: freezed == violationMessage ? _self.violationMessage : violationMessage // ignore: cast_nullable_to_non_nullable
as String?,violationImage: freezed == violationImage ? _self.violationImage : violationImage // ignore: cast_nullable_to_non_nullable
as List<String>?,violationReporter: freezed == violationReporter ? _self.violationReporter : violationReporter // ignore: cast_nullable_to_non_nullable
as String?,violationReportDate: freezed == violationReportDate ? _self.violationReportDate : violationReportDate // ignore: cast_nullable_to_non_nullable
as DateTime?,violationReportEditor: freezed == violationReportEditor ? _self.violationReportEditor : violationReportEditor // ignore: cast_nullable_to_non_nullable
as String?,violationReportEditDate: freezed == violationReportEditDate ? _self.violationReportEditDate : violationReportEditDate // ignore: cast_nullable_to_non_nullable
as DateTime?,totalLosses: freezed == totalLosses ? _self.totalLosses : totalLosses // ignore: cast_nullable_to_non_nullable
as int?,directLosses: freezed == directLosses ? _self.directLosses : directLosses // ignore: cast_nullable_to_non_nullable
as int?,directLossesInputer: freezed == directLossesInputer ? _self.directLossesInputer : directLossesInputer // ignore: cast_nullable_to_non_nullable
as String?,directLossesDate: freezed == directLossesDate ? _self.directLossesDate : directLossesDate // ignore: cast_nullable_to_non_nullable
as String?,directLossesEditor: freezed == directLossesEditor ? _self.directLossesEditor : directLossesEditor // ignore: cast_nullable_to_non_nullable
as String?,directLossesLastEditDate: freezed == directLossesLastEditDate ? _self.directLossesLastEditDate : directLossesLastEditDate // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesInputer: freezed == endPeriodLossesInputer ? _self.endPeriodLossesInputer : endPeriodLossesInputer // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesDate: freezed == endPeriodLossesDate ? _self.endPeriodLossesDate : endPeriodLossesDate // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesEditor: freezed == endPeriodLossesEditor ? _self.endPeriodLossesEditor : endPeriodLossesEditor // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesLastEditDate: freezed == endPeriodLossesLastEditDate ? _self.endPeriodLossesLastEditDate : endPeriodLossesLastEditDate // ignore: cast_nullable_to_non_nullable
as String?,breedingUniqueId: freezed == breedingUniqueId ? _self.breedingUniqueId : breedingUniqueId // ignore: cast_nullable_to_non_nullable
as String?,licenceNumber: freezed == licenceNumber ? _self.licenceNumber : licenceNumber // ignore: cast_nullable_to_non_nullable
as String?,temporaryTrash: freezed == temporaryTrash ? _self.temporaryTrash : temporaryTrash // ignore: cast_nullable_to_non_nullable
as bool?,temporaryDeleted: freezed == temporaryDeleted ? _self.temporaryDeleted : temporaryDeleted // ignore: cast_nullable_to_non_nullable
as bool?,firstDateInputArchive: freezed == firstDateInputArchive ? _self.firstDateInputArchive : firstDateInputArchive // ignore: cast_nullable_to_non_nullable
as String?,secondDateInputArchive: freezed == secondDateInputArchive ? _self.secondDateInputArchive : secondDateInputArchive // ignore: cast_nullable_to_non_nullable
as String?,inputArchiver: freezed == inputArchiver ? _self.inputArchiver : inputArchiver // ignore: cast_nullable_to_non_nullable
as String?,outputArchiveDate: freezed == outputArchiveDate ? _self.outputArchiveDate : outputArchiveDate // ignore: cast_nullable_to_non_nullable
as String?,outputArchiver: freezed == outputArchiver ? _self.outputArchiver : outputArchiver // ignore: cast_nullable_to_non_nullable
as String?,barDifferenceRequestWeight: freezed == barDifferenceRequestWeight ? _self.barDifferenceRequestWeight : barDifferenceRequestWeight // ignore: cast_nullable_to_non_nullable
as double?,barDifferenceRequestQuantity: freezed == barDifferenceRequestQuantity ? _self.barDifferenceRequestQuantity : barDifferenceRequestQuantity // ignore: cast_nullable_to_non_nullable
as double?,healthCertificate: freezed == healthCertificate ? _self.healthCertificate : healthCertificate // ignore: cast_nullable_to_non_nullable
as String?,samasatDischargePercentage: freezed == samasatDischargePercentage ? _self.samasatDischargePercentage : samasatDischargePercentage // ignore: cast_nullable_to_non_nullable
as double?,personTypeName: freezed == personTypeName ? _self.personTypeName : personTypeName // ignore: cast_nullable_to_non_nullable
as String?,interactTypeName: freezed == interactTypeName ? _self.interactTypeName : interactTypeName // ignore: cast_nullable_to_non_nullable
as String?,unionTypeName: freezed == unionTypeName ? _self.unionTypeName : unionTypeName // ignore: cast_nullable_to_non_nullable
as String?,certId: freezed == certId ? _self.certId : certId // ignore: cast_nullable_to_non_nullable
as String?,increaseQuantity: freezed == increaseQuantity ? _self.increaseQuantity : increaseQuantity // ignore: cast_nullable_to_non_nullable
as int?,tenantFullname: freezed == tenantFullname ? _self.tenantFullname : tenantFullname // ignore: cast_nullable_to_non_nullable
as String?,tenantNationalCode: freezed == tenantNationalCode ? _self.tenantNationalCode : tenantNationalCode // ignore: cast_nullable_to_non_nullable
as String?,tenantMobile: freezed == tenantMobile ? _self.tenantMobile : tenantMobile // ignore: cast_nullable_to_non_nullable
as String?,tenantCity: freezed == tenantCity ? _self.tenantCity : tenantCity // ignore: cast_nullable_to_non_nullable
as String?,hasTenant: freezed == hasTenant ? _self.hasTenant : hasTenant // ignore: cast_nullable_to_non_nullable
as bool?,archiveDate: freezed == archiveDate ? _self.archiveDate : archiveDate // ignore: cast_nullable_to_non_nullable
as String?,createdBy: freezed == createdBy ? _self.createdBy : createdBy // ignore: cast_nullable_to_non_nullable
as String?,modifiedBy: freezed == modifiedBy ? _self.modifiedBy : modifiedBy // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}
/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$PoultryCopyWith<$Res>? get poultry {
    if (_self.poultry == null) {
    return null;
  }

  return $PoultryCopyWith<$Res>(_self.poultry!, (value) {
    return _then(_self.copyWith(poultry: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ChainCompanyCopyWith<$Res>? get chainCompany {
    if (_self.chainCompany == null) {
    return null;
  }

  return $ChainCompanyCopyWith<$Res>(_self.chainCompany!, (value) {
    return _then(_self.copyWith(chainCompany: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$VetFarmCopyWith<$Res>? get vetFarm {
    if (_self.vetFarm == null) {
    return null;
  }

  return $VetFarmCopyWith<$Res>(_self.vetFarm!, (value) {
    return _then(_self.copyWith(vetFarm: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ActiveKillCopyWith<$Res>? get activeKill {
    if (_self.activeKill == null) {
    return null;
  }

  return $ActiveKillCopyWith<$Res>(_self.activeKill!, (value) {
    return _then(_self.copyWith(activeKill: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$KillingInfoCopyWith<$Res>? get killingInfo {
    if (_self.killingInfo == null) {
    return null;
  }

  return $KillingInfoCopyWith<$Res>(_self.killingInfo!, (value) {
    return _then(_self.copyWith(killingInfo: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$FreeGovernmentalInfoCopyWith<$Res>? get freeGovernmentalInfo {
    if (_self.freeGovernmentalInfo == null) {
    return null;
  }

  return $FreeGovernmentalInfoCopyWith<$Res>(_self.freeGovernmentalInfo!, (value) {
    return _then(_self.copyWith(freeGovernmentalInfo: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ReportInfoCopyWith<$Res>? get reportInfo {
    if (_self.reportInfo == null) {
    return null;
  }

  return $ReportInfoCopyWith<$Res>(_self.reportInfo!, (value) {
    return _then(_self.copyWith(reportInfo: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$RegistrarCopyWith<$Res>? get registrar {
    if (_self.registrar == null) {
    return null;
  }

  return $RegistrarCopyWith<$Res>(_self.registrar!, (value) {
    return _then(_self.copyWith(registrar: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$LastChangeCopyWith<$Res>? get lastChange {
    if (_self.lastChange == null) {
    return null;
  }

  return $LastChangeCopyWith<$Res>(_self.lastChange!, (value) {
    return _then(_self.copyWith(lastChange: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$LatestHatchingChangeCopyWith<$Res>? get latestHatchingChange {
    if (_self.latestHatchingChange == null) {
    return null;
  }

  return $LatestHatchingChangeCopyWith<$Res>(_self.latestHatchingChange!, (value) {
    return _then(_self.copyWith(latestHatchingChange: value));
  });
}
}


/// Adds pattern-matching-related methods to [Hatching].
extension HatchingPatterns on Hatching {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _Hatching value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _Hatching() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _Hatching value)  $default,){
final _that = this;
switch (_that) {
case _Hatching():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _Hatching value)?  $default,){
final _that = this;
switch (_that) {
case _Hatching() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( int? id,  Poultry? poultry,  ChainCompany? chainCompany,  int? age,  String? inspectionLosses,  VetFarm? vetFarm,  ActiveKill? activeKill,  KillingInfo? killingInfo,  FreeGovernmentalInfo? freeGovernmentalInfo,  ReportInfo? reportInfo,  String? key,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  bool? hasChainCompany,  String? poultryIdForeignKey,  String? poultryHatchingIdKey,  int? quantity,  int? losses,  int? leftOver,  int? killedQuantity,  int? extraKilledQuantity,  double? governmentalKilledQuantity,  double? governmentalQuantity,  double? freeKilledQuantity,  double? freeQuantity,  double? chainKilledQuantity,  double? chainKilledWeight,  double? outProvinceKilledWeight,  double? outProvinceKilledQuantity,  double? exportKilledWeight,  double? exportKilledQuantity,  double? totalCommitment,  String? commitmentType,  double? totalCommitmentQuantity,  double? totalFreeCommitmentQuantity,  double? totalFreeCommitmentWeight,  double? totalKilledWeight,  double? totalAverageKilledWeight,  int? requestLeftOver,  int? hall,  DateTime? date,  String? predicateDate,  String? chickenBreed,  int? period,  String? allowHatching,  String? state,  bool? archive,  bool? violation,  String? message,  Registrar? registrar,  List<Breed>? breed,  int? cityNumber,  String? cityName,  int? provinceNumber,  String? provinceName,  LastChange? lastChange,  int? chickenAge,  int? nowAge,  LatestHatchingChange? latestHatchingChange,  String? violationReport,  String? violationMessage,  List<String>? violationImage,  String? violationReporter,  DateTime? violationReportDate,  String? violationReportEditor,  DateTime? violationReportEditDate,  int? totalLosses,  int? directLosses,  String? directLossesInputer,  String? directLossesDate,  String? directLossesEditor,  String? directLossesLastEditDate,  String? endPeriodLossesInputer,  String? endPeriodLossesDate,  String? endPeriodLossesEditor,  String? endPeriodLossesLastEditDate,  String? breedingUniqueId,  String? licenceNumber,  bool? temporaryTrash,  bool? temporaryDeleted,  String? firstDateInputArchive,  String? secondDateInputArchive,  String? inputArchiver,  String? outputArchiveDate,  String? outputArchiver,  double? barDifferenceRequestWeight,  double? barDifferenceRequestQuantity,  String? healthCertificate,  double? samasatDischargePercentage,  String? personTypeName,  String? interactTypeName,  String? unionTypeName,  String? certId,  int? increaseQuantity,  String? tenantFullname,  String? tenantNationalCode,  String? tenantMobile,  String? tenantCity,  bool? hasTenant,  String? archiveDate,  String? createdBy,  String? modifiedBy)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Hatching() when $default != null:
return $default(_that.id,_that.poultry,_that.chainCompany,_that.age,_that.inspectionLosses,_that.vetFarm,_that.activeKill,_that.killingInfo,_that.freeGovernmentalInfo,_that.reportInfo,_that.key,_that.createDate,_that.modifyDate,_that.trash,_that.hasChainCompany,_that.poultryIdForeignKey,_that.poultryHatchingIdKey,_that.quantity,_that.losses,_that.leftOver,_that.killedQuantity,_that.extraKilledQuantity,_that.governmentalKilledQuantity,_that.governmentalQuantity,_that.freeKilledQuantity,_that.freeQuantity,_that.chainKilledQuantity,_that.chainKilledWeight,_that.outProvinceKilledWeight,_that.outProvinceKilledQuantity,_that.exportKilledWeight,_that.exportKilledQuantity,_that.totalCommitment,_that.commitmentType,_that.totalCommitmentQuantity,_that.totalFreeCommitmentQuantity,_that.totalFreeCommitmentWeight,_that.totalKilledWeight,_that.totalAverageKilledWeight,_that.requestLeftOver,_that.hall,_that.date,_that.predicateDate,_that.chickenBreed,_that.period,_that.allowHatching,_that.state,_that.archive,_that.violation,_that.message,_that.registrar,_that.breed,_that.cityNumber,_that.cityName,_that.provinceNumber,_that.provinceName,_that.lastChange,_that.chickenAge,_that.nowAge,_that.latestHatchingChange,_that.violationReport,_that.violationMessage,_that.violationImage,_that.violationReporter,_that.violationReportDate,_that.violationReportEditor,_that.violationReportEditDate,_that.totalLosses,_that.directLosses,_that.directLossesInputer,_that.directLossesDate,_that.directLossesEditor,_that.directLossesLastEditDate,_that.endPeriodLossesInputer,_that.endPeriodLossesDate,_that.endPeriodLossesEditor,_that.endPeriodLossesLastEditDate,_that.breedingUniqueId,_that.licenceNumber,_that.temporaryTrash,_that.temporaryDeleted,_that.firstDateInputArchive,_that.secondDateInputArchive,_that.inputArchiver,_that.outputArchiveDate,_that.outputArchiver,_that.barDifferenceRequestWeight,_that.barDifferenceRequestQuantity,_that.healthCertificate,_that.samasatDischargePercentage,_that.personTypeName,_that.interactTypeName,_that.unionTypeName,_that.certId,_that.increaseQuantity,_that.tenantFullname,_that.tenantNationalCode,_that.tenantMobile,_that.tenantCity,_that.hasTenant,_that.archiveDate,_that.createdBy,_that.modifiedBy);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int? id,  Poultry? poultry,  ChainCompany? chainCompany,  int? age,  String? inspectionLosses,  VetFarm? vetFarm,  ActiveKill? activeKill,  KillingInfo? killingInfo,  FreeGovernmentalInfo? freeGovernmentalInfo,  ReportInfo? reportInfo,  String? key,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  bool? hasChainCompany,  String? poultryIdForeignKey,  String? poultryHatchingIdKey,  int? quantity,  int? losses,  int? leftOver,  int? killedQuantity,  int? extraKilledQuantity,  double? governmentalKilledQuantity,  double? governmentalQuantity,  double? freeKilledQuantity,  double? freeQuantity,  double? chainKilledQuantity,  double? chainKilledWeight,  double? outProvinceKilledWeight,  double? outProvinceKilledQuantity,  double? exportKilledWeight,  double? exportKilledQuantity,  double? totalCommitment,  String? commitmentType,  double? totalCommitmentQuantity,  double? totalFreeCommitmentQuantity,  double? totalFreeCommitmentWeight,  double? totalKilledWeight,  double? totalAverageKilledWeight,  int? requestLeftOver,  int? hall,  DateTime? date,  String? predicateDate,  String? chickenBreed,  int? period,  String? allowHatching,  String? state,  bool? archive,  bool? violation,  String? message,  Registrar? registrar,  List<Breed>? breed,  int? cityNumber,  String? cityName,  int? provinceNumber,  String? provinceName,  LastChange? lastChange,  int? chickenAge,  int? nowAge,  LatestHatchingChange? latestHatchingChange,  String? violationReport,  String? violationMessage,  List<String>? violationImage,  String? violationReporter,  DateTime? violationReportDate,  String? violationReportEditor,  DateTime? violationReportEditDate,  int? totalLosses,  int? directLosses,  String? directLossesInputer,  String? directLossesDate,  String? directLossesEditor,  String? directLossesLastEditDate,  String? endPeriodLossesInputer,  String? endPeriodLossesDate,  String? endPeriodLossesEditor,  String? endPeriodLossesLastEditDate,  String? breedingUniqueId,  String? licenceNumber,  bool? temporaryTrash,  bool? temporaryDeleted,  String? firstDateInputArchive,  String? secondDateInputArchive,  String? inputArchiver,  String? outputArchiveDate,  String? outputArchiver,  double? barDifferenceRequestWeight,  double? barDifferenceRequestQuantity,  String? healthCertificate,  double? samasatDischargePercentage,  String? personTypeName,  String? interactTypeName,  String? unionTypeName,  String? certId,  int? increaseQuantity,  String? tenantFullname,  String? tenantNationalCode,  String? tenantMobile,  String? tenantCity,  bool? hasTenant,  String? archiveDate,  String? createdBy,  String? modifiedBy)  $default,) {final _that = this;
switch (_that) {
case _Hatching():
return $default(_that.id,_that.poultry,_that.chainCompany,_that.age,_that.inspectionLosses,_that.vetFarm,_that.activeKill,_that.killingInfo,_that.freeGovernmentalInfo,_that.reportInfo,_that.key,_that.createDate,_that.modifyDate,_that.trash,_that.hasChainCompany,_that.poultryIdForeignKey,_that.poultryHatchingIdKey,_that.quantity,_that.losses,_that.leftOver,_that.killedQuantity,_that.extraKilledQuantity,_that.governmentalKilledQuantity,_that.governmentalQuantity,_that.freeKilledQuantity,_that.freeQuantity,_that.chainKilledQuantity,_that.chainKilledWeight,_that.outProvinceKilledWeight,_that.outProvinceKilledQuantity,_that.exportKilledWeight,_that.exportKilledQuantity,_that.totalCommitment,_that.commitmentType,_that.totalCommitmentQuantity,_that.totalFreeCommitmentQuantity,_that.totalFreeCommitmentWeight,_that.totalKilledWeight,_that.totalAverageKilledWeight,_that.requestLeftOver,_that.hall,_that.date,_that.predicateDate,_that.chickenBreed,_that.period,_that.allowHatching,_that.state,_that.archive,_that.violation,_that.message,_that.registrar,_that.breed,_that.cityNumber,_that.cityName,_that.provinceNumber,_that.provinceName,_that.lastChange,_that.chickenAge,_that.nowAge,_that.latestHatchingChange,_that.violationReport,_that.violationMessage,_that.violationImage,_that.violationReporter,_that.violationReportDate,_that.violationReportEditor,_that.violationReportEditDate,_that.totalLosses,_that.directLosses,_that.directLossesInputer,_that.directLossesDate,_that.directLossesEditor,_that.directLossesLastEditDate,_that.endPeriodLossesInputer,_that.endPeriodLossesDate,_that.endPeriodLossesEditor,_that.endPeriodLossesLastEditDate,_that.breedingUniqueId,_that.licenceNumber,_that.temporaryTrash,_that.temporaryDeleted,_that.firstDateInputArchive,_that.secondDateInputArchive,_that.inputArchiver,_that.outputArchiveDate,_that.outputArchiver,_that.barDifferenceRequestWeight,_that.barDifferenceRequestQuantity,_that.healthCertificate,_that.samasatDischargePercentage,_that.personTypeName,_that.interactTypeName,_that.unionTypeName,_that.certId,_that.increaseQuantity,_that.tenantFullname,_that.tenantNationalCode,_that.tenantMobile,_that.tenantCity,_that.hasTenant,_that.archiveDate,_that.createdBy,_that.modifiedBy);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( int? id,  Poultry? poultry,  ChainCompany? chainCompany,  int? age,  String? inspectionLosses,  VetFarm? vetFarm,  ActiveKill? activeKill,  KillingInfo? killingInfo,  FreeGovernmentalInfo? freeGovernmentalInfo,  ReportInfo? reportInfo,  String? key,  DateTime? createDate,  DateTime? modifyDate,  bool? trash,  bool? hasChainCompany,  String? poultryIdForeignKey,  String? poultryHatchingIdKey,  int? quantity,  int? losses,  int? leftOver,  int? killedQuantity,  int? extraKilledQuantity,  double? governmentalKilledQuantity,  double? governmentalQuantity,  double? freeKilledQuantity,  double? freeQuantity,  double? chainKilledQuantity,  double? chainKilledWeight,  double? outProvinceKilledWeight,  double? outProvinceKilledQuantity,  double? exportKilledWeight,  double? exportKilledQuantity,  double? totalCommitment,  String? commitmentType,  double? totalCommitmentQuantity,  double? totalFreeCommitmentQuantity,  double? totalFreeCommitmentWeight,  double? totalKilledWeight,  double? totalAverageKilledWeight,  int? requestLeftOver,  int? hall,  DateTime? date,  String? predicateDate,  String? chickenBreed,  int? period,  String? allowHatching,  String? state,  bool? archive,  bool? violation,  String? message,  Registrar? registrar,  List<Breed>? breed,  int? cityNumber,  String? cityName,  int? provinceNumber,  String? provinceName,  LastChange? lastChange,  int? chickenAge,  int? nowAge,  LatestHatchingChange? latestHatchingChange,  String? violationReport,  String? violationMessage,  List<String>? violationImage,  String? violationReporter,  DateTime? violationReportDate,  String? violationReportEditor,  DateTime? violationReportEditDate,  int? totalLosses,  int? directLosses,  String? directLossesInputer,  String? directLossesDate,  String? directLossesEditor,  String? directLossesLastEditDate,  String? endPeriodLossesInputer,  String? endPeriodLossesDate,  String? endPeriodLossesEditor,  String? endPeriodLossesLastEditDate,  String? breedingUniqueId,  String? licenceNumber,  bool? temporaryTrash,  bool? temporaryDeleted,  String? firstDateInputArchive,  String? secondDateInputArchive,  String? inputArchiver,  String? outputArchiveDate,  String? outputArchiver,  double? barDifferenceRequestWeight,  double? barDifferenceRequestQuantity,  String? healthCertificate,  double? samasatDischargePercentage,  String? personTypeName,  String? interactTypeName,  String? unionTypeName,  String? certId,  int? increaseQuantity,  String? tenantFullname,  String? tenantNationalCode,  String? tenantMobile,  String? tenantCity,  bool? hasTenant,  String? archiveDate,  String? createdBy,  String? modifiedBy)?  $default,) {final _that = this;
switch (_that) {
case _Hatching() when $default != null:
return $default(_that.id,_that.poultry,_that.chainCompany,_that.age,_that.inspectionLosses,_that.vetFarm,_that.activeKill,_that.killingInfo,_that.freeGovernmentalInfo,_that.reportInfo,_that.key,_that.createDate,_that.modifyDate,_that.trash,_that.hasChainCompany,_that.poultryIdForeignKey,_that.poultryHatchingIdKey,_that.quantity,_that.losses,_that.leftOver,_that.killedQuantity,_that.extraKilledQuantity,_that.governmentalKilledQuantity,_that.governmentalQuantity,_that.freeKilledQuantity,_that.freeQuantity,_that.chainKilledQuantity,_that.chainKilledWeight,_that.outProvinceKilledWeight,_that.outProvinceKilledQuantity,_that.exportKilledWeight,_that.exportKilledQuantity,_that.totalCommitment,_that.commitmentType,_that.totalCommitmentQuantity,_that.totalFreeCommitmentQuantity,_that.totalFreeCommitmentWeight,_that.totalKilledWeight,_that.totalAverageKilledWeight,_that.requestLeftOver,_that.hall,_that.date,_that.predicateDate,_that.chickenBreed,_that.period,_that.allowHatching,_that.state,_that.archive,_that.violation,_that.message,_that.registrar,_that.breed,_that.cityNumber,_that.cityName,_that.provinceNumber,_that.provinceName,_that.lastChange,_that.chickenAge,_that.nowAge,_that.latestHatchingChange,_that.violationReport,_that.violationMessage,_that.violationImage,_that.violationReporter,_that.violationReportDate,_that.violationReportEditor,_that.violationReportEditDate,_that.totalLosses,_that.directLosses,_that.directLossesInputer,_that.directLossesDate,_that.directLossesEditor,_that.directLossesLastEditDate,_that.endPeriodLossesInputer,_that.endPeriodLossesDate,_that.endPeriodLossesEditor,_that.endPeriodLossesLastEditDate,_that.breedingUniqueId,_that.licenceNumber,_that.temporaryTrash,_that.temporaryDeleted,_that.firstDateInputArchive,_that.secondDateInputArchive,_that.inputArchiver,_that.outputArchiveDate,_that.outputArchiver,_that.barDifferenceRequestWeight,_that.barDifferenceRequestQuantity,_that.healthCertificate,_that.samasatDischargePercentage,_that.personTypeName,_that.interactTypeName,_that.unionTypeName,_that.certId,_that.increaseQuantity,_that.tenantFullname,_that.tenantNationalCode,_that.tenantMobile,_that.tenantCity,_that.hasTenant,_that.archiveDate,_that.createdBy,_that.modifiedBy);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _Hatching implements Hatching {
  const _Hatching({this.id, this.poultry, this.chainCompany, this.age, this.inspectionLosses, this.vetFarm, this.activeKill, this.killingInfo, this.freeGovernmentalInfo, this.reportInfo, this.key, this.createDate, this.modifyDate, this.trash, this.hasChainCompany, this.poultryIdForeignKey, this.poultryHatchingIdKey, this.quantity, this.losses, this.leftOver, this.killedQuantity, this.extraKilledQuantity, this.governmentalKilledQuantity, this.governmentalQuantity, this.freeKilledQuantity, this.freeQuantity, this.chainKilledQuantity, this.chainKilledWeight, this.outProvinceKilledWeight, this.outProvinceKilledQuantity, this.exportKilledWeight, this.exportKilledQuantity, this.totalCommitment, this.commitmentType, this.totalCommitmentQuantity, this.totalFreeCommitmentQuantity, this.totalFreeCommitmentWeight, this.totalKilledWeight, this.totalAverageKilledWeight, this.requestLeftOver, this.hall, this.date, this.predicateDate, this.chickenBreed, this.period, this.allowHatching, this.state, this.archive, this.violation, this.message, this.registrar, final  List<Breed>? breed, this.cityNumber, this.cityName, this.provinceNumber, this.provinceName, this.lastChange, this.chickenAge, this.nowAge, this.latestHatchingChange, this.violationReport, this.violationMessage, final  List<String>? violationImage, this.violationReporter, this.violationReportDate, this.violationReportEditor, this.violationReportEditDate, this.totalLosses, this.directLosses, this.directLossesInputer, this.directLossesDate, this.directLossesEditor, this.directLossesLastEditDate, this.endPeriodLossesInputer, this.endPeriodLossesDate, this.endPeriodLossesEditor, this.endPeriodLossesLastEditDate, this.breedingUniqueId, this.licenceNumber, this.temporaryTrash, this.temporaryDeleted, this.firstDateInputArchive, this.secondDateInputArchive, this.inputArchiver, this.outputArchiveDate, this.outputArchiver, this.barDifferenceRequestWeight, this.barDifferenceRequestQuantity, this.healthCertificate, this.samasatDischargePercentage, this.personTypeName, this.interactTypeName, this.unionTypeName, this.certId, this.increaseQuantity, this.tenantFullname, this.tenantNationalCode, this.tenantMobile, this.tenantCity, this.hasTenant, this.archiveDate, this.createdBy, this.modifiedBy}): _breed = breed,_violationImage = violationImage;
  factory _Hatching.fromJson(Map<String, dynamic> json) => _$HatchingFromJson(json);

@override final  int? id;
@override final  Poultry? poultry;
@override final  ChainCompany? chainCompany;
@override final  int? age;
@override final  String? inspectionLosses;
@override final  VetFarm? vetFarm;
@override final  ActiveKill? activeKill;
@override final  KillingInfo? killingInfo;
@override final  FreeGovernmentalInfo? freeGovernmentalInfo;
@override final  ReportInfo? reportInfo;
@override final  String? key;
@override final  DateTime? createDate;
@override final  DateTime? modifyDate;
@override final  bool? trash;
@override final  bool? hasChainCompany;
@override final  String? poultryIdForeignKey;
@override final  String? poultryHatchingIdKey;
@override final  int? quantity;
@override final  int? losses;
@override final  int? leftOver;
@override final  int? killedQuantity;
@override final  int? extraKilledQuantity;
@override final  double? governmentalKilledQuantity;
@override final  double? governmentalQuantity;
@override final  double? freeKilledQuantity;
@override final  double? freeQuantity;
@override final  double? chainKilledQuantity;
@override final  double? chainKilledWeight;
@override final  double? outProvinceKilledWeight;
@override final  double? outProvinceKilledQuantity;
@override final  double? exportKilledWeight;
@override final  double? exportKilledQuantity;
@override final  double? totalCommitment;
@override final  String? commitmentType;
@override final  double? totalCommitmentQuantity;
@override final  double? totalFreeCommitmentQuantity;
@override final  double? totalFreeCommitmentWeight;
@override final  double? totalKilledWeight;
@override final  double? totalAverageKilledWeight;
@override final  int? requestLeftOver;
@override final  int? hall;
@override final  DateTime? date;
@override final  String? predicateDate;
@override final  String? chickenBreed;
@override final  int? period;
@override final  String? allowHatching;
@override final  String? state;
@override final  bool? archive;
@override final  bool? violation;
@override final  String? message;
@override final  Registrar? registrar;
 final  List<Breed>? _breed;
@override List<Breed>? get breed {
  final value = _breed;
  if (value == null) return null;
  if (_breed is EqualUnmodifiableListView) return _breed;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}

@override final  int? cityNumber;
@override final  String? cityName;
@override final  int? provinceNumber;
@override final  String? provinceName;
@override final  LastChange? lastChange;
@override final  int? chickenAge;
@override final  int? nowAge;
@override final  LatestHatchingChange? latestHatchingChange;
@override final  String? violationReport;
@override final  String? violationMessage;
 final  List<String>? _violationImage;
@override List<String>? get violationImage {
  final value = _violationImage;
  if (value == null) return null;
  if (_violationImage is EqualUnmodifiableListView) return _violationImage;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}

@override final  String? violationReporter;
@override final  DateTime? violationReportDate;
@override final  String? violationReportEditor;
@override final  DateTime? violationReportEditDate;
@override final  int? totalLosses;
@override final  int? directLosses;
@override final  String? directLossesInputer;
@override final  String? directLossesDate;
@override final  String? directLossesEditor;
@override final  String? directLossesLastEditDate;
@override final  String? endPeriodLossesInputer;
@override final  String? endPeriodLossesDate;
@override final  String? endPeriodLossesEditor;
@override final  String? endPeriodLossesLastEditDate;
@override final  String? breedingUniqueId;
@override final  String? licenceNumber;
@override final  bool? temporaryTrash;
@override final  bool? temporaryDeleted;
@override final  String? firstDateInputArchive;
@override final  String? secondDateInputArchive;
@override final  String? inputArchiver;
@override final  String? outputArchiveDate;
@override final  String? outputArchiver;
@override final  double? barDifferenceRequestWeight;
@override final  double? barDifferenceRequestQuantity;
@override final  String? healthCertificate;
@override final  double? samasatDischargePercentage;
@override final  String? personTypeName;
@override final  String? interactTypeName;
@override final  String? unionTypeName;
@override final  String? certId;
@override final  int? increaseQuantity;
@override final  String? tenantFullname;
@override final  String? tenantNationalCode;
@override final  String? tenantMobile;
@override final  String? tenantCity;
@override final  bool? hasTenant;
@override final  String? archiveDate;
@override final  String? createdBy;
@override final  String? modifiedBy;

/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$HatchingCopyWith<_Hatching> get copyWith => __$HatchingCopyWithImpl<_Hatching>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$HatchingToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _Hatching&&(identical(other.id, id) || other.id == id)&&(identical(other.poultry, poultry) || other.poultry == poultry)&&(identical(other.chainCompany, chainCompany) || other.chainCompany == chainCompany)&&(identical(other.age, age) || other.age == age)&&(identical(other.inspectionLosses, inspectionLosses) || other.inspectionLosses == inspectionLosses)&&(identical(other.vetFarm, vetFarm) || other.vetFarm == vetFarm)&&(identical(other.activeKill, activeKill) || other.activeKill == activeKill)&&(identical(other.killingInfo, killingInfo) || other.killingInfo == killingInfo)&&(identical(other.freeGovernmentalInfo, freeGovernmentalInfo) || other.freeGovernmentalInfo == freeGovernmentalInfo)&&(identical(other.reportInfo, reportInfo) || other.reportInfo == reportInfo)&&(identical(other.key, key) || other.key == key)&&(identical(other.createDate, createDate) || other.createDate == createDate)&&(identical(other.modifyDate, modifyDate) || other.modifyDate == modifyDate)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.hasChainCompany, hasChainCompany) || other.hasChainCompany == hasChainCompany)&&(identical(other.poultryIdForeignKey, poultryIdForeignKey) || other.poultryIdForeignKey == poultryIdForeignKey)&&(identical(other.poultryHatchingIdKey, poultryHatchingIdKey) || other.poultryHatchingIdKey == poultryHatchingIdKey)&&(identical(other.quantity, quantity) || other.quantity == quantity)&&(identical(other.losses, losses) || other.losses == losses)&&(identical(other.leftOver, leftOver) || other.leftOver == leftOver)&&(identical(other.killedQuantity, killedQuantity) || other.killedQuantity == killedQuantity)&&(identical(other.extraKilledQuantity, extraKilledQuantity) || other.extraKilledQuantity == extraKilledQuantity)&&(identical(other.governmentalKilledQuantity, governmentalKilledQuantity) || other.governmentalKilledQuantity == governmentalKilledQuantity)&&(identical(other.governmentalQuantity, governmentalQuantity) || other.governmentalQuantity == governmentalQuantity)&&(identical(other.freeKilledQuantity, freeKilledQuantity) || other.freeKilledQuantity == freeKilledQuantity)&&(identical(other.freeQuantity, freeQuantity) || other.freeQuantity == freeQuantity)&&(identical(other.chainKilledQuantity, chainKilledQuantity) || other.chainKilledQuantity == chainKilledQuantity)&&(identical(other.chainKilledWeight, chainKilledWeight) || other.chainKilledWeight == chainKilledWeight)&&(identical(other.outProvinceKilledWeight, outProvinceKilledWeight) || other.outProvinceKilledWeight == outProvinceKilledWeight)&&(identical(other.outProvinceKilledQuantity, outProvinceKilledQuantity) || other.outProvinceKilledQuantity == outProvinceKilledQuantity)&&(identical(other.exportKilledWeight, exportKilledWeight) || other.exportKilledWeight == exportKilledWeight)&&(identical(other.exportKilledQuantity, exportKilledQuantity) || other.exportKilledQuantity == exportKilledQuantity)&&(identical(other.totalCommitment, totalCommitment) || other.totalCommitment == totalCommitment)&&(identical(other.commitmentType, commitmentType) || other.commitmentType == commitmentType)&&(identical(other.totalCommitmentQuantity, totalCommitmentQuantity) || other.totalCommitmentQuantity == totalCommitmentQuantity)&&(identical(other.totalFreeCommitmentQuantity, totalFreeCommitmentQuantity) || other.totalFreeCommitmentQuantity == totalFreeCommitmentQuantity)&&(identical(other.totalFreeCommitmentWeight, totalFreeCommitmentWeight) || other.totalFreeCommitmentWeight == totalFreeCommitmentWeight)&&(identical(other.totalKilledWeight, totalKilledWeight) || other.totalKilledWeight == totalKilledWeight)&&(identical(other.totalAverageKilledWeight, totalAverageKilledWeight) || other.totalAverageKilledWeight == totalAverageKilledWeight)&&(identical(other.requestLeftOver, requestLeftOver) || other.requestLeftOver == requestLeftOver)&&(identical(other.hall, hall) || other.hall == hall)&&(identical(other.date, date) || other.date == date)&&(identical(other.predicateDate, predicateDate) || other.predicateDate == predicateDate)&&(identical(other.chickenBreed, chickenBreed) || other.chickenBreed == chickenBreed)&&(identical(other.period, period) || other.period == period)&&(identical(other.allowHatching, allowHatching) || other.allowHatching == allowHatching)&&(identical(other.state, state) || other.state == state)&&(identical(other.archive, archive) || other.archive == archive)&&(identical(other.violation, violation) || other.violation == violation)&&(identical(other.message, message) || other.message == message)&&(identical(other.registrar, registrar) || other.registrar == registrar)&&const DeepCollectionEquality().equals(other._breed, _breed)&&(identical(other.cityNumber, cityNumber) || other.cityNumber == cityNumber)&&(identical(other.cityName, cityName) || other.cityName == cityName)&&(identical(other.provinceNumber, provinceNumber) || other.provinceNumber == provinceNumber)&&(identical(other.provinceName, provinceName) || other.provinceName == provinceName)&&(identical(other.lastChange, lastChange) || other.lastChange == lastChange)&&(identical(other.chickenAge, chickenAge) || other.chickenAge == chickenAge)&&(identical(other.nowAge, nowAge) || other.nowAge == nowAge)&&(identical(other.latestHatchingChange, latestHatchingChange) || other.latestHatchingChange == latestHatchingChange)&&(identical(other.violationReport, violationReport) || other.violationReport == violationReport)&&(identical(other.violationMessage, violationMessage) || other.violationMessage == violationMessage)&&const DeepCollectionEquality().equals(other._violationImage, _violationImage)&&(identical(other.violationReporter, violationReporter) || other.violationReporter == violationReporter)&&(identical(other.violationReportDate, violationReportDate) || other.violationReportDate == violationReportDate)&&(identical(other.violationReportEditor, violationReportEditor) || other.violationReportEditor == violationReportEditor)&&(identical(other.violationReportEditDate, violationReportEditDate) || other.violationReportEditDate == violationReportEditDate)&&(identical(other.totalLosses, totalLosses) || other.totalLosses == totalLosses)&&(identical(other.directLosses, directLosses) || other.directLosses == directLosses)&&(identical(other.directLossesInputer, directLossesInputer) || other.directLossesInputer == directLossesInputer)&&(identical(other.directLossesDate, directLossesDate) || other.directLossesDate == directLossesDate)&&(identical(other.directLossesEditor, directLossesEditor) || other.directLossesEditor == directLossesEditor)&&(identical(other.directLossesLastEditDate, directLossesLastEditDate) || other.directLossesLastEditDate == directLossesLastEditDate)&&(identical(other.endPeriodLossesInputer, endPeriodLossesInputer) || other.endPeriodLossesInputer == endPeriodLossesInputer)&&(identical(other.endPeriodLossesDate, endPeriodLossesDate) || other.endPeriodLossesDate == endPeriodLossesDate)&&(identical(other.endPeriodLossesEditor, endPeriodLossesEditor) || other.endPeriodLossesEditor == endPeriodLossesEditor)&&(identical(other.endPeriodLossesLastEditDate, endPeriodLossesLastEditDate) || other.endPeriodLossesLastEditDate == endPeriodLossesLastEditDate)&&(identical(other.breedingUniqueId, breedingUniqueId) || other.breedingUniqueId == breedingUniqueId)&&(identical(other.licenceNumber, licenceNumber) || other.licenceNumber == licenceNumber)&&(identical(other.temporaryTrash, temporaryTrash) || other.temporaryTrash == temporaryTrash)&&(identical(other.temporaryDeleted, temporaryDeleted) || other.temporaryDeleted == temporaryDeleted)&&(identical(other.firstDateInputArchive, firstDateInputArchive) || other.firstDateInputArchive == firstDateInputArchive)&&(identical(other.secondDateInputArchive, secondDateInputArchive) || other.secondDateInputArchive == secondDateInputArchive)&&(identical(other.inputArchiver, inputArchiver) || other.inputArchiver == inputArchiver)&&(identical(other.outputArchiveDate, outputArchiveDate) || other.outputArchiveDate == outputArchiveDate)&&(identical(other.outputArchiver, outputArchiver) || other.outputArchiver == outputArchiver)&&(identical(other.barDifferenceRequestWeight, barDifferenceRequestWeight) || other.barDifferenceRequestWeight == barDifferenceRequestWeight)&&(identical(other.barDifferenceRequestQuantity, barDifferenceRequestQuantity) || other.barDifferenceRequestQuantity == barDifferenceRequestQuantity)&&(identical(other.healthCertificate, healthCertificate) || other.healthCertificate == healthCertificate)&&(identical(other.samasatDischargePercentage, samasatDischargePercentage) || other.samasatDischargePercentage == samasatDischargePercentage)&&(identical(other.personTypeName, personTypeName) || other.personTypeName == personTypeName)&&(identical(other.interactTypeName, interactTypeName) || other.interactTypeName == interactTypeName)&&(identical(other.unionTypeName, unionTypeName) || other.unionTypeName == unionTypeName)&&(identical(other.certId, certId) || other.certId == certId)&&(identical(other.increaseQuantity, increaseQuantity) || other.increaseQuantity == increaseQuantity)&&(identical(other.tenantFullname, tenantFullname) || other.tenantFullname == tenantFullname)&&(identical(other.tenantNationalCode, tenantNationalCode) || other.tenantNationalCode == tenantNationalCode)&&(identical(other.tenantMobile, tenantMobile) || other.tenantMobile == tenantMobile)&&(identical(other.tenantCity, tenantCity) || other.tenantCity == tenantCity)&&(identical(other.hasTenant, hasTenant) || other.hasTenant == hasTenant)&&(identical(other.archiveDate, archiveDate) || other.archiveDate == archiveDate)&&(identical(other.createdBy, createdBy) || other.createdBy == createdBy)&&(identical(other.modifiedBy, modifiedBy) || other.modifiedBy == modifiedBy));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,id,poultry,chainCompany,age,inspectionLosses,vetFarm,activeKill,killingInfo,freeGovernmentalInfo,reportInfo,key,createDate,modifyDate,trash,hasChainCompany,poultryIdForeignKey,poultryHatchingIdKey,quantity,losses,leftOver,killedQuantity,extraKilledQuantity,governmentalKilledQuantity,governmentalQuantity,freeKilledQuantity,freeQuantity,chainKilledQuantity,chainKilledWeight,outProvinceKilledWeight,outProvinceKilledQuantity,exportKilledWeight,exportKilledQuantity,totalCommitment,commitmentType,totalCommitmentQuantity,totalFreeCommitmentQuantity,totalFreeCommitmentWeight,totalKilledWeight,totalAverageKilledWeight,requestLeftOver,hall,date,predicateDate,chickenBreed,period,allowHatching,state,archive,violation,message,registrar,const DeepCollectionEquality().hash(_breed),cityNumber,cityName,provinceNumber,provinceName,lastChange,chickenAge,nowAge,latestHatchingChange,violationReport,violationMessage,const DeepCollectionEquality().hash(_violationImage),violationReporter,violationReportDate,violationReportEditor,violationReportEditDate,totalLosses,directLosses,directLossesInputer,directLossesDate,directLossesEditor,directLossesLastEditDate,endPeriodLossesInputer,endPeriodLossesDate,endPeriodLossesEditor,endPeriodLossesLastEditDate,breedingUniqueId,licenceNumber,temporaryTrash,temporaryDeleted,firstDateInputArchive,secondDateInputArchive,inputArchiver,outputArchiveDate,outputArchiver,barDifferenceRequestWeight,barDifferenceRequestQuantity,healthCertificate,samasatDischargePercentage,personTypeName,interactTypeName,unionTypeName,certId,increaseQuantity,tenantFullname,tenantNationalCode,tenantMobile,tenantCity,hasTenant,archiveDate,createdBy,modifiedBy]);

@override
String toString() {
  return 'Hatching(id: $id, poultry: $poultry, chainCompany: $chainCompany, age: $age, inspectionLosses: $inspectionLosses, vetFarm: $vetFarm, activeKill: $activeKill, killingInfo: $killingInfo, freeGovernmentalInfo: $freeGovernmentalInfo, reportInfo: $reportInfo, key: $key, createDate: $createDate, modifyDate: $modifyDate, trash: $trash, hasChainCompany: $hasChainCompany, poultryIdForeignKey: $poultryIdForeignKey, poultryHatchingIdKey: $poultryHatchingIdKey, quantity: $quantity, losses: $losses, leftOver: $leftOver, killedQuantity: $killedQuantity, extraKilledQuantity: $extraKilledQuantity, governmentalKilledQuantity: $governmentalKilledQuantity, governmentalQuantity: $governmentalQuantity, freeKilledQuantity: $freeKilledQuantity, freeQuantity: $freeQuantity, chainKilledQuantity: $chainKilledQuantity, chainKilledWeight: $chainKilledWeight, outProvinceKilledWeight: $outProvinceKilledWeight, outProvinceKilledQuantity: $outProvinceKilledQuantity, exportKilledWeight: $exportKilledWeight, exportKilledQuantity: $exportKilledQuantity, totalCommitment: $totalCommitment, commitmentType: $commitmentType, totalCommitmentQuantity: $totalCommitmentQuantity, totalFreeCommitmentQuantity: $totalFreeCommitmentQuantity, totalFreeCommitmentWeight: $totalFreeCommitmentWeight, totalKilledWeight: $totalKilledWeight, totalAverageKilledWeight: $totalAverageKilledWeight, requestLeftOver: $requestLeftOver, hall: $hall, date: $date, predicateDate: $predicateDate, chickenBreed: $chickenBreed, period: $period, allowHatching: $allowHatching, state: $state, archive: $archive, violation: $violation, message: $message, registrar: $registrar, breed: $breed, cityNumber: $cityNumber, cityName: $cityName, provinceNumber: $provinceNumber, provinceName: $provinceName, lastChange: $lastChange, chickenAge: $chickenAge, nowAge: $nowAge, latestHatchingChange: $latestHatchingChange, violationReport: $violationReport, violationMessage: $violationMessage, violationImage: $violationImage, violationReporter: $violationReporter, violationReportDate: $violationReportDate, violationReportEditor: $violationReportEditor, violationReportEditDate: $violationReportEditDate, totalLosses: $totalLosses, directLosses: $directLosses, directLossesInputer: $directLossesInputer, directLossesDate: $directLossesDate, directLossesEditor: $directLossesEditor, directLossesLastEditDate: $directLossesLastEditDate, endPeriodLossesInputer: $endPeriodLossesInputer, endPeriodLossesDate: $endPeriodLossesDate, endPeriodLossesEditor: $endPeriodLossesEditor, endPeriodLossesLastEditDate: $endPeriodLossesLastEditDate, breedingUniqueId: $breedingUniqueId, licenceNumber: $licenceNumber, temporaryTrash: $temporaryTrash, temporaryDeleted: $temporaryDeleted, firstDateInputArchive: $firstDateInputArchive, secondDateInputArchive: $secondDateInputArchive, inputArchiver: $inputArchiver, outputArchiveDate: $outputArchiveDate, outputArchiver: $outputArchiver, barDifferenceRequestWeight: $barDifferenceRequestWeight, barDifferenceRequestQuantity: $barDifferenceRequestQuantity, healthCertificate: $healthCertificate, samasatDischargePercentage: $samasatDischargePercentage, personTypeName: $personTypeName, interactTypeName: $interactTypeName, unionTypeName: $unionTypeName, certId: $certId, increaseQuantity: $increaseQuantity, tenantFullname: $tenantFullname, tenantNationalCode: $tenantNationalCode, tenantMobile: $tenantMobile, tenantCity: $tenantCity, hasTenant: $hasTenant, archiveDate: $archiveDate, createdBy: $createdBy, modifiedBy: $modifiedBy)';
}


}

/// @nodoc
abstract mixin class _$HatchingCopyWith<$Res> implements $HatchingCopyWith<$Res> {
  factory _$HatchingCopyWith(_Hatching value, $Res Function(_Hatching) _then) = __$HatchingCopyWithImpl;
@override @useResult
$Res call({
 int? id, Poultry? poultry, ChainCompany? chainCompany, int? age, String? inspectionLosses, VetFarm? vetFarm, ActiveKill? activeKill, KillingInfo? killingInfo, FreeGovernmentalInfo? freeGovernmentalInfo, ReportInfo? reportInfo, String? key, DateTime? createDate, DateTime? modifyDate, bool? trash, bool? hasChainCompany, String? poultryIdForeignKey, String? poultryHatchingIdKey, int? quantity, int? losses, int? leftOver, int? killedQuantity, int? extraKilledQuantity, double? governmentalKilledQuantity, double? governmentalQuantity, double? freeKilledQuantity, double? freeQuantity, double? chainKilledQuantity, double? chainKilledWeight, double? outProvinceKilledWeight, double? outProvinceKilledQuantity, double? exportKilledWeight, double? exportKilledQuantity, double? totalCommitment, String? commitmentType, double? totalCommitmentQuantity, double? totalFreeCommitmentQuantity, double? totalFreeCommitmentWeight, double? totalKilledWeight, double? totalAverageKilledWeight, int? requestLeftOver, int? hall, DateTime? date, String? predicateDate, String? chickenBreed, int? period, String? allowHatching, String? state, bool? archive, bool? violation, String? message, Registrar? registrar, List<Breed>? breed, int? cityNumber, String? cityName, int? provinceNumber, String? provinceName, LastChange? lastChange, int? chickenAge, int? nowAge, LatestHatchingChange? latestHatchingChange, String? violationReport, String? violationMessage, List<String>? violationImage, String? violationReporter, DateTime? violationReportDate, String? violationReportEditor, DateTime? violationReportEditDate, int? totalLosses, int? directLosses, String? directLossesInputer, String? directLossesDate, String? directLossesEditor, String? directLossesLastEditDate, String? endPeriodLossesInputer, String? endPeriodLossesDate, String? endPeriodLossesEditor, String? endPeriodLossesLastEditDate, String? breedingUniqueId, String? licenceNumber, bool? temporaryTrash, bool? temporaryDeleted, String? firstDateInputArchive, String? secondDateInputArchive, String? inputArchiver, String? outputArchiveDate, String? outputArchiver, double? barDifferenceRequestWeight, double? barDifferenceRequestQuantity, String? healthCertificate, double? samasatDischargePercentage, String? personTypeName, String? interactTypeName, String? unionTypeName, String? certId, int? increaseQuantity, String? tenantFullname, String? tenantNationalCode, String? tenantMobile, String? tenantCity, bool? hasTenant, String? archiveDate, String? createdBy, String? modifiedBy
});


@override $PoultryCopyWith<$Res>? get poultry;@override $ChainCompanyCopyWith<$Res>? get chainCompany;@override $VetFarmCopyWith<$Res>? get vetFarm;@override $ActiveKillCopyWith<$Res>? get activeKill;@override $KillingInfoCopyWith<$Res>? get killingInfo;@override $FreeGovernmentalInfoCopyWith<$Res>? get freeGovernmentalInfo;@override $ReportInfoCopyWith<$Res>? get reportInfo;@override $RegistrarCopyWith<$Res>? get registrar;@override $LastChangeCopyWith<$Res>? get lastChange;@override $LatestHatchingChangeCopyWith<$Res>? get latestHatchingChange;

}
/// @nodoc
class __$HatchingCopyWithImpl<$Res>
    implements _$HatchingCopyWith<$Res> {
  __$HatchingCopyWithImpl(this._self, this._then);

  final _Hatching _self;
  final $Res Function(_Hatching) _then;

/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? id = freezed,Object? poultry = freezed,Object? chainCompany = freezed,Object? age = freezed,Object? inspectionLosses = freezed,Object? vetFarm = freezed,Object? activeKill = freezed,Object? killingInfo = freezed,Object? freeGovernmentalInfo = freezed,Object? reportInfo = freezed,Object? key = freezed,Object? createDate = freezed,Object? modifyDate = freezed,Object? trash = freezed,Object? hasChainCompany = freezed,Object? poultryIdForeignKey = freezed,Object? poultryHatchingIdKey = freezed,Object? quantity = freezed,Object? losses = freezed,Object? leftOver = freezed,Object? killedQuantity = freezed,Object? extraKilledQuantity = freezed,Object? governmentalKilledQuantity = freezed,Object? governmentalQuantity = freezed,Object? freeKilledQuantity = freezed,Object? freeQuantity = freezed,Object? chainKilledQuantity = freezed,Object? chainKilledWeight = freezed,Object? outProvinceKilledWeight = freezed,Object? outProvinceKilledQuantity = freezed,Object? exportKilledWeight = freezed,Object? exportKilledQuantity = freezed,Object? totalCommitment = freezed,Object? commitmentType = freezed,Object? totalCommitmentQuantity = freezed,Object? totalFreeCommitmentQuantity = freezed,Object? totalFreeCommitmentWeight = freezed,Object? totalKilledWeight = freezed,Object? totalAverageKilledWeight = freezed,Object? requestLeftOver = freezed,Object? hall = freezed,Object? date = freezed,Object? predicateDate = freezed,Object? chickenBreed = freezed,Object? period = freezed,Object? allowHatching = freezed,Object? state = freezed,Object? archive = freezed,Object? violation = freezed,Object? message = freezed,Object? registrar = freezed,Object? breed = freezed,Object? cityNumber = freezed,Object? cityName = freezed,Object? provinceNumber = freezed,Object? provinceName = freezed,Object? lastChange = freezed,Object? chickenAge = freezed,Object? nowAge = freezed,Object? latestHatchingChange = freezed,Object? violationReport = freezed,Object? violationMessage = freezed,Object? violationImage = freezed,Object? violationReporter = freezed,Object? violationReportDate = freezed,Object? violationReportEditor = freezed,Object? violationReportEditDate = freezed,Object? totalLosses = freezed,Object? directLosses = freezed,Object? directLossesInputer = freezed,Object? directLossesDate = freezed,Object? directLossesEditor = freezed,Object? directLossesLastEditDate = freezed,Object? endPeriodLossesInputer = freezed,Object? endPeriodLossesDate = freezed,Object? endPeriodLossesEditor = freezed,Object? endPeriodLossesLastEditDate = freezed,Object? breedingUniqueId = freezed,Object? licenceNumber = freezed,Object? temporaryTrash = freezed,Object? temporaryDeleted = freezed,Object? firstDateInputArchive = freezed,Object? secondDateInputArchive = freezed,Object? inputArchiver = freezed,Object? outputArchiveDate = freezed,Object? outputArchiver = freezed,Object? barDifferenceRequestWeight = freezed,Object? barDifferenceRequestQuantity = freezed,Object? healthCertificate = freezed,Object? samasatDischargePercentage = freezed,Object? personTypeName = freezed,Object? interactTypeName = freezed,Object? unionTypeName = freezed,Object? certId = freezed,Object? increaseQuantity = freezed,Object? tenantFullname = freezed,Object? tenantNationalCode = freezed,Object? tenantMobile = freezed,Object? tenantCity = freezed,Object? hasTenant = freezed,Object? archiveDate = freezed,Object? createdBy = freezed,Object? modifiedBy = freezed,}) {
  return _then(_Hatching(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,poultry: freezed == poultry ? _self.poultry : poultry // ignore: cast_nullable_to_non_nullable
as Poultry?,chainCompany: freezed == chainCompany ? _self.chainCompany : chainCompany // ignore: cast_nullable_to_non_nullable
as ChainCompany?,age: freezed == age ? _self.age : age // ignore: cast_nullable_to_non_nullable
as int?,inspectionLosses: freezed == inspectionLosses ? _self.inspectionLosses : inspectionLosses // ignore: cast_nullable_to_non_nullable
as String?,vetFarm: freezed == vetFarm ? _self.vetFarm : vetFarm // ignore: cast_nullable_to_non_nullable
as VetFarm?,activeKill: freezed == activeKill ? _self.activeKill : activeKill // ignore: cast_nullable_to_non_nullable
as ActiveKill?,killingInfo: freezed == killingInfo ? _self.killingInfo : killingInfo // ignore: cast_nullable_to_non_nullable
as KillingInfo?,freeGovernmentalInfo: freezed == freeGovernmentalInfo ? _self.freeGovernmentalInfo : freeGovernmentalInfo // ignore: cast_nullable_to_non_nullable
as FreeGovernmentalInfo?,reportInfo: freezed == reportInfo ? _self.reportInfo : reportInfo // ignore: cast_nullable_to_non_nullable
as ReportInfo?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,createDate: freezed == createDate ? _self.createDate : createDate // ignore: cast_nullable_to_non_nullable
as DateTime?,modifyDate: freezed == modifyDate ? _self.modifyDate : modifyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,hasChainCompany: freezed == hasChainCompany ? _self.hasChainCompany : hasChainCompany // ignore: cast_nullable_to_non_nullable
as bool?,poultryIdForeignKey: freezed == poultryIdForeignKey ? _self.poultryIdForeignKey : poultryIdForeignKey // ignore: cast_nullable_to_non_nullable
as String?,poultryHatchingIdKey: freezed == poultryHatchingIdKey ? _self.poultryHatchingIdKey : poultryHatchingIdKey // ignore: cast_nullable_to_non_nullable
as String?,quantity: freezed == quantity ? _self.quantity : quantity // ignore: cast_nullable_to_non_nullable
as int?,losses: freezed == losses ? _self.losses : losses // ignore: cast_nullable_to_non_nullable
as int?,leftOver: freezed == leftOver ? _self.leftOver : leftOver // ignore: cast_nullable_to_non_nullable
as int?,killedQuantity: freezed == killedQuantity ? _self.killedQuantity : killedQuantity // ignore: cast_nullable_to_non_nullable
as int?,extraKilledQuantity: freezed == extraKilledQuantity ? _self.extraKilledQuantity : extraKilledQuantity // ignore: cast_nullable_to_non_nullable
as int?,governmentalKilledQuantity: freezed == governmentalKilledQuantity ? _self.governmentalKilledQuantity : governmentalKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,governmentalQuantity: freezed == governmentalQuantity ? _self.governmentalQuantity : governmentalQuantity // ignore: cast_nullable_to_non_nullable
as double?,freeKilledQuantity: freezed == freeKilledQuantity ? _self.freeKilledQuantity : freeKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,freeQuantity: freezed == freeQuantity ? _self.freeQuantity : freeQuantity // ignore: cast_nullable_to_non_nullable
as double?,chainKilledQuantity: freezed == chainKilledQuantity ? _self.chainKilledQuantity : chainKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,chainKilledWeight: freezed == chainKilledWeight ? _self.chainKilledWeight : chainKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,outProvinceKilledWeight: freezed == outProvinceKilledWeight ? _self.outProvinceKilledWeight : outProvinceKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,outProvinceKilledQuantity: freezed == outProvinceKilledQuantity ? _self.outProvinceKilledQuantity : outProvinceKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,exportKilledWeight: freezed == exportKilledWeight ? _self.exportKilledWeight : exportKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,exportKilledQuantity: freezed == exportKilledQuantity ? _self.exportKilledQuantity : exportKilledQuantity // ignore: cast_nullable_to_non_nullable
as double?,totalCommitment: freezed == totalCommitment ? _self.totalCommitment : totalCommitment // ignore: cast_nullable_to_non_nullable
as double?,commitmentType: freezed == commitmentType ? _self.commitmentType : commitmentType // ignore: cast_nullable_to_non_nullable
as String?,totalCommitmentQuantity: freezed == totalCommitmentQuantity ? _self.totalCommitmentQuantity : totalCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,totalFreeCommitmentQuantity: freezed == totalFreeCommitmentQuantity ? _self.totalFreeCommitmentQuantity : totalFreeCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,totalFreeCommitmentWeight: freezed == totalFreeCommitmentWeight ? _self.totalFreeCommitmentWeight : totalFreeCommitmentWeight // ignore: cast_nullable_to_non_nullable
as double?,totalKilledWeight: freezed == totalKilledWeight ? _self.totalKilledWeight : totalKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,totalAverageKilledWeight: freezed == totalAverageKilledWeight ? _self.totalAverageKilledWeight : totalAverageKilledWeight // ignore: cast_nullable_to_non_nullable
as double?,requestLeftOver: freezed == requestLeftOver ? _self.requestLeftOver : requestLeftOver // ignore: cast_nullable_to_non_nullable
as int?,hall: freezed == hall ? _self.hall : hall // ignore: cast_nullable_to_non_nullable
as int?,date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,predicateDate: freezed == predicateDate ? _self.predicateDate : predicateDate // ignore: cast_nullable_to_non_nullable
as String?,chickenBreed: freezed == chickenBreed ? _self.chickenBreed : chickenBreed // ignore: cast_nullable_to_non_nullable
as String?,period: freezed == period ? _self.period : period // ignore: cast_nullable_to_non_nullable
as int?,allowHatching: freezed == allowHatching ? _self.allowHatching : allowHatching // ignore: cast_nullable_to_non_nullable
as String?,state: freezed == state ? _self.state : state // ignore: cast_nullable_to_non_nullable
as String?,archive: freezed == archive ? _self.archive : archive // ignore: cast_nullable_to_non_nullable
as bool?,violation: freezed == violation ? _self.violation : violation // ignore: cast_nullable_to_non_nullable
as bool?,message: freezed == message ? _self.message : message // ignore: cast_nullable_to_non_nullable
as String?,registrar: freezed == registrar ? _self.registrar : registrar // ignore: cast_nullable_to_non_nullable
as Registrar?,breed: freezed == breed ? _self._breed : breed // ignore: cast_nullable_to_non_nullable
as List<Breed>?,cityNumber: freezed == cityNumber ? _self.cityNumber : cityNumber // ignore: cast_nullable_to_non_nullable
as int?,cityName: freezed == cityName ? _self.cityName : cityName // ignore: cast_nullable_to_non_nullable
as String?,provinceNumber: freezed == provinceNumber ? _self.provinceNumber : provinceNumber // ignore: cast_nullable_to_non_nullable
as int?,provinceName: freezed == provinceName ? _self.provinceName : provinceName // ignore: cast_nullable_to_non_nullable
as String?,lastChange: freezed == lastChange ? _self.lastChange : lastChange // ignore: cast_nullable_to_non_nullable
as LastChange?,chickenAge: freezed == chickenAge ? _self.chickenAge : chickenAge // ignore: cast_nullable_to_non_nullable
as int?,nowAge: freezed == nowAge ? _self.nowAge : nowAge // ignore: cast_nullable_to_non_nullable
as int?,latestHatchingChange: freezed == latestHatchingChange ? _self.latestHatchingChange : latestHatchingChange // ignore: cast_nullable_to_non_nullable
as LatestHatchingChange?,violationReport: freezed == violationReport ? _self.violationReport : violationReport // ignore: cast_nullable_to_non_nullable
as String?,violationMessage: freezed == violationMessage ? _self.violationMessage : violationMessage // ignore: cast_nullable_to_non_nullable
as String?,violationImage: freezed == violationImage ? _self._violationImage : violationImage // ignore: cast_nullable_to_non_nullable
as List<String>?,violationReporter: freezed == violationReporter ? _self.violationReporter : violationReporter // ignore: cast_nullable_to_non_nullable
as String?,violationReportDate: freezed == violationReportDate ? _self.violationReportDate : violationReportDate // ignore: cast_nullable_to_non_nullable
as DateTime?,violationReportEditor: freezed == violationReportEditor ? _self.violationReportEditor : violationReportEditor // ignore: cast_nullable_to_non_nullable
as String?,violationReportEditDate: freezed == violationReportEditDate ? _self.violationReportEditDate : violationReportEditDate // ignore: cast_nullable_to_non_nullable
as DateTime?,totalLosses: freezed == totalLosses ? _self.totalLosses : totalLosses // ignore: cast_nullable_to_non_nullable
as int?,directLosses: freezed == directLosses ? _self.directLosses : directLosses // ignore: cast_nullable_to_non_nullable
as int?,directLossesInputer: freezed == directLossesInputer ? _self.directLossesInputer : directLossesInputer // ignore: cast_nullable_to_non_nullable
as String?,directLossesDate: freezed == directLossesDate ? _self.directLossesDate : directLossesDate // ignore: cast_nullable_to_non_nullable
as String?,directLossesEditor: freezed == directLossesEditor ? _self.directLossesEditor : directLossesEditor // ignore: cast_nullable_to_non_nullable
as String?,directLossesLastEditDate: freezed == directLossesLastEditDate ? _self.directLossesLastEditDate : directLossesLastEditDate // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesInputer: freezed == endPeriodLossesInputer ? _self.endPeriodLossesInputer : endPeriodLossesInputer // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesDate: freezed == endPeriodLossesDate ? _self.endPeriodLossesDate : endPeriodLossesDate // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesEditor: freezed == endPeriodLossesEditor ? _self.endPeriodLossesEditor : endPeriodLossesEditor // ignore: cast_nullable_to_non_nullable
as String?,endPeriodLossesLastEditDate: freezed == endPeriodLossesLastEditDate ? _self.endPeriodLossesLastEditDate : endPeriodLossesLastEditDate // ignore: cast_nullable_to_non_nullable
as String?,breedingUniqueId: freezed == breedingUniqueId ? _self.breedingUniqueId : breedingUniqueId // ignore: cast_nullable_to_non_nullable
as String?,licenceNumber: freezed == licenceNumber ? _self.licenceNumber : licenceNumber // ignore: cast_nullable_to_non_nullable
as String?,temporaryTrash: freezed == temporaryTrash ? _self.temporaryTrash : temporaryTrash // ignore: cast_nullable_to_non_nullable
as bool?,temporaryDeleted: freezed == temporaryDeleted ? _self.temporaryDeleted : temporaryDeleted // ignore: cast_nullable_to_non_nullable
as bool?,firstDateInputArchive: freezed == firstDateInputArchive ? _self.firstDateInputArchive : firstDateInputArchive // ignore: cast_nullable_to_non_nullable
as String?,secondDateInputArchive: freezed == secondDateInputArchive ? _self.secondDateInputArchive : secondDateInputArchive // ignore: cast_nullable_to_non_nullable
as String?,inputArchiver: freezed == inputArchiver ? _self.inputArchiver : inputArchiver // ignore: cast_nullable_to_non_nullable
as String?,outputArchiveDate: freezed == outputArchiveDate ? _self.outputArchiveDate : outputArchiveDate // ignore: cast_nullable_to_non_nullable
as String?,outputArchiver: freezed == outputArchiver ? _self.outputArchiver : outputArchiver // ignore: cast_nullable_to_non_nullable
as String?,barDifferenceRequestWeight: freezed == barDifferenceRequestWeight ? _self.barDifferenceRequestWeight : barDifferenceRequestWeight // ignore: cast_nullable_to_non_nullable
as double?,barDifferenceRequestQuantity: freezed == barDifferenceRequestQuantity ? _self.barDifferenceRequestQuantity : barDifferenceRequestQuantity // ignore: cast_nullable_to_non_nullable
as double?,healthCertificate: freezed == healthCertificate ? _self.healthCertificate : healthCertificate // ignore: cast_nullable_to_non_nullable
as String?,samasatDischargePercentage: freezed == samasatDischargePercentage ? _self.samasatDischargePercentage : samasatDischargePercentage // ignore: cast_nullable_to_non_nullable
as double?,personTypeName: freezed == personTypeName ? _self.personTypeName : personTypeName // ignore: cast_nullable_to_non_nullable
as String?,interactTypeName: freezed == interactTypeName ? _self.interactTypeName : interactTypeName // ignore: cast_nullable_to_non_nullable
as String?,unionTypeName: freezed == unionTypeName ? _self.unionTypeName : unionTypeName // ignore: cast_nullable_to_non_nullable
as String?,certId: freezed == certId ? _self.certId : certId // ignore: cast_nullable_to_non_nullable
as String?,increaseQuantity: freezed == increaseQuantity ? _self.increaseQuantity : increaseQuantity // ignore: cast_nullable_to_non_nullable
as int?,tenantFullname: freezed == tenantFullname ? _self.tenantFullname : tenantFullname // ignore: cast_nullable_to_non_nullable
as String?,tenantNationalCode: freezed == tenantNationalCode ? _self.tenantNationalCode : tenantNationalCode // ignore: cast_nullable_to_non_nullable
as String?,tenantMobile: freezed == tenantMobile ? _self.tenantMobile : tenantMobile // ignore: cast_nullable_to_non_nullable
as String?,tenantCity: freezed == tenantCity ? _self.tenantCity : tenantCity // ignore: cast_nullable_to_non_nullable
as String?,hasTenant: freezed == hasTenant ? _self.hasTenant : hasTenant // ignore: cast_nullable_to_non_nullable
as bool?,archiveDate: freezed == archiveDate ? _self.archiveDate : archiveDate // ignore: cast_nullable_to_non_nullable
as String?,createdBy: freezed == createdBy ? _self.createdBy : createdBy // ignore: cast_nullable_to_non_nullable
as String?,modifiedBy: freezed == modifiedBy ? _self.modifiedBy : modifiedBy // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$PoultryCopyWith<$Res>? get poultry {
    if (_self.poultry == null) {
    return null;
  }

  return $PoultryCopyWith<$Res>(_self.poultry!, (value) {
    return _then(_self.copyWith(poultry: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ChainCompanyCopyWith<$Res>? get chainCompany {
    if (_self.chainCompany == null) {
    return null;
  }

  return $ChainCompanyCopyWith<$Res>(_self.chainCompany!, (value) {
    return _then(_self.copyWith(chainCompany: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$VetFarmCopyWith<$Res>? get vetFarm {
    if (_self.vetFarm == null) {
    return null;
  }

  return $VetFarmCopyWith<$Res>(_self.vetFarm!, (value) {
    return _then(_self.copyWith(vetFarm: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ActiveKillCopyWith<$Res>? get activeKill {
    if (_self.activeKill == null) {
    return null;
  }

  return $ActiveKillCopyWith<$Res>(_self.activeKill!, (value) {
    return _then(_self.copyWith(activeKill: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$KillingInfoCopyWith<$Res>? get killingInfo {
    if (_self.killingInfo == null) {
    return null;
  }

  return $KillingInfoCopyWith<$Res>(_self.killingInfo!, (value) {
    return _then(_self.copyWith(killingInfo: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$FreeGovernmentalInfoCopyWith<$Res>? get freeGovernmentalInfo {
    if (_self.freeGovernmentalInfo == null) {
    return null;
  }

  return $FreeGovernmentalInfoCopyWith<$Res>(_self.freeGovernmentalInfo!, (value) {
    return _then(_self.copyWith(freeGovernmentalInfo: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ReportInfoCopyWith<$Res>? get reportInfo {
    if (_self.reportInfo == null) {
    return null;
  }

  return $ReportInfoCopyWith<$Res>(_self.reportInfo!, (value) {
    return _then(_self.copyWith(reportInfo: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$RegistrarCopyWith<$Res>? get registrar {
    if (_self.registrar == null) {
    return null;
  }

  return $RegistrarCopyWith<$Res>(_self.registrar!, (value) {
    return _then(_self.copyWith(registrar: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$LastChangeCopyWith<$Res>? get lastChange {
    if (_self.lastChange == null) {
    return null;
  }

  return $LastChangeCopyWith<$Res>(_self.lastChange!, (value) {
    return _then(_self.copyWith(lastChange: value));
  });
}/// Create a copy of Hatching
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$LatestHatchingChangeCopyWith<$Res>? get latestHatchingChange {
    if (_self.latestHatchingChange == null) {
    return null;
  }

  return $LatestHatchingChangeCopyWith<$Res>(_self.latestHatchingChange!, (value) {
    return _then(_self.copyWith(latestHatchingChange: value));
  });
}
}


/// @nodoc
mixin _$LastChange {

 DateTime? get date; String? get role; String? get type; String? get fullName;
/// Create a copy of LastChange
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LastChangeCopyWith<LastChange> get copyWith => _$LastChangeCopyWithImpl<LastChange>(this as LastChange, _$identity);

  /// Serializes this LastChange to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LastChange&&(identical(other.date, date) || other.date == date)&&(identical(other.role, role) || other.role == role)&&(identical(other.type, type) || other.type == type)&&(identical(other.fullName, fullName) || other.fullName == fullName));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,date,role,type,fullName);

@override
String toString() {
  return 'LastChange(date: $date, role: $role, type: $type, fullName: $fullName)';
}


}

/// @nodoc
abstract mixin class $LastChangeCopyWith<$Res>  {
  factory $LastChangeCopyWith(LastChange value, $Res Function(LastChange) _then) = _$LastChangeCopyWithImpl;
@useResult
$Res call({
 DateTime? date, String? role, String? type, String? fullName
});




}
/// @nodoc
class _$LastChangeCopyWithImpl<$Res>
    implements $LastChangeCopyWith<$Res> {
  _$LastChangeCopyWithImpl(this._self, this._then);

  final LastChange _self;
  final $Res Function(LastChange) _then;

/// Create a copy of LastChange
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? date = freezed,Object? role = freezed,Object? type = freezed,Object? fullName = freezed,}) {
  return _then(_self.copyWith(
date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as String?,type: freezed == type ? _self.type : type // ignore: cast_nullable_to_non_nullable
as String?,fullName: freezed == fullName ? _self.fullName : fullName // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [LastChange].
extension LastChangePatterns on LastChange {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _LastChange value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LastChange() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _LastChange value)  $default,){
final _that = this;
switch (_that) {
case _LastChange():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _LastChange value)?  $default,){
final _that = this;
switch (_that) {
case _LastChange() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( DateTime? date,  String? role,  String? type,  String? fullName)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LastChange() when $default != null:
return $default(_that.date,_that.role,_that.type,_that.fullName);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( DateTime? date,  String? role,  String? type,  String? fullName)  $default,) {final _that = this;
switch (_that) {
case _LastChange():
return $default(_that.date,_that.role,_that.type,_that.fullName);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( DateTime? date,  String? role,  String? type,  String? fullName)?  $default,) {final _that = this;
switch (_that) {
case _LastChange() when $default != null:
return $default(_that.date,_that.role,_that.type,_that.fullName);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _LastChange implements LastChange {
  const _LastChange({this.date, this.role, this.type, this.fullName});
  factory _LastChange.fromJson(Map<String, dynamic> json) => _$LastChangeFromJson(json);

@override final  DateTime? date;
@override final  String? role;
@override final  String? type;
@override final  String? fullName;

/// Create a copy of LastChange
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LastChangeCopyWith<_LastChange> get copyWith => __$LastChangeCopyWithImpl<_LastChange>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$LastChangeToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LastChange&&(identical(other.date, date) || other.date == date)&&(identical(other.role, role) || other.role == role)&&(identical(other.type, type) || other.type == type)&&(identical(other.fullName, fullName) || other.fullName == fullName));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,date,role,type,fullName);

@override
String toString() {
  return 'LastChange(date: $date, role: $role, type: $type, fullName: $fullName)';
}


}

/// @nodoc
abstract mixin class _$LastChangeCopyWith<$Res> implements $LastChangeCopyWith<$Res> {
  factory _$LastChangeCopyWith(_LastChange value, $Res Function(_LastChange) _then) = __$LastChangeCopyWithImpl;
@override @useResult
$Res call({
 DateTime? date, String? role, String? type, String? fullName
});




}
/// @nodoc
class __$LastChangeCopyWithImpl<$Res>
    implements _$LastChangeCopyWith<$Res> {
  __$LastChangeCopyWithImpl(this._self, this._then);

  final _LastChange _self;
  final $Res Function(_LastChange) _then;

/// Create a copy of LastChange
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? date = freezed,Object? role = freezed,Object? type = freezed,Object? fullName = freezed,}) {
  return _then(_LastChange(
date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as String?,type: freezed == type ? _self.type : type // ignore: cast_nullable_to_non_nullable
as String?,fullName: freezed == fullName ? _self.fullName : fullName // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}


/// @nodoc
mixin _$Registrar {

 DateTime? get date; String? get role; String? get fullname;
/// Create a copy of Registrar
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$RegistrarCopyWith<Registrar> get copyWith => _$RegistrarCopyWithImpl<Registrar>(this as Registrar, _$identity);

  /// Serializes this Registrar to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is Registrar&&(identical(other.date, date) || other.date == date)&&(identical(other.role, role) || other.role == role)&&(identical(other.fullname, fullname) || other.fullname == fullname));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,date,role,fullname);

@override
String toString() {
  return 'Registrar(date: $date, role: $role, fullname: $fullname)';
}


}

/// @nodoc
abstract mixin class $RegistrarCopyWith<$Res>  {
  factory $RegistrarCopyWith(Registrar value, $Res Function(Registrar) _then) = _$RegistrarCopyWithImpl;
@useResult
$Res call({
 DateTime? date, String? role, String? fullname
});




}
/// @nodoc
class _$RegistrarCopyWithImpl<$Res>
    implements $RegistrarCopyWith<$Res> {
  _$RegistrarCopyWithImpl(this._self, this._then);

  final Registrar _self;
  final $Res Function(Registrar) _then;

/// Create a copy of Registrar
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? date = freezed,Object? role = freezed,Object? fullname = freezed,}) {
  return _then(_self.copyWith(
date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as String?,fullname: freezed == fullname ? _self.fullname : fullname // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [Registrar].
extension RegistrarPatterns on Registrar {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _Registrar value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _Registrar() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _Registrar value)  $default,){
final _that = this;
switch (_that) {
case _Registrar():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _Registrar value)?  $default,){
final _that = this;
switch (_that) {
case _Registrar() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( DateTime? date,  String? role,  String? fullname)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Registrar() when $default != null:
return $default(_that.date,_that.role,_that.fullname);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( DateTime? date,  String? role,  String? fullname)  $default,) {final _that = this;
switch (_that) {
case _Registrar():
return $default(_that.date,_that.role,_that.fullname);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( DateTime? date,  String? role,  String? fullname)?  $default,) {final _that = this;
switch (_that) {
case _Registrar() when $default != null:
return $default(_that.date,_that.role,_that.fullname);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _Registrar implements Registrar {
  const _Registrar({this.date, this.role, this.fullname});
  factory _Registrar.fromJson(Map<String, dynamic> json) => _$RegistrarFromJson(json);

@override final  DateTime? date;
@override final  String? role;
@override final  String? fullname;

/// Create a copy of Registrar
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$RegistrarCopyWith<_Registrar> get copyWith => __$RegistrarCopyWithImpl<_Registrar>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$RegistrarToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _Registrar&&(identical(other.date, date) || other.date == date)&&(identical(other.role, role) || other.role == role)&&(identical(other.fullname, fullname) || other.fullname == fullname));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,date,role,fullname);

@override
String toString() {
  return 'Registrar(date: $date, role: $role, fullname: $fullname)';
}


}

/// @nodoc
abstract mixin class _$RegistrarCopyWith<$Res> implements $RegistrarCopyWith<$Res> {
  factory _$RegistrarCopyWith(_Registrar value, $Res Function(_Registrar) _then) = __$RegistrarCopyWithImpl;
@override @useResult
$Res call({
 DateTime? date, String? role, String? fullname
});




}
/// @nodoc
class __$RegistrarCopyWithImpl<$Res>
    implements _$RegistrarCopyWith<$Res> {
  __$RegistrarCopyWithImpl(this._self, this._then);

  final _Registrar _self;
  final $Res Function(_Registrar) _then;

/// Create a copy of Registrar
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? date = freezed,Object? role = freezed,Object? fullname = freezed,}) {
  return _then(_Registrar(
date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as String?,fullname: freezed == fullname ? _self.fullname : fullname // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}


/// @nodoc
mixin _$Poultry {

 int? get id; User? get user; Address? get address; String? get key; bool? get trash; int? get ownerIdForeignKey; int? get userIdForeignKey; int? get addressIdForeignKey; bool? get hasChainCompany; String? get cityOperator; String? get unitName; String? get gisCode; int? get operatingLicenceCapacity; int? get numberOfHalls; bool? get tenant; bool? get hasTenant; String? get personType; String? get economicCode; String? get systemCode; String? get epidemiologicalCode; String? get breedingUniqueId; int? get totalCapacity; String? get licenceNumber; String? get healthCertificateNumber; int? get numberOfRequests; DateTime? get hatchingDate; DateTime? get lastPartyDate; int? get numberOfIncubators; int? get herdAgeByDay; int? get herdAgeByWeek; int? get numberOfParty; String? get communicationType; String? get cooperative; DateTime? get dateOfRegister; String? get unitStatus; bool? get active; String? get identityDocuments; String? get samasatUserCode; String? get baseOrder; DateTime? get incubationDate; double? get walletAmount; int? get city; int? get cityNumber; String? get cityName; int? get provinceNumber; String? get provinceName; double? get lat; double? get long; String? get date; int? get killingAveAge; double? get activeLeftOver; int? get killingAveCount; double? get killingAveWeight; double? get killingLiveWeight; double? get killingCarcassesWeight; double? get killingLossWeightPercent; double? get realKillingAveWeight; double? get realKillingLiveWeight; double? get realKillingCarcassesWeight; double? get realKillingLossWeightPercent; String? get interestLicenceId; bool? get orderLimit; int? get owner; int? get userBankInfo; int? get wallet;
/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$PoultryCopyWith<Poultry> get copyWith => _$PoultryCopyWithImpl<Poultry>(this as Poultry, _$identity);

  /// Serializes this Poultry to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is Poultry&&(identical(other.id, id) || other.id == id)&&(identical(other.user, user) || other.user == user)&&(identical(other.address, address) || other.address == address)&&(identical(other.key, key) || other.key == key)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.ownerIdForeignKey, ownerIdForeignKey) || other.ownerIdForeignKey == ownerIdForeignKey)&&(identical(other.userIdForeignKey, userIdForeignKey) || other.userIdForeignKey == userIdForeignKey)&&(identical(other.addressIdForeignKey, addressIdForeignKey) || other.addressIdForeignKey == addressIdForeignKey)&&(identical(other.hasChainCompany, hasChainCompany) || other.hasChainCompany == hasChainCompany)&&(identical(other.cityOperator, cityOperator) || other.cityOperator == cityOperator)&&(identical(other.unitName, unitName) || other.unitName == unitName)&&(identical(other.gisCode, gisCode) || other.gisCode == gisCode)&&(identical(other.operatingLicenceCapacity, operatingLicenceCapacity) || other.operatingLicenceCapacity == operatingLicenceCapacity)&&(identical(other.numberOfHalls, numberOfHalls) || other.numberOfHalls == numberOfHalls)&&(identical(other.tenant, tenant) || other.tenant == tenant)&&(identical(other.hasTenant, hasTenant) || other.hasTenant == hasTenant)&&(identical(other.personType, personType) || other.personType == personType)&&(identical(other.economicCode, economicCode) || other.economicCode == economicCode)&&(identical(other.systemCode, systemCode) || other.systemCode == systemCode)&&(identical(other.epidemiologicalCode, epidemiologicalCode) || other.epidemiologicalCode == epidemiologicalCode)&&(identical(other.breedingUniqueId, breedingUniqueId) || other.breedingUniqueId == breedingUniqueId)&&(identical(other.totalCapacity, totalCapacity) || other.totalCapacity == totalCapacity)&&(identical(other.licenceNumber, licenceNumber) || other.licenceNumber == licenceNumber)&&(identical(other.healthCertificateNumber, healthCertificateNumber) || other.healthCertificateNumber == healthCertificateNumber)&&(identical(other.numberOfRequests, numberOfRequests) || other.numberOfRequests == numberOfRequests)&&(identical(other.hatchingDate, hatchingDate) || other.hatchingDate == hatchingDate)&&(identical(other.lastPartyDate, lastPartyDate) || other.lastPartyDate == lastPartyDate)&&(identical(other.numberOfIncubators, numberOfIncubators) || other.numberOfIncubators == numberOfIncubators)&&(identical(other.herdAgeByDay, herdAgeByDay) || other.herdAgeByDay == herdAgeByDay)&&(identical(other.herdAgeByWeek, herdAgeByWeek) || other.herdAgeByWeek == herdAgeByWeek)&&(identical(other.numberOfParty, numberOfParty) || other.numberOfParty == numberOfParty)&&(identical(other.communicationType, communicationType) || other.communicationType == communicationType)&&(identical(other.cooperative, cooperative) || other.cooperative == cooperative)&&(identical(other.dateOfRegister, dateOfRegister) || other.dateOfRegister == dateOfRegister)&&(identical(other.unitStatus, unitStatus) || other.unitStatus == unitStatus)&&(identical(other.active, active) || other.active == active)&&(identical(other.identityDocuments, identityDocuments) || other.identityDocuments == identityDocuments)&&(identical(other.samasatUserCode, samasatUserCode) || other.samasatUserCode == samasatUserCode)&&(identical(other.baseOrder, baseOrder) || other.baseOrder == baseOrder)&&(identical(other.incubationDate, incubationDate) || other.incubationDate == incubationDate)&&(identical(other.walletAmount, walletAmount) || other.walletAmount == walletAmount)&&(identical(other.city, city) || other.city == city)&&(identical(other.cityNumber, cityNumber) || other.cityNumber == cityNumber)&&(identical(other.cityName, cityName) || other.cityName == cityName)&&(identical(other.provinceNumber, provinceNumber) || other.provinceNumber == provinceNumber)&&(identical(other.provinceName, provinceName) || other.provinceName == provinceName)&&(identical(other.lat, lat) || other.lat == lat)&&(identical(other.long, long) || other.long == long)&&(identical(other.date, date) || other.date == date)&&(identical(other.killingAveAge, killingAveAge) || other.killingAveAge == killingAveAge)&&(identical(other.activeLeftOver, activeLeftOver) || other.activeLeftOver == activeLeftOver)&&(identical(other.killingAveCount, killingAveCount) || other.killingAveCount == killingAveCount)&&(identical(other.killingAveWeight, killingAveWeight) || other.killingAveWeight == killingAveWeight)&&(identical(other.killingLiveWeight, killingLiveWeight) || other.killingLiveWeight == killingLiveWeight)&&(identical(other.killingCarcassesWeight, killingCarcassesWeight) || other.killingCarcassesWeight == killingCarcassesWeight)&&(identical(other.killingLossWeightPercent, killingLossWeightPercent) || other.killingLossWeightPercent == killingLossWeightPercent)&&(identical(other.realKillingAveWeight, realKillingAveWeight) || other.realKillingAveWeight == realKillingAveWeight)&&(identical(other.realKillingLiveWeight, realKillingLiveWeight) || other.realKillingLiveWeight == realKillingLiveWeight)&&(identical(other.realKillingCarcassesWeight, realKillingCarcassesWeight) || other.realKillingCarcassesWeight == realKillingCarcassesWeight)&&(identical(other.realKillingLossWeightPercent, realKillingLossWeightPercent) || other.realKillingLossWeightPercent == realKillingLossWeightPercent)&&(identical(other.interestLicenceId, interestLicenceId) || other.interestLicenceId == interestLicenceId)&&(identical(other.orderLimit, orderLimit) || other.orderLimit == orderLimit)&&(identical(other.owner, owner) || other.owner == owner)&&(identical(other.userBankInfo, userBankInfo) || other.userBankInfo == userBankInfo)&&(identical(other.wallet, wallet) || other.wallet == wallet));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,id,user,address,key,trash,ownerIdForeignKey,userIdForeignKey,addressIdForeignKey,hasChainCompany,cityOperator,unitName,gisCode,operatingLicenceCapacity,numberOfHalls,tenant,hasTenant,personType,economicCode,systemCode,epidemiologicalCode,breedingUniqueId,totalCapacity,licenceNumber,healthCertificateNumber,numberOfRequests,hatchingDate,lastPartyDate,numberOfIncubators,herdAgeByDay,herdAgeByWeek,numberOfParty,communicationType,cooperative,dateOfRegister,unitStatus,active,identityDocuments,samasatUserCode,baseOrder,incubationDate,walletAmount,city,cityNumber,cityName,provinceNumber,provinceName,lat,long,date,killingAveAge,activeLeftOver,killingAveCount,killingAveWeight,killingLiveWeight,killingCarcassesWeight,killingLossWeightPercent,realKillingAveWeight,realKillingLiveWeight,realKillingCarcassesWeight,realKillingLossWeightPercent,interestLicenceId,orderLimit,owner,userBankInfo,wallet]);

@override
String toString() {
  return 'Poultry(id: $id, user: $user, address: $address, key: $key, trash: $trash, ownerIdForeignKey: $ownerIdForeignKey, userIdForeignKey: $userIdForeignKey, addressIdForeignKey: $addressIdForeignKey, hasChainCompany: $hasChainCompany, cityOperator: $cityOperator, unitName: $unitName, gisCode: $gisCode, operatingLicenceCapacity: $operatingLicenceCapacity, numberOfHalls: $numberOfHalls, tenant: $tenant, hasTenant: $hasTenant, personType: $personType, economicCode: $economicCode, systemCode: $systemCode, epidemiologicalCode: $epidemiologicalCode, breedingUniqueId: $breedingUniqueId, totalCapacity: $totalCapacity, licenceNumber: $licenceNumber, healthCertificateNumber: $healthCertificateNumber, numberOfRequests: $numberOfRequests, hatchingDate: $hatchingDate, lastPartyDate: $lastPartyDate, numberOfIncubators: $numberOfIncubators, herdAgeByDay: $herdAgeByDay, herdAgeByWeek: $herdAgeByWeek, numberOfParty: $numberOfParty, communicationType: $communicationType, cooperative: $cooperative, dateOfRegister: $dateOfRegister, unitStatus: $unitStatus, active: $active, identityDocuments: $identityDocuments, samasatUserCode: $samasatUserCode, baseOrder: $baseOrder, incubationDate: $incubationDate, walletAmount: $walletAmount, city: $city, cityNumber: $cityNumber, cityName: $cityName, provinceNumber: $provinceNumber, provinceName: $provinceName, lat: $lat, long: $long, date: $date, killingAveAge: $killingAveAge, activeLeftOver: $activeLeftOver, killingAveCount: $killingAveCount, killingAveWeight: $killingAveWeight, killingLiveWeight: $killingLiveWeight, killingCarcassesWeight: $killingCarcassesWeight, killingLossWeightPercent: $killingLossWeightPercent, realKillingAveWeight: $realKillingAveWeight, realKillingLiveWeight: $realKillingLiveWeight, realKillingCarcassesWeight: $realKillingCarcassesWeight, realKillingLossWeightPercent: $realKillingLossWeightPercent, interestLicenceId: $interestLicenceId, orderLimit: $orderLimit, owner: $owner, userBankInfo: $userBankInfo, wallet: $wallet)';
}


}

/// @nodoc
abstract mixin class $PoultryCopyWith<$Res>  {
  factory $PoultryCopyWith(Poultry value, $Res Function(Poultry) _then) = _$PoultryCopyWithImpl;
@useResult
$Res call({
 int? id, User? user, Address? address, String? key, bool? trash, int? ownerIdForeignKey, int? userIdForeignKey, int? addressIdForeignKey, bool? hasChainCompany, String? cityOperator, String? unitName, String? gisCode, int? operatingLicenceCapacity, int? numberOfHalls, bool? tenant, bool? hasTenant, String? personType, String? economicCode, String? systemCode, String? epidemiologicalCode, String? breedingUniqueId, int? totalCapacity, String? licenceNumber, String? healthCertificateNumber, int? numberOfRequests, DateTime? hatchingDate, DateTime? lastPartyDate, int? numberOfIncubators, int? herdAgeByDay, int? herdAgeByWeek, int? numberOfParty, String? communicationType, String? cooperative, DateTime? dateOfRegister, String? unitStatus, bool? active, String? identityDocuments, String? samasatUserCode, String? baseOrder, DateTime? incubationDate, double? walletAmount, int? city, int? cityNumber, String? cityName, int? provinceNumber, String? provinceName, double? lat, double? long, String? date, int? killingAveAge, double? activeLeftOver, int? killingAveCount, double? killingAveWeight, double? killingLiveWeight, double? killingCarcassesWeight, double? killingLossWeightPercent, double? realKillingAveWeight, double? realKillingLiveWeight, double? realKillingCarcassesWeight, double? realKillingLossWeightPercent, String? interestLicenceId, bool? orderLimit, int? owner, int? userBankInfo, int? wallet
});


$UserCopyWith<$Res>? get user;$AddressCopyWith<$Res>? get address;

}
/// @nodoc
class _$PoultryCopyWithImpl<$Res>
    implements $PoultryCopyWith<$Res> {
  _$PoultryCopyWithImpl(this._self, this._then);

  final Poultry _self;
  final $Res Function(Poultry) _then;

/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? id = freezed,Object? user = freezed,Object? address = freezed,Object? key = freezed,Object? trash = freezed,Object? ownerIdForeignKey = freezed,Object? userIdForeignKey = freezed,Object? addressIdForeignKey = freezed,Object? hasChainCompany = freezed,Object? cityOperator = freezed,Object? unitName = freezed,Object? gisCode = freezed,Object? operatingLicenceCapacity = freezed,Object? numberOfHalls = freezed,Object? tenant = freezed,Object? hasTenant = freezed,Object? personType = freezed,Object? economicCode = freezed,Object? systemCode = freezed,Object? epidemiologicalCode = freezed,Object? breedingUniqueId = freezed,Object? totalCapacity = freezed,Object? licenceNumber = freezed,Object? healthCertificateNumber = freezed,Object? numberOfRequests = freezed,Object? hatchingDate = freezed,Object? lastPartyDate = freezed,Object? numberOfIncubators = freezed,Object? herdAgeByDay = freezed,Object? herdAgeByWeek = freezed,Object? numberOfParty = freezed,Object? communicationType = freezed,Object? cooperative = freezed,Object? dateOfRegister = freezed,Object? unitStatus = freezed,Object? active = freezed,Object? identityDocuments = freezed,Object? samasatUserCode = freezed,Object? baseOrder = freezed,Object? incubationDate = freezed,Object? walletAmount = freezed,Object? city = freezed,Object? cityNumber = freezed,Object? cityName = freezed,Object? provinceNumber = freezed,Object? provinceName = freezed,Object? lat = freezed,Object? long = freezed,Object? date = freezed,Object? killingAveAge = freezed,Object? activeLeftOver = freezed,Object? killingAveCount = freezed,Object? killingAveWeight = freezed,Object? killingLiveWeight = freezed,Object? killingCarcassesWeight = freezed,Object? killingLossWeightPercent = freezed,Object? realKillingAveWeight = freezed,Object? realKillingLiveWeight = freezed,Object? realKillingCarcassesWeight = freezed,Object? realKillingLossWeightPercent = freezed,Object? interestLicenceId = freezed,Object? orderLimit = freezed,Object? owner = freezed,Object? userBankInfo = freezed,Object? wallet = freezed,}) {
  return _then(_self.copyWith(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,address: freezed == address ? _self.address : address // ignore: cast_nullable_to_non_nullable
as Address?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,ownerIdForeignKey: freezed == ownerIdForeignKey ? _self.ownerIdForeignKey : ownerIdForeignKey // ignore: cast_nullable_to_non_nullable
as int?,userIdForeignKey: freezed == userIdForeignKey ? _self.userIdForeignKey : userIdForeignKey // ignore: cast_nullable_to_non_nullable
as int?,addressIdForeignKey: freezed == addressIdForeignKey ? _self.addressIdForeignKey : addressIdForeignKey // ignore: cast_nullable_to_non_nullable
as int?,hasChainCompany: freezed == hasChainCompany ? _self.hasChainCompany : hasChainCompany // ignore: cast_nullable_to_non_nullable
as bool?,cityOperator: freezed == cityOperator ? _self.cityOperator : cityOperator // ignore: cast_nullable_to_non_nullable
as String?,unitName: freezed == unitName ? _self.unitName : unitName // ignore: cast_nullable_to_non_nullable
as String?,gisCode: freezed == gisCode ? _self.gisCode : gisCode // ignore: cast_nullable_to_non_nullable
as String?,operatingLicenceCapacity: freezed == operatingLicenceCapacity ? _self.operatingLicenceCapacity : operatingLicenceCapacity // ignore: cast_nullable_to_non_nullable
as int?,numberOfHalls: freezed == numberOfHalls ? _self.numberOfHalls : numberOfHalls // ignore: cast_nullable_to_non_nullable
as int?,tenant: freezed == tenant ? _self.tenant : tenant // ignore: cast_nullable_to_non_nullable
as bool?,hasTenant: freezed == hasTenant ? _self.hasTenant : hasTenant // ignore: cast_nullable_to_non_nullable
as bool?,personType: freezed == personType ? _self.personType : personType // ignore: cast_nullable_to_non_nullable
as String?,economicCode: freezed == economicCode ? _self.economicCode : economicCode // ignore: cast_nullable_to_non_nullable
as String?,systemCode: freezed == systemCode ? _self.systemCode : systemCode // ignore: cast_nullable_to_non_nullable
as String?,epidemiologicalCode: freezed == epidemiologicalCode ? _self.epidemiologicalCode : epidemiologicalCode // ignore: cast_nullable_to_non_nullable
as String?,breedingUniqueId: freezed == breedingUniqueId ? _self.breedingUniqueId : breedingUniqueId // ignore: cast_nullable_to_non_nullable
as String?,totalCapacity: freezed == totalCapacity ? _self.totalCapacity : totalCapacity // ignore: cast_nullable_to_non_nullable
as int?,licenceNumber: freezed == licenceNumber ? _self.licenceNumber : licenceNumber // ignore: cast_nullable_to_non_nullable
as String?,healthCertificateNumber: freezed == healthCertificateNumber ? _self.healthCertificateNumber : healthCertificateNumber // ignore: cast_nullable_to_non_nullable
as String?,numberOfRequests: freezed == numberOfRequests ? _self.numberOfRequests : numberOfRequests // ignore: cast_nullable_to_non_nullable
as int?,hatchingDate: freezed == hatchingDate ? _self.hatchingDate : hatchingDate // ignore: cast_nullable_to_non_nullable
as DateTime?,lastPartyDate: freezed == lastPartyDate ? _self.lastPartyDate : lastPartyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,numberOfIncubators: freezed == numberOfIncubators ? _self.numberOfIncubators : numberOfIncubators // ignore: cast_nullable_to_non_nullable
as int?,herdAgeByDay: freezed == herdAgeByDay ? _self.herdAgeByDay : herdAgeByDay // ignore: cast_nullable_to_non_nullable
as int?,herdAgeByWeek: freezed == herdAgeByWeek ? _self.herdAgeByWeek : herdAgeByWeek // ignore: cast_nullable_to_non_nullable
as int?,numberOfParty: freezed == numberOfParty ? _self.numberOfParty : numberOfParty // ignore: cast_nullable_to_non_nullable
as int?,communicationType: freezed == communicationType ? _self.communicationType : communicationType // ignore: cast_nullable_to_non_nullable
as String?,cooperative: freezed == cooperative ? _self.cooperative : cooperative // ignore: cast_nullable_to_non_nullable
as String?,dateOfRegister: freezed == dateOfRegister ? _self.dateOfRegister : dateOfRegister // ignore: cast_nullable_to_non_nullable
as DateTime?,unitStatus: freezed == unitStatus ? _self.unitStatus : unitStatus // ignore: cast_nullable_to_non_nullable
as String?,active: freezed == active ? _self.active : active // ignore: cast_nullable_to_non_nullable
as bool?,identityDocuments: freezed == identityDocuments ? _self.identityDocuments : identityDocuments // ignore: cast_nullable_to_non_nullable
as String?,samasatUserCode: freezed == samasatUserCode ? _self.samasatUserCode : samasatUserCode // ignore: cast_nullable_to_non_nullable
as String?,baseOrder: freezed == baseOrder ? _self.baseOrder : baseOrder // ignore: cast_nullable_to_non_nullable
as String?,incubationDate: freezed == incubationDate ? _self.incubationDate : incubationDate // ignore: cast_nullable_to_non_nullable
as DateTime?,walletAmount: freezed == walletAmount ? _self.walletAmount : walletAmount // ignore: cast_nullable_to_non_nullable
as double?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as int?,cityNumber: freezed == cityNumber ? _self.cityNumber : cityNumber // ignore: cast_nullable_to_non_nullable
as int?,cityName: freezed == cityName ? _self.cityName : cityName // ignore: cast_nullable_to_non_nullable
as String?,provinceNumber: freezed == provinceNumber ? _self.provinceNumber : provinceNumber // ignore: cast_nullable_to_non_nullable
as int?,provinceName: freezed == provinceName ? _self.provinceName : provinceName // ignore: cast_nullable_to_non_nullable
as String?,lat: freezed == lat ? _self.lat : lat // ignore: cast_nullable_to_non_nullable
as double?,long: freezed == long ? _self.long : long // ignore: cast_nullable_to_non_nullable
as double?,date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as String?,killingAveAge: freezed == killingAveAge ? _self.killingAveAge : killingAveAge // ignore: cast_nullable_to_non_nullable
as int?,activeLeftOver: freezed == activeLeftOver ? _self.activeLeftOver : activeLeftOver // ignore: cast_nullable_to_non_nullable
as double?,killingAveCount: freezed == killingAveCount ? _self.killingAveCount : killingAveCount // ignore: cast_nullable_to_non_nullable
as int?,killingAveWeight: freezed == killingAveWeight ? _self.killingAveWeight : killingAveWeight // ignore: cast_nullable_to_non_nullable
as double?,killingLiveWeight: freezed == killingLiveWeight ? _self.killingLiveWeight : killingLiveWeight // ignore: cast_nullable_to_non_nullable
as double?,killingCarcassesWeight: freezed == killingCarcassesWeight ? _self.killingCarcassesWeight : killingCarcassesWeight // ignore: cast_nullable_to_non_nullable
as double?,killingLossWeightPercent: freezed == killingLossWeightPercent ? _self.killingLossWeightPercent : killingLossWeightPercent // ignore: cast_nullable_to_non_nullable
as double?,realKillingAveWeight: freezed == realKillingAveWeight ? _self.realKillingAveWeight : realKillingAveWeight // ignore: cast_nullable_to_non_nullable
as double?,realKillingLiveWeight: freezed == realKillingLiveWeight ? _self.realKillingLiveWeight : realKillingLiveWeight // ignore: cast_nullable_to_non_nullable
as double?,realKillingCarcassesWeight: freezed == realKillingCarcassesWeight ? _self.realKillingCarcassesWeight : realKillingCarcassesWeight // ignore: cast_nullable_to_non_nullable
as double?,realKillingLossWeightPercent: freezed == realKillingLossWeightPercent ? _self.realKillingLossWeightPercent : realKillingLossWeightPercent // ignore: cast_nullable_to_non_nullable
as double?,interestLicenceId: freezed == interestLicenceId ? _self.interestLicenceId : interestLicenceId // ignore: cast_nullable_to_non_nullable
as String?,orderLimit: freezed == orderLimit ? _self.orderLimit : orderLimit // ignore: cast_nullable_to_non_nullable
as bool?,owner: freezed == owner ? _self.owner : owner // ignore: cast_nullable_to_non_nullable
as int?,userBankInfo: freezed == userBankInfo ? _self.userBankInfo : userBankInfo // ignore: cast_nullable_to_non_nullable
as int?,wallet: freezed == wallet ? _self.wallet : wallet // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}
/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$AddressCopyWith<$Res>? get address {
    if (_self.address == null) {
    return null;
  }

  return $AddressCopyWith<$Res>(_self.address!, (value) {
    return _then(_self.copyWith(address: value));
  });
}
}


/// Adds pattern-matching-related methods to [Poultry].
extension PoultryPatterns on Poultry {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _Poultry value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _Poultry() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _Poultry value)  $default,){
final _that = this;
switch (_that) {
case _Poultry():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _Poultry value)?  $default,){
final _that = this;
switch (_that) {
case _Poultry() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( int? id,  User? user,  Address? address,  String? key,  bool? trash,  int? ownerIdForeignKey,  int? userIdForeignKey,  int? addressIdForeignKey,  bool? hasChainCompany,  String? cityOperator,  String? unitName,  String? gisCode,  int? operatingLicenceCapacity,  int? numberOfHalls,  bool? tenant,  bool? hasTenant,  String? personType,  String? economicCode,  String? systemCode,  String? epidemiologicalCode,  String? breedingUniqueId,  int? totalCapacity,  String? licenceNumber,  String? healthCertificateNumber,  int? numberOfRequests,  DateTime? hatchingDate,  DateTime? lastPartyDate,  int? numberOfIncubators,  int? herdAgeByDay,  int? herdAgeByWeek,  int? numberOfParty,  String? communicationType,  String? cooperative,  DateTime? dateOfRegister,  String? unitStatus,  bool? active,  String? identityDocuments,  String? samasatUserCode,  String? baseOrder,  DateTime? incubationDate,  double? walletAmount,  int? city,  int? cityNumber,  String? cityName,  int? provinceNumber,  String? provinceName,  double? lat,  double? long,  String? date,  int? killingAveAge,  double? activeLeftOver,  int? killingAveCount,  double? killingAveWeight,  double? killingLiveWeight,  double? killingCarcassesWeight,  double? killingLossWeightPercent,  double? realKillingAveWeight,  double? realKillingLiveWeight,  double? realKillingCarcassesWeight,  double? realKillingLossWeightPercent,  String? interestLicenceId,  bool? orderLimit,  int? owner,  int? userBankInfo,  int? wallet)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Poultry() when $default != null:
return $default(_that.id,_that.user,_that.address,_that.key,_that.trash,_that.ownerIdForeignKey,_that.userIdForeignKey,_that.addressIdForeignKey,_that.hasChainCompany,_that.cityOperator,_that.unitName,_that.gisCode,_that.operatingLicenceCapacity,_that.numberOfHalls,_that.tenant,_that.hasTenant,_that.personType,_that.economicCode,_that.systemCode,_that.epidemiologicalCode,_that.breedingUniqueId,_that.totalCapacity,_that.licenceNumber,_that.healthCertificateNumber,_that.numberOfRequests,_that.hatchingDate,_that.lastPartyDate,_that.numberOfIncubators,_that.herdAgeByDay,_that.herdAgeByWeek,_that.numberOfParty,_that.communicationType,_that.cooperative,_that.dateOfRegister,_that.unitStatus,_that.active,_that.identityDocuments,_that.samasatUserCode,_that.baseOrder,_that.incubationDate,_that.walletAmount,_that.city,_that.cityNumber,_that.cityName,_that.provinceNumber,_that.provinceName,_that.lat,_that.long,_that.date,_that.killingAveAge,_that.activeLeftOver,_that.killingAveCount,_that.killingAveWeight,_that.killingLiveWeight,_that.killingCarcassesWeight,_that.killingLossWeightPercent,_that.realKillingAveWeight,_that.realKillingLiveWeight,_that.realKillingCarcassesWeight,_that.realKillingLossWeightPercent,_that.interestLicenceId,_that.orderLimit,_that.owner,_that.userBankInfo,_that.wallet);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int? id,  User? user,  Address? address,  String? key,  bool? trash,  int? ownerIdForeignKey,  int? userIdForeignKey,  int? addressIdForeignKey,  bool? hasChainCompany,  String? cityOperator,  String? unitName,  String? gisCode,  int? operatingLicenceCapacity,  int? numberOfHalls,  bool? tenant,  bool? hasTenant,  String? personType,  String? economicCode,  String? systemCode,  String? epidemiologicalCode,  String? breedingUniqueId,  int? totalCapacity,  String? licenceNumber,  String? healthCertificateNumber,  int? numberOfRequests,  DateTime? hatchingDate,  DateTime? lastPartyDate,  int? numberOfIncubators,  int? herdAgeByDay,  int? herdAgeByWeek,  int? numberOfParty,  String? communicationType,  String? cooperative,  DateTime? dateOfRegister,  String? unitStatus,  bool? active,  String? identityDocuments,  String? samasatUserCode,  String? baseOrder,  DateTime? incubationDate,  double? walletAmount,  int? city,  int? cityNumber,  String? cityName,  int? provinceNumber,  String? provinceName,  double? lat,  double? long,  String? date,  int? killingAveAge,  double? activeLeftOver,  int? killingAveCount,  double? killingAveWeight,  double? killingLiveWeight,  double? killingCarcassesWeight,  double? killingLossWeightPercent,  double? realKillingAveWeight,  double? realKillingLiveWeight,  double? realKillingCarcassesWeight,  double? realKillingLossWeightPercent,  String? interestLicenceId,  bool? orderLimit,  int? owner,  int? userBankInfo,  int? wallet)  $default,) {final _that = this;
switch (_that) {
case _Poultry():
return $default(_that.id,_that.user,_that.address,_that.key,_that.trash,_that.ownerIdForeignKey,_that.userIdForeignKey,_that.addressIdForeignKey,_that.hasChainCompany,_that.cityOperator,_that.unitName,_that.gisCode,_that.operatingLicenceCapacity,_that.numberOfHalls,_that.tenant,_that.hasTenant,_that.personType,_that.economicCode,_that.systemCode,_that.epidemiologicalCode,_that.breedingUniqueId,_that.totalCapacity,_that.licenceNumber,_that.healthCertificateNumber,_that.numberOfRequests,_that.hatchingDate,_that.lastPartyDate,_that.numberOfIncubators,_that.herdAgeByDay,_that.herdAgeByWeek,_that.numberOfParty,_that.communicationType,_that.cooperative,_that.dateOfRegister,_that.unitStatus,_that.active,_that.identityDocuments,_that.samasatUserCode,_that.baseOrder,_that.incubationDate,_that.walletAmount,_that.city,_that.cityNumber,_that.cityName,_that.provinceNumber,_that.provinceName,_that.lat,_that.long,_that.date,_that.killingAveAge,_that.activeLeftOver,_that.killingAveCount,_that.killingAveWeight,_that.killingLiveWeight,_that.killingCarcassesWeight,_that.killingLossWeightPercent,_that.realKillingAveWeight,_that.realKillingLiveWeight,_that.realKillingCarcassesWeight,_that.realKillingLossWeightPercent,_that.interestLicenceId,_that.orderLimit,_that.owner,_that.userBankInfo,_that.wallet);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( int? id,  User? user,  Address? address,  String? key,  bool? trash,  int? ownerIdForeignKey,  int? userIdForeignKey,  int? addressIdForeignKey,  bool? hasChainCompany,  String? cityOperator,  String? unitName,  String? gisCode,  int? operatingLicenceCapacity,  int? numberOfHalls,  bool? tenant,  bool? hasTenant,  String? personType,  String? economicCode,  String? systemCode,  String? epidemiologicalCode,  String? breedingUniqueId,  int? totalCapacity,  String? licenceNumber,  String? healthCertificateNumber,  int? numberOfRequests,  DateTime? hatchingDate,  DateTime? lastPartyDate,  int? numberOfIncubators,  int? herdAgeByDay,  int? herdAgeByWeek,  int? numberOfParty,  String? communicationType,  String? cooperative,  DateTime? dateOfRegister,  String? unitStatus,  bool? active,  String? identityDocuments,  String? samasatUserCode,  String? baseOrder,  DateTime? incubationDate,  double? walletAmount,  int? city,  int? cityNumber,  String? cityName,  int? provinceNumber,  String? provinceName,  double? lat,  double? long,  String? date,  int? killingAveAge,  double? activeLeftOver,  int? killingAveCount,  double? killingAveWeight,  double? killingLiveWeight,  double? killingCarcassesWeight,  double? killingLossWeightPercent,  double? realKillingAveWeight,  double? realKillingLiveWeight,  double? realKillingCarcassesWeight,  double? realKillingLossWeightPercent,  String? interestLicenceId,  bool? orderLimit,  int? owner,  int? userBankInfo,  int? wallet)?  $default,) {final _that = this;
switch (_that) {
case _Poultry() when $default != null:
return $default(_that.id,_that.user,_that.address,_that.key,_that.trash,_that.ownerIdForeignKey,_that.userIdForeignKey,_that.addressIdForeignKey,_that.hasChainCompany,_that.cityOperator,_that.unitName,_that.gisCode,_that.operatingLicenceCapacity,_that.numberOfHalls,_that.tenant,_that.hasTenant,_that.personType,_that.economicCode,_that.systemCode,_that.epidemiologicalCode,_that.breedingUniqueId,_that.totalCapacity,_that.licenceNumber,_that.healthCertificateNumber,_that.numberOfRequests,_that.hatchingDate,_that.lastPartyDate,_that.numberOfIncubators,_that.herdAgeByDay,_that.herdAgeByWeek,_that.numberOfParty,_that.communicationType,_that.cooperative,_that.dateOfRegister,_that.unitStatus,_that.active,_that.identityDocuments,_that.samasatUserCode,_that.baseOrder,_that.incubationDate,_that.walletAmount,_that.city,_that.cityNumber,_that.cityName,_that.provinceNumber,_that.provinceName,_that.lat,_that.long,_that.date,_that.killingAveAge,_that.activeLeftOver,_that.killingAveCount,_that.killingAveWeight,_that.killingLiveWeight,_that.killingCarcassesWeight,_that.killingLossWeightPercent,_that.realKillingAveWeight,_that.realKillingLiveWeight,_that.realKillingCarcassesWeight,_that.realKillingLossWeightPercent,_that.interestLicenceId,_that.orderLimit,_that.owner,_that.userBankInfo,_that.wallet);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _Poultry implements Poultry {
  const _Poultry({this.id, this.user, this.address, this.key, this.trash, this.ownerIdForeignKey, this.userIdForeignKey, this.addressIdForeignKey, this.hasChainCompany, this.cityOperator, this.unitName, this.gisCode, this.operatingLicenceCapacity, this.numberOfHalls, this.tenant, this.hasTenant, this.personType, this.economicCode, this.systemCode, this.epidemiologicalCode, this.breedingUniqueId, this.totalCapacity, this.licenceNumber, this.healthCertificateNumber, this.numberOfRequests, this.hatchingDate, this.lastPartyDate, this.numberOfIncubators, this.herdAgeByDay, this.herdAgeByWeek, this.numberOfParty, this.communicationType, this.cooperative, this.dateOfRegister, this.unitStatus, this.active, this.identityDocuments, this.samasatUserCode, this.baseOrder, this.incubationDate, this.walletAmount, this.city, this.cityNumber, this.cityName, this.provinceNumber, this.provinceName, this.lat, this.long, this.date, this.killingAveAge, this.activeLeftOver, this.killingAveCount, this.killingAveWeight, this.killingLiveWeight, this.killingCarcassesWeight, this.killingLossWeightPercent, this.realKillingAveWeight, this.realKillingLiveWeight, this.realKillingCarcassesWeight, this.realKillingLossWeightPercent, this.interestLicenceId, this.orderLimit, this.owner, this.userBankInfo, this.wallet});
  factory _Poultry.fromJson(Map<String, dynamic> json) => _$PoultryFromJson(json);

@override final  int? id;
@override final  User? user;
@override final  Address? address;
@override final  String? key;
@override final  bool? trash;
@override final  int? ownerIdForeignKey;
@override final  int? userIdForeignKey;
@override final  int? addressIdForeignKey;
@override final  bool? hasChainCompany;
@override final  String? cityOperator;
@override final  String? unitName;
@override final  String? gisCode;
@override final  int? operatingLicenceCapacity;
@override final  int? numberOfHalls;
@override final  bool? tenant;
@override final  bool? hasTenant;
@override final  String? personType;
@override final  String? economicCode;
@override final  String? systemCode;
@override final  String? epidemiologicalCode;
@override final  String? breedingUniqueId;
@override final  int? totalCapacity;
@override final  String? licenceNumber;
@override final  String? healthCertificateNumber;
@override final  int? numberOfRequests;
@override final  DateTime? hatchingDate;
@override final  DateTime? lastPartyDate;
@override final  int? numberOfIncubators;
@override final  int? herdAgeByDay;
@override final  int? herdAgeByWeek;
@override final  int? numberOfParty;
@override final  String? communicationType;
@override final  String? cooperative;
@override final  DateTime? dateOfRegister;
@override final  String? unitStatus;
@override final  bool? active;
@override final  String? identityDocuments;
@override final  String? samasatUserCode;
@override final  String? baseOrder;
@override final  DateTime? incubationDate;
@override final  double? walletAmount;
@override final  int? city;
@override final  int? cityNumber;
@override final  String? cityName;
@override final  int? provinceNumber;
@override final  String? provinceName;
@override final  double? lat;
@override final  double? long;
@override final  String? date;
@override final  int? killingAveAge;
@override final  double? activeLeftOver;
@override final  int? killingAveCount;
@override final  double? killingAveWeight;
@override final  double? killingLiveWeight;
@override final  double? killingCarcassesWeight;
@override final  double? killingLossWeightPercent;
@override final  double? realKillingAveWeight;
@override final  double? realKillingLiveWeight;
@override final  double? realKillingCarcassesWeight;
@override final  double? realKillingLossWeightPercent;
@override final  String? interestLicenceId;
@override final  bool? orderLimit;
@override final  int? owner;
@override final  int? userBankInfo;
@override final  int? wallet;

/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$PoultryCopyWith<_Poultry> get copyWith => __$PoultryCopyWithImpl<_Poultry>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$PoultryToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _Poultry&&(identical(other.id, id) || other.id == id)&&(identical(other.user, user) || other.user == user)&&(identical(other.address, address) || other.address == address)&&(identical(other.key, key) || other.key == key)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.ownerIdForeignKey, ownerIdForeignKey) || other.ownerIdForeignKey == ownerIdForeignKey)&&(identical(other.userIdForeignKey, userIdForeignKey) || other.userIdForeignKey == userIdForeignKey)&&(identical(other.addressIdForeignKey, addressIdForeignKey) || other.addressIdForeignKey == addressIdForeignKey)&&(identical(other.hasChainCompany, hasChainCompany) || other.hasChainCompany == hasChainCompany)&&(identical(other.cityOperator, cityOperator) || other.cityOperator == cityOperator)&&(identical(other.unitName, unitName) || other.unitName == unitName)&&(identical(other.gisCode, gisCode) || other.gisCode == gisCode)&&(identical(other.operatingLicenceCapacity, operatingLicenceCapacity) || other.operatingLicenceCapacity == operatingLicenceCapacity)&&(identical(other.numberOfHalls, numberOfHalls) || other.numberOfHalls == numberOfHalls)&&(identical(other.tenant, tenant) || other.tenant == tenant)&&(identical(other.hasTenant, hasTenant) || other.hasTenant == hasTenant)&&(identical(other.personType, personType) || other.personType == personType)&&(identical(other.economicCode, economicCode) || other.economicCode == economicCode)&&(identical(other.systemCode, systemCode) || other.systemCode == systemCode)&&(identical(other.epidemiologicalCode, epidemiologicalCode) || other.epidemiologicalCode == epidemiologicalCode)&&(identical(other.breedingUniqueId, breedingUniqueId) || other.breedingUniqueId == breedingUniqueId)&&(identical(other.totalCapacity, totalCapacity) || other.totalCapacity == totalCapacity)&&(identical(other.licenceNumber, licenceNumber) || other.licenceNumber == licenceNumber)&&(identical(other.healthCertificateNumber, healthCertificateNumber) || other.healthCertificateNumber == healthCertificateNumber)&&(identical(other.numberOfRequests, numberOfRequests) || other.numberOfRequests == numberOfRequests)&&(identical(other.hatchingDate, hatchingDate) || other.hatchingDate == hatchingDate)&&(identical(other.lastPartyDate, lastPartyDate) || other.lastPartyDate == lastPartyDate)&&(identical(other.numberOfIncubators, numberOfIncubators) || other.numberOfIncubators == numberOfIncubators)&&(identical(other.herdAgeByDay, herdAgeByDay) || other.herdAgeByDay == herdAgeByDay)&&(identical(other.herdAgeByWeek, herdAgeByWeek) || other.herdAgeByWeek == herdAgeByWeek)&&(identical(other.numberOfParty, numberOfParty) || other.numberOfParty == numberOfParty)&&(identical(other.communicationType, communicationType) || other.communicationType == communicationType)&&(identical(other.cooperative, cooperative) || other.cooperative == cooperative)&&(identical(other.dateOfRegister, dateOfRegister) || other.dateOfRegister == dateOfRegister)&&(identical(other.unitStatus, unitStatus) || other.unitStatus == unitStatus)&&(identical(other.active, active) || other.active == active)&&(identical(other.identityDocuments, identityDocuments) || other.identityDocuments == identityDocuments)&&(identical(other.samasatUserCode, samasatUserCode) || other.samasatUserCode == samasatUserCode)&&(identical(other.baseOrder, baseOrder) || other.baseOrder == baseOrder)&&(identical(other.incubationDate, incubationDate) || other.incubationDate == incubationDate)&&(identical(other.walletAmount, walletAmount) || other.walletAmount == walletAmount)&&(identical(other.city, city) || other.city == city)&&(identical(other.cityNumber, cityNumber) || other.cityNumber == cityNumber)&&(identical(other.cityName, cityName) || other.cityName == cityName)&&(identical(other.provinceNumber, provinceNumber) || other.provinceNumber == provinceNumber)&&(identical(other.provinceName, provinceName) || other.provinceName == provinceName)&&(identical(other.lat, lat) || other.lat == lat)&&(identical(other.long, long) || other.long == long)&&(identical(other.date, date) || other.date == date)&&(identical(other.killingAveAge, killingAveAge) || other.killingAveAge == killingAveAge)&&(identical(other.activeLeftOver, activeLeftOver) || other.activeLeftOver == activeLeftOver)&&(identical(other.killingAveCount, killingAveCount) || other.killingAveCount == killingAveCount)&&(identical(other.killingAveWeight, killingAveWeight) || other.killingAveWeight == killingAveWeight)&&(identical(other.killingLiveWeight, killingLiveWeight) || other.killingLiveWeight == killingLiveWeight)&&(identical(other.killingCarcassesWeight, killingCarcassesWeight) || other.killingCarcassesWeight == killingCarcassesWeight)&&(identical(other.killingLossWeightPercent, killingLossWeightPercent) || other.killingLossWeightPercent == killingLossWeightPercent)&&(identical(other.realKillingAveWeight, realKillingAveWeight) || other.realKillingAveWeight == realKillingAveWeight)&&(identical(other.realKillingLiveWeight, realKillingLiveWeight) || other.realKillingLiveWeight == realKillingLiveWeight)&&(identical(other.realKillingCarcassesWeight, realKillingCarcassesWeight) || other.realKillingCarcassesWeight == realKillingCarcassesWeight)&&(identical(other.realKillingLossWeightPercent, realKillingLossWeightPercent) || other.realKillingLossWeightPercent == realKillingLossWeightPercent)&&(identical(other.interestLicenceId, interestLicenceId) || other.interestLicenceId == interestLicenceId)&&(identical(other.orderLimit, orderLimit) || other.orderLimit == orderLimit)&&(identical(other.owner, owner) || other.owner == owner)&&(identical(other.userBankInfo, userBankInfo) || other.userBankInfo == userBankInfo)&&(identical(other.wallet, wallet) || other.wallet == wallet));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,id,user,address,key,trash,ownerIdForeignKey,userIdForeignKey,addressIdForeignKey,hasChainCompany,cityOperator,unitName,gisCode,operatingLicenceCapacity,numberOfHalls,tenant,hasTenant,personType,economicCode,systemCode,epidemiologicalCode,breedingUniqueId,totalCapacity,licenceNumber,healthCertificateNumber,numberOfRequests,hatchingDate,lastPartyDate,numberOfIncubators,herdAgeByDay,herdAgeByWeek,numberOfParty,communicationType,cooperative,dateOfRegister,unitStatus,active,identityDocuments,samasatUserCode,baseOrder,incubationDate,walletAmount,city,cityNumber,cityName,provinceNumber,provinceName,lat,long,date,killingAveAge,activeLeftOver,killingAveCount,killingAveWeight,killingLiveWeight,killingCarcassesWeight,killingLossWeightPercent,realKillingAveWeight,realKillingLiveWeight,realKillingCarcassesWeight,realKillingLossWeightPercent,interestLicenceId,orderLimit,owner,userBankInfo,wallet]);

@override
String toString() {
  return 'Poultry(id: $id, user: $user, address: $address, key: $key, trash: $trash, ownerIdForeignKey: $ownerIdForeignKey, userIdForeignKey: $userIdForeignKey, addressIdForeignKey: $addressIdForeignKey, hasChainCompany: $hasChainCompany, cityOperator: $cityOperator, unitName: $unitName, gisCode: $gisCode, operatingLicenceCapacity: $operatingLicenceCapacity, numberOfHalls: $numberOfHalls, tenant: $tenant, hasTenant: $hasTenant, personType: $personType, economicCode: $economicCode, systemCode: $systemCode, epidemiologicalCode: $epidemiologicalCode, breedingUniqueId: $breedingUniqueId, totalCapacity: $totalCapacity, licenceNumber: $licenceNumber, healthCertificateNumber: $healthCertificateNumber, numberOfRequests: $numberOfRequests, hatchingDate: $hatchingDate, lastPartyDate: $lastPartyDate, numberOfIncubators: $numberOfIncubators, herdAgeByDay: $herdAgeByDay, herdAgeByWeek: $herdAgeByWeek, numberOfParty: $numberOfParty, communicationType: $communicationType, cooperative: $cooperative, dateOfRegister: $dateOfRegister, unitStatus: $unitStatus, active: $active, identityDocuments: $identityDocuments, samasatUserCode: $samasatUserCode, baseOrder: $baseOrder, incubationDate: $incubationDate, walletAmount: $walletAmount, city: $city, cityNumber: $cityNumber, cityName: $cityName, provinceNumber: $provinceNumber, provinceName: $provinceName, lat: $lat, long: $long, date: $date, killingAveAge: $killingAveAge, activeLeftOver: $activeLeftOver, killingAveCount: $killingAveCount, killingAveWeight: $killingAveWeight, killingLiveWeight: $killingLiveWeight, killingCarcassesWeight: $killingCarcassesWeight, killingLossWeightPercent: $killingLossWeightPercent, realKillingAveWeight: $realKillingAveWeight, realKillingLiveWeight: $realKillingLiveWeight, realKillingCarcassesWeight: $realKillingCarcassesWeight, realKillingLossWeightPercent: $realKillingLossWeightPercent, interestLicenceId: $interestLicenceId, orderLimit: $orderLimit, owner: $owner, userBankInfo: $userBankInfo, wallet: $wallet)';
}


}

/// @nodoc
abstract mixin class _$PoultryCopyWith<$Res> implements $PoultryCopyWith<$Res> {
  factory _$PoultryCopyWith(_Poultry value, $Res Function(_Poultry) _then) = __$PoultryCopyWithImpl;
@override @useResult
$Res call({
 int? id, User? user, Address? address, String? key, bool? trash, int? ownerIdForeignKey, int? userIdForeignKey, int? addressIdForeignKey, bool? hasChainCompany, String? cityOperator, String? unitName, String? gisCode, int? operatingLicenceCapacity, int? numberOfHalls, bool? tenant, bool? hasTenant, String? personType, String? economicCode, String? systemCode, String? epidemiologicalCode, String? breedingUniqueId, int? totalCapacity, String? licenceNumber, String? healthCertificateNumber, int? numberOfRequests, DateTime? hatchingDate, DateTime? lastPartyDate, int? numberOfIncubators, int? herdAgeByDay, int? herdAgeByWeek, int? numberOfParty, String? communicationType, String? cooperative, DateTime? dateOfRegister, String? unitStatus, bool? active, String? identityDocuments, String? samasatUserCode, String? baseOrder, DateTime? incubationDate, double? walletAmount, int? city, int? cityNumber, String? cityName, int? provinceNumber, String? provinceName, double? lat, double? long, String? date, int? killingAveAge, double? activeLeftOver, int? killingAveCount, double? killingAveWeight, double? killingLiveWeight, double? killingCarcassesWeight, double? killingLossWeightPercent, double? realKillingAveWeight, double? realKillingLiveWeight, double? realKillingCarcassesWeight, double? realKillingLossWeightPercent, String? interestLicenceId, bool? orderLimit, int? owner, int? userBankInfo, int? wallet
});


@override $UserCopyWith<$Res>? get user;@override $AddressCopyWith<$Res>? get address;

}
/// @nodoc
class __$PoultryCopyWithImpl<$Res>
    implements _$PoultryCopyWith<$Res> {
  __$PoultryCopyWithImpl(this._self, this._then);

  final _Poultry _self;
  final $Res Function(_Poultry) _then;

/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? id = freezed,Object? user = freezed,Object? address = freezed,Object? key = freezed,Object? trash = freezed,Object? ownerIdForeignKey = freezed,Object? userIdForeignKey = freezed,Object? addressIdForeignKey = freezed,Object? hasChainCompany = freezed,Object? cityOperator = freezed,Object? unitName = freezed,Object? gisCode = freezed,Object? operatingLicenceCapacity = freezed,Object? numberOfHalls = freezed,Object? tenant = freezed,Object? hasTenant = freezed,Object? personType = freezed,Object? economicCode = freezed,Object? systemCode = freezed,Object? epidemiologicalCode = freezed,Object? breedingUniqueId = freezed,Object? totalCapacity = freezed,Object? licenceNumber = freezed,Object? healthCertificateNumber = freezed,Object? numberOfRequests = freezed,Object? hatchingDate = freezed,Object? lastPartyDate = freezed,Object? numberOfIncubators = freezed,Object? herdAgeByDay = freezed,Object? herdAgeByWeek = freezed,Object? numberOfParty = freezed,Object? communicationType = freezed,Object? cooperative = freezed,Object? dateOfRegister = freezed,Object? unitStatus = freezed,Object? active = freezed,Object? identityDocuments = freezed,Object? samasatUserCode = freezed,Object? baseOrder = freezed,Object? incubationDate = freezed,Object? walletAmount = freezed,Object? city = freezed,Object? cityNumber = freezed,Object? cityName = freezed,Object? provinceNumber = freezed,Object? provinceName = freezed,Object? lat = freezed,Object? long = freezed,Object? date = freezed,Object? killingAveAge = freezed,Object? activeLeftOver = freezed,Object? killingAveCount = freezed,Object? killingAveWeight = freezed,Object? killingLiveWeight = freezed,Object? killingCarcassesWeight = freezed,Object? killingLossWeightPercent = freezed,Object? realKillingAveWeight = freezed,Object? realKillingLiveWeight = freezed,Object? realKillingCarcassesWeight = freezed,Object? realKillingLossWeightPercent = freezed,Object? interestLicenceId = freezed,Object? orderLimit = freezed,Object? owner = freezed,Object? userBankInfo = freezed,Object? wallet = freezed,}) {
  return _then(_Poultry(
id: freezed == id ? _self.id : id // ignore: cast_nullable_to_non_nullable
as int?,user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,address: freezed == address ? _self.address : address // ignore: cast_nullable_to_non_nullable
as Address?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,ownerIdForeignKey: freezed == ownerIdForeignKey ? _self.ownerIdForeignKey : ownerIdForeignKey // ignore: cast_nullable_to_non_nullable
as int?,userIdForeignKey: freezed == userIdForeignKey ? _self.userIdForeignKey : userIdForeignKey // ignore: cast_nullable_to_non_nullable
as int?,addressIdForeignKey: freezed == addressIdForeignKey ? _self.addressIdForeignKey : addressIdForeignKey // ignore: cast_nullable_to_non_nullable
as int?,hasChainCompany: freezed == hasChainCompany ? _self.hasChainCompany : hasChainCompany // ignore: cast_nullable_to_non_nullable
as bool?,cityOperator: freezed == cityOperator ? _self.cityOperator : cityOperator // ignore: cast_nullable_to_non_nullable
as String?,unitName: freezed == unitName ? _self.unitName : unitName // ignore: cast_nullable_to_non_nullable
as String?,gisCode: freezed == gisCode ? _self.gisCode : gisCode // ignore: cast_nullable_to_non_nullable
as String?,operatingLicenceCapacity: freezed == operatingLicenceCapacity ? _self.operatingLicenceCapacity : operatingLicenceCapacity // ignore: cast_nullable_to_non_nullable
as int?,numberOfHalls: freezed == numberOfHalls ? _self.numberOfHalls : numberOfHalls // ignore: cast_nullable_to_non_nullable
as int?,tenant: freezed == tenant ? _self.tenant : tenant // ignore: cast_nullable_to_non_nullable
as bool?,hasTenant: freezed == hasTenant ? _self.hasTenant : hasTenant // ignore: cast_nullable_to_non_nullable
as bool?,personType: freezed == personType ? _self.personType : personType // ignore: cast_nullable_to_non_nullable
as String?,economicCode: freezed == economicCode ? _self.economicCode : economicCode // ignore: cast_nullable_to_non_nullable
as String?,systemCode: freezed == systemCode ? _self.systemCode : systemCode // ignore: cast_nullable_to_non_nullable
as String?,epidemiologicalCode: freezed == epidemiologicalCode ? _self.epidemiologicalCode : epidemiologicalCode // ignore: cast_nullable_to_non_nullable
as String?,breedingUniqueId: freezed == breedingUniqueId ? _self.breedingUniqueId : breedingUniqueId // ignore: cast_nullable_to_non_nullable
as String?,totalCapacity: freezed == totalCapacity ? _self.totalCapacity : totalCapacity // ignore: cast_nullable_to_non_nullable
as int?,licenceNumber: freezed == licenceNumber ? _self.licenceNumber : licenceNumber // ignore: cast_nullable_to_non_nullable
as String?,healthCertificateNumber: freezed == healthCertificateNumber ? _self.healthCertificateNumber : healthCertificateNumber // ignore: cast_nullable_to_non_nullable
as String?,numberOfRequests: freezed == numberOfRequests ? _self.numberOfRequests : numberOfRequests // ignore: cast_nullable_to_non_nullable
as int?,hatchingDate: freezed == hatchingDate ? _self.hatchingDate : hatchingDate // ignore: cast_nullable_to_non_nullable
as DateTime?,lastPartyDate: freezed == lastPartyDate ? _self.lastPartyDate : lastPartyDate // ignore: cast_nullable_to_non_nullable
as DateTime?,numberOfIncubators: freezed == numberOfIncubators ? _self.numberOfIncubators : numberOfIncubators // ignore: cast_nullable_to_non_nullable
as int?,herdAgeByDay: freezed == herdAgeByDay ? _self.herdAgeByDay : herdAgeByDay // ignore: cast_nullable_to_non_nullable
as int?,herdAgeByWeek: freezed == herdAgeByWeek ? _self.herdAgeByWeek : herdAgeByWeek // ignore: cast_nullable_to_non_nullable
as int?,numberOfParty: freezed == numberOfParty ? _self.numberOfParty : numberOfParty // ignore: cast_nullable_to_non_nullable
as int?,communicationType: freezed == communicationType ? _self.communicationType : communicationType // ignore: cast_nullable_to_non_nullable
as String?,cooperative: freezed == cooperative ? _self.cooperative : cooperative // ignore: cast_nullable_to_non_nullable
as String?,dateOfRegister: freezed == dateOfRegister ? _self.dateOfRegister : dateOfRegister // ignore: cast_nullable_to_non_nullable
as DateTime?,unitStatus: freezed == unitStatus ? _self.unitStatus : unitStatus // ignore: cast_nullable_to_non_nullable
as String?,active: freezed == active ? _self.active : active // ignore: cast_nullable_to_non_nullable
as bool?,identityDocuments: freezed == identityDocuments ? _self.identityDocuments : identityDocuments // ignore: cast_nullable_to_non_nullable
as String?,samasatUserCode: freezed == samasatUserCode ? _self.samasatUserCode : samasatUserCode // ignore: cast_nullable_to_non_nullable
as String?,baseOrder: freezed == baseOrder ? _self.baseOrder : baseOrder // ignore: cast_nullable_to_non_nullable
as String?,incubationDate: freezed == incubationDate ? _self.incubationDate : incubationDate // ignore: cast_nullable_to_non_nullable
as DateTime?,walletAmount: freezed == walletAmount ? _self.walletAmount : walletAmount // ignore: cast_nullable_to_non_nullable
as double?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as int?,cityNumber: freezed == cityNumber ? _self.cityNumber : cityNumber // ignore: cast_nullable_to_non_nullable
as int?,cityName: freezed == cityName ? _self.cityName : cityName // ignore: cast_nullable_to_non_nullable
as String?,provinceNumber: freezed == provinceNumber ? _self.provinceNumber : provinceNumber // ignore: cast_nullable_to_non_nullable
as int?,provinceName: freezed == provinceName ? _self.provinceName : provinceName // ignore: cast_nullable_to_non_nullable
as String?,lat: freezed == lat ? _self.lat : lat // ignore: cast_nullable_to_non_nullable
as double?,long: freezed == long ? _self.long : long // ignore: cast_nullable_to_non_nullable
as double?,date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as String?,killingAveAge: freezed == killingAveAge ? _self.killingAveAge : killingAveAge // ignore: cast_nullable_to_non_nullable
as int?,activeLeftOver: freezed == activeLeftOver ? _self.activeLeftOver : activeLeftOver // ignore: cast_nullable_to_non_nullable
as double?,killingAveCount: freezed == killingAveCount ? _self.killingAveCount : killingAveCount // ignore: cast_nullable_to_non_nullable
as int?,killingAveWeight: freezed == killingAveWeight ? _self.killingAveWeight : killingAveWeight // ignore: cast_nullable_to_non_nullable
as double?,killingLiveWeight: freezed == killingLiveWeight ? _self.killingLiveWeight : killingLiveWeight // ignore: cast_nullable_to_non_nullable
as double?,killingCarcassesWeight: freezed == killingCarcassesWeight ? _self.killingCarcassesWeight : killingCarcassesWeight // ignore: cast_nullable_to_non_nullable
as double?,killingLossWeightPercent: freezed == killingLossWeightPercent ? _self.killingLossWeightPercent : killingLossWeightPercent // ignore: cast_nullable_to_non_nullable
as double?,realKillingAveWeight: freezed == realKillingAveWeight ? _self.realKillingAveWeight : realKillingAveWeight // ignore: cast_nullable_to_non_nullable
as double?,realKillingLiveWeight: freezed == realKillingLiveWeight ? _self.realKillingLiveWeight : realKillingLiveWeight // ignore: cast_nullable_to_non_nullable
as double?,realKillingCarcassesWeight: freezed == realKillingCarcassesWeight ? _self.realKillingCarcassesWeight : realKillingCarcassesWeight // ignore: cast_nullable_to_non_nullable
as double?,realKillingLossWeightPercent: freezed == realKillingLossWeightPercent ? _self.realKillingLossWeightPercent : realKillingLossWeightPercent // ignore: cast_nullable_to_non_nullable
as double?,interestLicenceId: freezed == interestLicenceId ? _self.interestLicenceId : interestLicenceId // ignore: cast_nullable_to_non_nullable
as String?,orderLimit: freezed == orderLimit ? _self.orderLimit : orderLimit // ignore: cast_nullable_to_non_nullable
as bool?,owner: freezed == owner ? _self.owner : owner // ignore: cast_nullable_to_non_nullable
as int?,userBankInfo: freezed == userBankInfo ? _self.userBankInfo : userBankInfo // ignore: cast_nullable_to_non_nullable
as int?,wallet: freezed == wallet ? _self.wallet : wallet // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}/// Create a copy of Poultry
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$AddressCopyWith<$Res>? get address {
    if (_self.address == null) {
    return null;
  }

  return $AddressCopyWith<$Res>(_self.address!, (value) {
    return _then(_self.copyWith(address: value));
  });
}
}


/// @nodoc
mixin _$ChainCompany {

 User? get user; String? get userBankInfo; String? get key; bool? get trash; String? get name; String? get city; String? get province; String? get postalCode; String? get address; int? get wallet;
/// Create a copy of ChainCompany
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$ChainCompanyCopyWith<ChainCompany> get copyWith => _$ChainCompanyCopyWithImpl<ChainCompany>(this as ChainCompany, _$identity);

  /// Serializes this ChainCompany to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is ChainCompany&&(identical(other.user, user) || other.user == user)&&(identical(other.userBankInfo, userBankInfo) || other.userBankInfo == userBankInfo)&&(identical(other.key, key) || other.key == key)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.name, name) || other.name == name)&&(identical(other.city, city) || other.city == city)&&(identical(other.province, province) || other.province == province)&&(identical(other.postalCode, postalCode) || other.postalCode == postalCode)&&(identical(other.address, address) || other.address == address)&&(identical(other.wallet, wallet) || other.wallet == wallet));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,user,userBankInfo,key,trash,name,city,province,postalCode,address,wallet);

@override
String toString() {
  return 'ChainCompany(user: $user, userBankInfo: $userBankInfo, key: $key, trash: $trash, name: $name, city: $city, province: $province, postalCode: $postalCode, address: $address, wallet: $wallet)';
}


}

/// @nodoc
abstract mixin class $ChainCompanyCopyWith<$Res>  {
  factory $ChainCompanyCopyWith(ChainCompany value, $Res Function(ChainCompany) _then) = _$ChainCompanyCopyWithImpl;
@useResult
$Res call({
 User? user, String? userBankInfo, String? key, bool? trash, String? name, String? city, String? province, String? postalCode, String? address, int? wallet
});


$UserCopyWith<$Res>? get user;

}
/// @nodoc
class _$ChainCompanyCopyWithImpl<$Res>
    implements $ChainCompanyCopyWith<$Res> {
  _$ChainCompanyCopyWithImpl(this._self, this._then);

  final ChainCompany _self;
  final $Res Function(ChainCompany) _then;

/// Create a copy of ChainCompany
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? user = freezed,Object? userBankInfo = freezed,Object? key = freezed,Object? trash = freezed,Object? name = freezed,Object? city = freezed,Object? province = freezed,Object? postalCode = freezed,Object? address = freezed,Object? wallet = freezed,}) {
  return _then(_self.copyWith(
user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,userBankInfo: freezed == userBankInfo ? _self.userBankInfo : userBankInfo // ignore: cast_nullable_to_non_nullable
as String?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as String?,province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
as String?,postalCode: freezed == postalCode ? _self.postalCode : postalCode // ignore: cast_nullable_to_non_nullable
as String?,address: freezed == address ? _self.address : address // ignore: cast_nullable_to_non_nullable
as String?,wallet: freezed == wallet ? _self.wallet : wallet // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}
/// Create a copy of ChainCompany
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}
}


/// Adds pattern-matching-related methods to [ChainCompany].
extension ChainCompanyPatterns on ChainCompany {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _ChainCompany value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _ChainCompany() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _ChainCompany value)  $default,){
final _that = this;
switch (_that) {
case _ChainCompany():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _ChainCompany value)?  $default,){
final _that = this;
switch (_that) {
case _ChainCompany() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( User? user,  String? userBankInfo,  String? key,  bool? trash,  String? name,  String? city,  String? province,  String? postalCode,  String? address,  int? wallet)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _ChainCompany() when $default != null:
return $default(_that.user,_that.userBankInfo,_that.key,_that.trash,_that.name,_that.city,_that.province,_that.postalCode,_that.address,_that.wallet);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( User? user,  String? userBankInfo,  String? key,  bool? trash,  String? name,  String? city,  String? province,  String? postalCode,  String? address,  int? wallet)  $default,) {final _that = this;
switch (_that) {
case _ChainCompany():
return $default(_that.user,_that.userBankInfo,_that.key,_that.trash,_that.name,_that.city,_that.province,_that.postalCode,_that.address,_that.wallet);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( User? user,  String? userBankInfo,  String? key,  bool? trash,  String? name,  String? city,  String? province,  String? postalCode,  String? address,  int? wallet)?  $default,) {final _that = this;
switch (_that) {
case _ChainCompany() when $default != null:
return $default(_that.user,_that.userBankInfo,_that.key,_that.trash,_that.name,_that.city,_that.province,_that.postalCode,_that.address,_that.wallet);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _ChainCompany implements ChainCompany {
  const _ChainCompany({this.user, this.userBankInfo, this.key, this.trash, this.name, this.city, this.province, this.postalCode, this.address, this.wallet});
  factory _ChainCompany.fromJson(Map<String, dynamic> json) => _$ChainCompanyFromJson(json);

@override final  User? user;
@override final  String? userBankInfo;
@override final  String? key;
@override final  bool? trash;
@override final  String? name;
@override final  String? city;
@override final  String? province;
@override final  String? postalCode;
@override final  String? address;
@override final  int? wallet;

/// Create a copy of ChainCompany
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$ChainCompanyCopyWith<_ChainCompany> get copyWith => __$ChainCompanyCopyWithImpl<_ChainCompany>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$ChainCompanyToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _ChainCompany&&(identical(other.user, user) || other.user == user)&&(identical(other.userBankInfo, userBankInfo) || other.userBankInfo == userBankInfo)&&(identical(other.key, key) || other.key == key)&&(identical(other.trash, trash) || other.trash == trash)&&(identical(other.name, name) || other.name == name)&&(identical(other.city, city) || other.city == city)&&(identical(other.province, province) || other.province == province)&&(identical(other.postalCode, postalCode) || other.postalCode == postalCode)&&(identical(other.address, address) || other.address == address)&&(identical(other.wallet, wallet) || other.wallet == wallet));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,user,userBankInfo,key,trash,name,city,province,postalCode,address,wallet);

@override
String toString() {
  return 'ChainCompany(user: $user, userBankInfo: $userBankInfo, key: $key, trash: $trash, name: $name, city: $city, province: $province, postalCode: $postalCode, address: $address, wallet: $wallet)';
}


}

/// @nodoc
abstract mixin class _$ChainCompanyCopyWith<$Res> implements $ChainCompanyCopyWith<$Res> {
  factory _$ChainCompanyCopyWith(_ChainCompany value, $Res Function(_ChainCompany) _then) = __$ChainCompanyCopyWithImpl;
@override @useResult
$Res call({
 User? user, String? userBankInfo, String? key, bool? trash, String? name, String? city, String? province, String? postalCode, String? address, int? wallet
});


@override $UserCopyWith<$Res>? get user;

}
/// @nodoc
class __$ChainCompanyCopyWithImpl<$Res>
    implements _$ChainCompanyCopyWith<$Res> {
  __$ChainCompanyCopyWithImpl(this._self, this._then);

  final _ChainCompany _self;
  final $Res Function(_ChainCompany) _then;

/// Create a copy of ChainCompany
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? user = freezed,Object? userBankInfo = freezed,Object? key = freezed,Object? trash = freezed,Object? name = freezed,Object? city = freezed,Object? province = freezed,Object? postalCode = freezed,Object? address = freezed,Object? wallet = freezed,}) {
  return _then(_ChainCompany(
user: freezed == user ? _self.user : user // ignore: cast_nullable_to_non_nullable
as User?,userBankInfo: freezed == userBankInfo ? _self.userBankInfo : userBankInfo // ignore: cast_nullable_to_non_nullable
as String?,key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,trash: freezed == trash ? _self.trash : trash // ignore: cast_nullable_to_non_nullable
as bool?,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as String?,province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
as String?,postalCode: freezed == postalCode ? _self.postalCode : postalCode // ignore: cast_nullable_to_non_nullable
as String?,address: freezed == address ? _self.address : address // ignore: cast_nullable_to_non_nullable
as String?,wallet: freezed == wallet ? _self.wallet : wallet // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

/// Create a copy of ChainCompany
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$UserCopyWith<$Res>? get user {
    if (_self.user == null) {
    return null;
  }

  return $UserCopyWith<$Res>(_self.user!, (value) {
    return _then(_self.copyWith(user: value));
  });
}
}


/// @nodoc
mixin _$VetFarm {

 String? get vetFarmFullName; String? get vetFarmMobile;
/// Create a copy of VetFarm
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$VetFarmCopyWith<VetFarm> get copyWith => _$VetFarmCopyWithImpl<VetFarm>(this as VetFarm, _$identity);

  /// Serializes this VetFarm to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is VetFarm&&(identical(other.vetFarmFullName, vetFarmFullName) || other.vetFarmFullName == vetFarmFullName)&&(identical(other.vetFarmMobile, vetFarmMobile) || other.vetFarmMobile == vetFarmMobile));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,vetFarmFullName,vetFarmMobile);

@override
String toString() {
  return 'VetFarm(vetFarmFullName: $vetFarmFullName, vetFarmMobile: $vetFarmMobile)';
}


}

/// @nodoc
abstract mixin class $VetFarmCopyWith<$Res>  {
  factory $VetFarmCopyWith(VetFarm value, $Res Function(VetFarm) _then) = _$VetFarmCopyWithImpl;
@useResult
$Res call({
 String? vetFarmFullName, String? vetFarmMobile
});




}
/// @nodoc
class _$VetFarmCopyWithImpl<$Res>
    implements $VetFarmCopyWith<$Res> {
  _$VetFarmCopyWithImpl(this._self, this._then);

  final VetFarm _self;
  final $Res Function(VetFarm) _then;

/// Create a copy of VetFarm
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? vetFarmFullName = freezed,Object? vetFarmMobile = freezed,}) {
  return _then(_self.copyWith(
vetFarmFullName: freezed == vetFarmFullName ? _self.vetFarmFullName : vetFarmFullName // ignore: cast_nullable_to_non_nullable
as String?,vetFarmMobile: freezed == vetFarmMobile ? _self.vetFarmMobile : vetFarmMobile // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [VetFarm].
extension VetFarmPatterns on VetFarm {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _VetFarm value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _VetFarm() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _VetFarm value)  $default,){
final _that = this;
switch (_that) {
case _VetFarm():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _VetFarm value)?  $default,){
final _that = this;
switch (_that) {
case _VetFarm() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? vetFarmFullName,  String? vetFarmMobile)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _VetFarm() when $default != null:
return $default(_that.vetFarmFullName,_that.vetFarmMobile);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? vetFarmFullName,  String? vetFarmMobile)  $default,) {final _that = this;
switch (_that) {
case _VetFarm():
return $default(_that.vetFarmFullName,_that.vetFarmMobile);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? vetFarmFullName,  String? vetFarmMobile)?  $default,) {final _that = this;
switch (_that) {
case _VetFarm() when $default != null:
return $default(_that.vetFarmFullName,_that.vetFarmMobile);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _VetFarm implements VetFarm {
  const _VetFarm({this.vetFarmFullName, this.vetFarmMobile});
  factory _VetFarm.fromJson(Map<String, dynamic> json) => _$VetFarmFromJson(json);

@override final  String? vetFarmFullName;
@override final  String? vetFarmMobile;

/// Create a copy of VetFarm
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$VetFarmCopyWith<_VetFarm> get copyWith => __$VetFarmCopyWithImpl<_VetFarm>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$VetFarmToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _VetFarm&&(identical(other.vetFarmFullName, vetFarmFullName) || other.vetFarmFullName == vetFarmFullName)&&(identical(other.vetFarmMobile, vetFarmMobile) || other.vetFarmMobile == vetFarmMobile));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,vetFarmFullName,vetFarmMobile);

@override
String toString() {
  return 'VetFarm(vetFarmFullName: $vetFarmFullName, vetFarmMobile: $vetFarmMobile)';
}


}

/// @nodoc
abstract mixin class _$VetFarmCopyWith<$Res> implements $VetFarmCopyWith<$Res> {
  factory _$VetFarmCopyWith(_VetFarm value, $Res Function(_VetFarm) _then) = __$VetFarmCopyWithImpl;
@override @useResult
$Res call({
 String? vetFarmFullName, String? vetFarmMobile
});




}
/// @nodoc
class __$VetFarmCopyWithImpl<$Res>
    implements _$VetFarmCopyWith<$Res> {
  __$VetFarmCopyWithImpl(this._self, this._then);

  final _VetFarm _self;
  final $Res Function(_VetFarm) _then;

/// Create a copy of VetFarm
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? vetFarmFullName = freezed,Object? vetFarmMobile = freezed,}) {
  return _then(_VetFarm(
vetFarmFullName: freezed == vetFarmFullName ? _self.vetFarmFullName : vetFarmFullName // ignore: cast_nullable_to_non_nullable
as String?,vetFarmMobile: freezed == vetFarmMobile ? _self.vetFarmMobile : vetFarmMobile // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}


/// @nodoc
mixin _$ActiveKill {

 bool? get activeKill; int? get countOfRequest;
/// Create a copy of ActiveKill
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$ActiveKillCopyWith<ActiveKill> get copyWith => _$ActiveKillCopyWithImpl<ActiveKill>(this as ActiveKill, _$identity);

  /// Serializes this ActiveKill to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is ActiveKill&&(identical(other.activeKill, activeKill) || other.activeKill == activeKill)&&(identical(other.countOfRequest, countOfRequest) || other.countOfRequest == countOfRequest));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,activeKill,countOfRequest);

@override
String toString() {
  return 'ActiveKill(activeKill: $activeKill, countOfRequest: $countOfRequest)';
}


}

/// @nodoc
abstract mixin class $ActiveKillCopyWith<$Res>  {
  factory $ActiveKillCopyWith(ActiveKill value, $Res Function(ActiveKill) _then) = _$ActiveKillCopyWithImpl;
@useResult
$Res call({
 bool? activeKill, int? countOfRequest
});




}
/// @nodoc
class _$ActiveKillCopyWithImpl<$Res>
    implements $ActiveKillCopyWith<$Res> {
  _$ActiveKillCopyWithImpl(this._self, this._then);

  final ActiveKill _self;
  final $Res Function(ActiveKill) _then;

/// Create a copy of ActiveKill
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? activeKill = freezed,Object? countOfRequest = freezed,}) {
  return _then(_self.copyWith(
activeKill: freezed == activeKill ? _self.activeKill : activeKill // ignore: cast_nullable_to_non_nullable
as bool?,countOfRequest: freezed == countOfRequest ? _self.countOfRequest : countOfRequest // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [ActiveKill].
extension ActiveKillPatterns on ActiveKill {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _ActiveKill value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _ActiveKill() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _ActiveKill value)  $default,){
final _that = this;
switch (_that) {
case _ActiveKill():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _ActiveKill value)?  $default,){
final _that = this;
switch (_that) {
case _ActiveKill() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( bool? activeKill,  int? countOfRequest)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _ActiveKill() when $default != null:
return $default(_that.activeKill,_that.countOfRequest);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( bool? activeKill,  int? countOfRequest)  $default,) {final _that = this;
switch (_that) {
case _ActiveKill():
return $default(_that.activeKill,_that.countOfRequest);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( bool? activeKill,  int? countOfRequest)?  $default,) {final _that = this;
switch (_that) {
case _ActiveKill() when $default != null:
return $default(_that.activeKill,_that.countOfRequest);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _ActiveKill implements ActiveKill {
  const _ActiveKill({this.activeKill, this.countOfRequest});
  factory _ActiveKill.fromJson(Map<String, dynamic> json) => _$ActiveKillFromJson(json);

@override final  bool? activeKill;
@override final  int? countOfRequest;

/// Create a copy of ActiveKill
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$ActiveKillCopyWith<_ActiveKill> get copyWith => __$ActiveKillCopyWithImpl<_ActiveKill>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$ActiveKillToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _ActiveKill&&(identical(other.activeKill, activeKill) || other.activeKill == activeKill)&&(identical(other.countOfRequest, countOfRequest) || other.countOfRequest == countOfRequest));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,activeKill,countOfRequest);

@override
String toString() {
  return 'ActiveKill(activeKill: $activeKill, countOfRequest: $countOfRequest)';
}


}

/// @nodoc
abstract mixin class _$ActiveKillCopyWith<$Res> implements $ActiveKillCopyWith<$Res> {
  factory _$ActiveKillCopyWith(_ActiveKill value, $Res Function(_ActiveKill) _then) = __$ActiveKillCopyWithImpl;
@override @useResult
$Res call({
 bool? activeKill, int? countOfRequest
});




}
/// @nodoc
class __$ActiveKillCopyWithImpl<$Res>
    implements _$ActiveKillCopyWith<$Res> {
  __$ActiveKillCopyWithImpl(this._self, this._then);

  final _ActiveKill _self;
  final $Res Function(_ActiveKill) _then;

/// Create a copy of ActiveKill
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? activeKill = freezed,Object? countOfRequest = freezed,}) {
  return _then(_ActiveKill(
activeKill: freezed == activeKill ? _self.activeKill : activeKill // ignore: cast_nullable_to_non_nullable
as bool?,countOfRequest: freezed == countOfRequest ? _self.countOfRequest : countOfRequest // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}


/// @nodoc
mixin _$KillingInfo {

 String? get violationMessage; int? get provinceKillRequests; int? get provinceKillRequestsQuantity; int? get provinceKillRequestsWeight; int? get killHouseRequests; int? get killHouseRequestsFirstQuantity; int? get killHouseRequestsFirstWeight; int? get barCompleteWithKillHouse; int? get acceptedRealQuantityFinal; int? get acceptedRealWightFinal;
/// Create a copy of KillingInfo
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$KillingInfoCopyWith<KillingInfo> get copyWith => _$KillingInfoCopyWithImpl<KillingInfo>(this as KillingInfo, _$identity);

  /// Serializes this KillingInfo to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is KillingInfo&&(identical(other.violationMessage, violationMessage) || other.violationMessage == violationMessage)&&(identical(other.provinceKillRequests, provinceKillRequests) || other.provinceKillRequests == provinceKillRequests)&&(identical(other.provinceKillRequestsQuantity, provinceKillRequestsQuantity) || other.provinceKillRequestsQuantity == provinceKillRequestsQuantity)&&(identical(other.provinceKillRequestsWeight, provinceKillRequestsWeight) || other.provinceKillRequestsWeight == provinceKillRequestsWeight)&&(identical(other.killHouseRequests, killHouseRequests) || other.killHouseRequests == killHouseRequests)&&(identical(other.killHouseRequestsFirstQuantity, killHouseRequestsFirstQuantity) || other.killHouseRequestsFirstQuantity == killHouseRequestsFirstQuantity)&&(identical(other.killHouseRequestsFirstWeight, killHouseRequestsFirstWeight) || other.killHouseRequestsFirstWeight == killHouseRequestsFirstWeight)&&(identical(other.barCompleteWithKillHouse, barCompleteWithKillHouse) || other.barCompleteWithKillHouse == barCompleteWithKillHouse)&&(identical(other.acceptedRealQuantityFinal, acceptedRealQuantityFinal) || other.acceptedRealQuantityFinal == acceptedRealQuantityFinal)&&(identical(other.acceptedRealWightFinal, acceptedRealWightFinal) || other.acceptedRealWightFinal == acceptedRealWightFinal));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,violationMessage,provinceKillRequests,provinceKillRequestsQuantity,provinceKillRequestsWeight,killHouseRequests,killHouseRequestsFirstQuantity,killHouseRequestsFirstWeight,barCompleteWithKillHouse,acceptedRealQuantityFinal,acceptedRealWightFinal);

@override
String toString() {
  return 'KillingInfo(violationMessage: $violationMessage, provinceKillRequests: $provinceKillRequests, provinceKillRequestsQuantity: $provinceKillRequestsQuantity, provinceKillRequestsWeight: $provinceKillRequestsWeight, killHouseRequests: $killHouseRequests, killHouseRequestsFirstQuantity: $killHouseRequestsFirstQuantity, killHouseRequestsFirstWeight: $killHouseRequestsFirstWeight, barCompleteWithKillHouse: $barCompleteWithKillHouse, acceptedRealQuantityFinal: $acceptedRealQuantityFinal, acceptedRealWightFinal: $acceptedRealWightFinal)';
}


}

/// @nodoc
abstract mixin class $KillingInfoCopyWith<$Res>  {
  factory $KillingInfoCopyWith(KillingInfo value, $Res Function(KillingInfo) _then) = _$KillingInfoCopyWithImpl;
@useResult
$Res call({
 String? violationMessage, int? provinceKillRequests, int? provinceKillRequestsQuantity, int? provinceKillRequestsWeight, int? killHouseRequests, int? killHouseRequestsFirstQuantity, int? killHouseRequestsFirstWeight, int? barCompleteWithKillHouse, int? acceptedRealQuantityFinal, int? acceptedRealWightFinal
});




}
/// @nodoc
class _$KillingInfoCopyWithImpl<$Res>
    implements $KillingInfoCopyWith<$Res> {
  _$KillingInfoCopyWithImpl(this._self, this._then);

  final KillingInfo _self;
  final $Res Function(KillingInfo) _then;

/// Create a copy of KillingInfo
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? violationMessage = freezed,Object? provinceKillRequests = freezed,Object? provinceKillRequestsQuantity = freezed,Object? provinceKillRequestsWeight = freezed,Object? killHouseRequests = freezed,Object? killHouseRequestsFirstQuantity = freezed,Object? killHouseRequestsFirstWeight = freezed,Object? barCompleteWithKillHouse = freezed,Object? acceptedRealQuantityFinal = freezed,Object? acceptedRealWightFinal = freezed,}) {
  return _then(_self.copyWith(
violationMessage: freezed == violationMessage ? _self.violationMessage : violationMessage // ignore: cast_nullable_to_non_nullable
as String?,provinceKillRequests: freezed == provinceKillRequests ? _self.provinceKillRequests : provinceKillRequests // ignore: cast_nullable_to_non_nullable
as int?,provinceKillRequestsQuantity: freezed == provinceKillRequestsQuantity ? _self.provinceKillRequestsQuantity : provinceKillRequestsQuantity // ignore: cast_nullable_to_non_nullable
as int?,provinceKillRequestsWeight: freezed == provinceKillRequestsWeight ? _self.provinceKillRequestsWeight : provinceKillRequestsWeight // ignore: cast_nullable_to_non_nullable
as int?,killHouseRequests: freezed == killHouseRequests ? _self.killHouseRequests : killHouseRequests // ignore: cast_nullable_to_non_nullable
as int?,killHouseRequestsFirstQuantity: freezed == killHouseRequestsFirstQuantity ? _self.killHouseRequestsFirstQuantity : killHouseRequestsFirstQuantity // ignore: cast_nullable_to_non_nullable
as int?,killHouseRequestsFirstWeight: freezed == killHouseRequestsFirstWeight ? _self.killHouseRequestsFirstWeight : killHouseRequestsFirstWeight // ignore: cast_nullable_to_non_nullable
as int?,barCompleteWithKillHouse: freezed == barCompleteWithKillHouse ? _self.barCompleteWithKillHouse : barCompleteWithKillHouse // ignore: cast_nullable_to_non_nullable
as int?,acceptedRealQuantityFinal: freezed == acceptedRealQuantityFinal ? _self.acceptedRealQuantityFinal : acceptedRealQuantityFinal // ignore: cast_nullable_to_non_nullable
as int?,acceptedRealWightFinal: freezed == acceptedRealWightFinal ? _self.acceptedRealWightFinal : acceptedRealWightFinal // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [KillingInfo].
extension KillingInfoPatterns on KillingInfo {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _KillingInfo value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _KillingInfo() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _KillingInfo value)  $default,){
final _that = this;
switch (_that) {
case _KillingInfo():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _KillingInfo value)?  $default,){
final _that = this;
switch (_that) {
case _KillingInfo() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? violationMessage,  int? provinceKillRequests,  int? provinceKillRequestsQuantity,  int? provinceKillRequestsWeight,  int? killHouseRequests,  int? killHouseRequestsFirstQuantity,  int? killHouseRequestsFirstWeight,  int? barCompleteWithKillHouse,  int? acceptedRealQuantityFinal,  int? acceptedRealWightFinal)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _KillingInfo() when $default != null:
return $default(_that.violationMessage,_that.provinceKillRequests,_that.provinceKillRequestsQuantity,_that.provinceKillRequestsWeight,_that.killHouseRequests,_that.killHouseRequestsFirstQuantity,_that.killHouseRequestsFirstWeight,_that.barCompleteWithKillHouse,_that.acceptedRealQuantityFinal,_that.acceptedRealWightFinal);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? violationMessage,  int? provinceKillRequests,  int? provinceKillRequestsQuantity,  int? provinceKillRequestsWeight,  int? killHouseRequests,  int? killHouseRequestsFirstQuantity,  int? killHouseRequestsFirstWeight,  int? barCompleteWithKillHouse,  int? acceptedRealQuantityFinal,  int? acceptedRealWightFinal)  $default,) {final _that = this;
switch (_that) {
case _KillingInfo():
return $default(_that.violationMessage,_that.provinceKillRequests,_that.provinceKillRequestsQuantity,_that.provinceKillRequestsWeight,_that.killHouseRequests,_that.killHouseRequestsFirstQuantity,_that.killHouseRequestsFirstWeight,_that.barCompleteWithKillHouse,_that.acceptedRealQuantityFinal,_that.acceptedRealWightFinal);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? violationMessage,  int? provinceKillRequests,  int? provinceKillRequestsQuantity,  int? provinceKillRequestsWeight,  int? killHouseRequests,  int? killHouseRequestsFirstQuantity,  int? killHouseRequestsFirstWeight,  int? barCompleteWithKillHouse,  int? acceptedRealQuantityFinal,  int? acceptedRealWightFinal)?  $default,) {final _that = this;
switch (_that) {
case _KillingInfo() when $default != null:
return $default(_that.violationMessage,_that.provinceKillRequests,_that.provinceKillRequestsQuantity,_that.provinceKillRequestsWeight,_that.killHouseRequests,_that.killHouseRequestsFirstQuantity,_that.killHouseRequestsFirstWeight,_that.barCompleteWithKillHouse,_that.acceptedRealQuantityFinal,_that.acceptedRealWightFinal);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _KillingInfo implements KillingInfo {
  const _KillingInfo({this.violationMessage, this.provinceKillRequests, this.provinceKillRequestsQuantity, this.provinceKillRequestsWeight, this.killHouseRequests, this.killHouseRequestsFirstQuantity, this.killHouseRequestsFirstWeight, this.barCompleteWithKillHouse, this.acceptedRealQuantityFinal, this.acceptedRealWightFinal});
  factory _KillingInfo.fromJson(Map<String, dynamic> json) => _$KillingInfoFromJson(json);

@override final  String? violationMessage;
@override final  int? provinceKillRequests;
@override final  int? provinceKillRequestsQuantity;
@override final  int? provinceKillRequestsWeight;
@override final  int? killHouseRequests;
@override final  int? killHouseRequestsFirstQuantity;
@override final  int? killHouseRequestsFirstWeight;
@override final  int? barCompleteWithKillHouse;
@override final  int? acceptedRealQuantityFinal;
@override final  int? acceptedRealWightFinal;

/// Create a copy of KillingInfo
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$KillingInfoCopyWith<_KillingInfo> get copyWith => __$KillingInfoCopyWithImpl<_KillingInfo>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$KillingInfoToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _KillingInfo&&(identical(other.violationMessage, violationMessage) || other.violationMessage == violationMessage)&&(identical(other.provinceKillRequests, provinceKillRequests) || other.provinceKillRequests == provinceKillRequests)&&(identical(other.provinceKillRequestsQuantity, provinceKillRequestsQuantity) || other.provinceKillRequestsQuantity == provinceKillRequestsQuantity)&&(identical(other.provinceKillRequestsWeight, provinceKillRequestsWeight) || other.provinceKillRequestsWeight == provinceKillRequestsWeight)&&(identical(other.killHouseRequests, killHouseRequests) || other.killHouseRequests == killHouseRequests)&&(identical(other.killHouseRequestsFirstQuantity, killHouseRequestsFirstQuantity) || other.killHouseRequestsFirstQuantity == killHouseRequestsFirstQuantity)&&(identical(other.killHouseRequestsFirstWeight, killHouseRequestsFirstWeight) || other.killHouseRequestsFirstWeight == killHouseRequestsFirstWeight)&&(identical(other.barCompleteWithKillHouse, barCompleteWithKillHouse) || other.barCompleteWithKillHouse == barCompleteWithKillHouse)&&(identical(other.acceptedRealQuantityFinal, acceptedRealQuantityFinal) || other.acceptedRealQuantityFinal == acceptedRealQuantityFinal)&&(identical(other.acceptedRealWightFinal, acceptedRealWightFinal) || other.acceptedRealWightFinal == acceptedRealWightFinal));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,violationMessage,provinceKillRequests,provinceKillRequestsQuantity,provinceKillRequestsWeight,killHouseRequests,killHouseRequestsFirstQuantity,killHouseRequestsFirstWeight,barCompleteWithKillHouse,acceptedRealQuantityFinal,acceptedRealWightFinal);

@override
String toString() {
  return 'KillingInfo(violationMessage: $violationMessage, provinceKillRequests: $provinceKillRequests, provinceKillRequestsQuantity: $provinceKillRequestsQuantity, provinceKillRequestsWeight: $provinceKillRequestsWeight, killHouseRequests: $killHouseRequests, killHouseRequestsFirstQuantity: $killHouseRequestsFirstQuantity, killHouseRequestsFirstWeight: $killHouseRequestsFirstWeight, barCompleteWithKillHouse: $barCompleteWithKillHouse, acceptedRealQuantityFinal: $acceptedRealQuantityFinal, acceptedRealWightFinal: $acceptedRealWightFinal)';
}


}

/// @nodoc
abstract mixin class _$KillingInfoCopyWith<$Res> implements $KillingInfoCopyWith<$Res> {
  factory _$KillingInfoCopyWith(_KillingInfo value, $Res Function(_KillingInfo) _then) = __$KillingInfoCopyWithImpl;
@override @useResult
$Res call({
 String? violationMessage, int? provinceKillRequests, int? provinceKillRequestsQuantity, int? provinceKillRequestsWeight, int? killHouseRequests, int? killHouseRequestsFirstQuantity, int? killHouseRequestsFirstWeight, int? barCompleteWithKillHouse, int? acceptedRealQuantityFinal, int? acceptedRealWightFinal
});




}
/// @nodoc
class __$KillingInfoCopyWithImpl<$Res>
    implements _$KillingInfoCopyWith<$Res> {
  __$KillingInfoCopyWithImpl(this._self, this._then);

  final _KillingInfo _self;
  final $Res Function(_KillingInfo) _then;

/// Create a copy of KillingInfo
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? violationMessage = freezed,Object? provinceKillRequests = freezed,Object? provinceKillRequestsQuantity = freezed,Object? provinceKillRequestsWeight = freezed,Object? killHouseRequests = freezed,Object? killHouseRequestsFirstQuantity = freezed,Object? killHouseRequestsFirstWeight = freezed,Object? barCompleteWithKillHouse = freezed,Object? acceptedRealQuantityFinal = freezed,Object? acceptedRealWightFinal = freezed,}) {
  return _then(_KillingInfo(
violationMessage: freezed == violationMessage ? _self.violationMessage : violationMessage // ignore: cast_nullable_to_non_nullable
as String?,provinceKillRequests: freezed == provinceKillRequests ? _self.provinceKillRequests : provinceKillRequests // ignore: cast_nullable_to_non_nullable
as int?,provinceKillRequestsQuantity: freezed == provinceKillRequestsQuantity ? _self.provinceKillRequestsQuantity : provinceKillRequestsQuantity // ignore: cast_nullable_to_non_nullable
as int?,provinceKillRequestsWeight: freezed == provinceKillRequestsWeight ? _self.provinceKillRequestsWeight : provinceKillRequestsWeight // ignore: cast_nullable_to_non_nullable
as int?,killHouseRequests: freezed == killHouseRequests ? _self.killHouseRequests : killHouseRequests // ignore: cast_nullable_to_non_nullable
as int?,killHouseRequestsFirstQuantity: freezed == killHouseRequestsFirstQuantity ? _self.killHouseRequestsFirstQuantity : killHouseRequestsFirstQuantity // ignore: cast_nullable_to_non_nullable
as int?,killHouseRequestsFirstWeight: freezed == killHouseRequestsFirstWeight ? _self.killHouseRequestsFirstWeight : killHouseRequestsFirstWeight // ignore: cast_nullable_to_non_nullable
as int?,barCompleteWithKillHouse: freezed == barCompleteWithKillHouse ? _self.barCompleteWithKillHouse : barCompleteWithKillHouse // ignore: cast_nullable_to_non_nullable
as int?,acceptedRealQuantityFinal: freezed == acceptedRealQuantityFinal ? _self.acceptedRealQuantityFinal : acceptedRealQuantityFinal // ignore: cast_nullable_to_non_nullable
as int?,acceptedRealWightFinal: freezed == acceptedRealWightFinal ? _self.acceptedRealWightFinal : acceptedRealWightFinal // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}


/// @nodoc
mixin _$FreeGovernmentalInfo {

 int? get governmentalAllocatedQuantity; double? get totalCommitmentQuantity; int? get freeAllocatedQuantity; double? get totalFreeCommitmentQuantity; int? get leftTotalFreeCommitmentQuantity;
/// Create a copy of FreeGovernmentalInfo
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$FreeGovernmentalInfoCopyWith<FreeGovernmentalInfo> get copyWith => _$FreeGovernmentalInfoCopyWithImpl<FreeGovernmentalInfo>(this as FreeGovernmentalInfo, _$identity);

  /// Serializes this FreeGovernmentalInfo to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is FreeGovernmentalInfo&&(identical(other.governmentalAllocatedQuantity, governmentalAllocatedQuantity) || other.governmentalAllocatedQuantity == governmentalAllocatedQuantity)&&(identical(other.totalCommitmentQuantity, totalCommitmentQuantity) || other.totalCommitmentQuantity == totalCommitmentQuantity)&&(identical(other.freeAllocatedQuantity, freeAllocatedQuantity) || other.freeAllocatedQuantity == freeAllocatedQuantity)&&(identical(other.totalFreeCommitmentQuantity, totalFreeCommitmentQuantity) || other.totalFreeCommitmentQuantity == totalFreeCommitmentQuantity)&&(identical(other.leftTotalFreeCommitmentQuantity, leftTotalFreeCommitmentQuantity) || other.leftTotalFreeCommitmentQuantity == leftTotalFreeCommitmentQuantity));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,governmentalAllocatedQuantity,totalCommitmentQuantity,freeAllocatedQuantity,totalFreeCommitmentQuantity,leftTotalFreeCommitmentQuantity);

@override
String toString() {
  return 'FreeGovernmentalInfo(governmentalAllocatedQuantity: $governmentalAllocatedQuantity, totalCommitmentQuantity: $totalCommitmentQuantity, freeAllocatedQuantity: $freeAllocatedQuantity, totalFreeCommitmentQuantity: $totalFreeCommitmentQuantity, leftTotalFreeCommitmentQuantity: $leftTotalFreeCommitmentQuantity)';
}


}

/// @nodoc
abstract mixin class $FreeGovernmentalInfoCopyWith<$Res>  {
  factory $FreeGovernmentalInfoCopyWith(FreeGovernmentalInfo value, $Res Function(FreeGovernmentalInfo) _then) = _$FreeGovernmentalInfoCopyWithImpl;
@useResult
$Res call({
 int? governmentalAllocatedQuantity, double? totalCommitmentQuantity, int? freeAllocatedQuantity, double? totalFreeCommitmentQuantity, int? leftTotalFreeCommitmentQuantity
});




}
/// @nodoc
class _$FreeGovernmentalInfoCopyWithImpl<$Res>
    implements $FreeGovernmentalInfoCopyWith<$Res> {
  _$FreeGovernmentalInfoCopyWithImpl(this._self, this._then);

  final FreeGovernmentalInfo _self;
  final $Res Function(FreeGovernmentalInfo) _then;

/// Create a copy of FreeGovernmentalInfo
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? governmentalAllocatedQuantity = freezed,Object? totalCommitmentQuantity = freezed,Object? freeAllocatedQuantity = freezed,Object? totalFreeCommitmentQuantity = freezed,Object? leftTotalFreeCommitmentQuantity = freezed,}) {
  return _then(_self.copyWith(
governmentalAllocatedQuantity: freezed == governmentalAllocatedQuantity ? _self.governmentalAllocatedQuantity : governmentalAllocatedQuantity // ignore: cast_nullable_to_non_nullable
as int?,totalCommitmentQuantity: freezed == totalCommitmentQuantity ? _self.totalCommitmentQuantity : totalCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,freeAllocatedQuantity: freezed == freeAllocatedQuantity ? _self.freeAllocatedQuantity : freeAllocatedQuantity // ignore: cast_nullable_to_non_nullable
as int?,totalFreeCommitmentQuantity: freezed == totalFreeCommitmentQuantity ? _self.totalFreeCommitmentQuantity : totalFreeCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,leftTotalFreeCommitmentQuantity: freezed == leftTotalFreeCommitmentQuantity ? _self.leftTotalFreeCommitmentQuantity : leftTotalFreeCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [FreeGovernmentalInfo].
extension FreeGovernmentalInfoPatterns on FreeGovernmentalInfo {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _FreeGovernmentalInfo value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _FreeGovernmentalInfo() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _FreeGovernmentalInfo value)  $default,){
final _that = this;
switch (_that) {
case _FreeGovernmentalInfo():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _FreeGovernmentalInfo value)?  $default,){
final _that = this;
switch (_that) {
case _FreeGovernmentalInfo() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( int? governmentalAllocatedQuantity,  double? totalCommitmentQuantity,  int? freeAllocatedQuantity,  double? totalFreeCommitmentQuantity,  int? leftTotalFreeCommitmentQuantity)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _FreeGovernmentalInfo() when $default != null:
return $default(_that.governmentalAllocatedQuantity,_that.totalCommitmentQuantity,_that.freeAllocatedQuantity,_that.totalFreeCommitmentQuantity,_that.leftTotalFreeCommitmentQuantity);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int? governmentalAllocatedQuantity,  double? totalCommitmentQuantity,  int? freeAllocatedQuantity,  double? totalFreeCommitmentQuantity,  int? leftTotalFreeCommitmentQuantity)  $default,) {final _that = this;
switch (_that) {
case _FreeGovernmentalInfo():
return $default(_that.governmentalAllocatedQuantity,_that.totalCommitmentQuantity,_that.freeAllocatedQuantity,_that.totalFreeCommitmentQuantity,_that.leftTotalFreeCommitmentQuantity);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( int? governmentalAllocatedQuantity,  double? totalCommitmentQuantity,  int? freeAllocatedQuantity,  double? totalFreeCommitmentQuantity,  int? leftTotalFreeCommitmentQuantity)?  $default,) {final _that = this;
switch (_that) {
case _FreeGovernmentalInfo() when $default != null:
return $default(_that.governmentalAllocatedQuantity,_that.totalCommitmentQuantity,_that.freeAllocatedQuantity,_that.totalFreeCommitmentQuantity,_that.leftTotalFreeCommitmentQuantity);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _FreeGovernmentalInfo implements FreeGovernmentalInfo {
  const _FreeGovernmentalInfo({this.governmentalAllocatedQuantity, this.totalCommitmentQuantity, this.freeAllocatedQuantity, this.totalFreeCommitmentQuantity, this.leftTotalFreeCommitmentQuantity});
  factory _FreeGovernmentalInfo.fromJson(Map<String, dynamic> json) => _$FreeGovernmentalInfoFromJson(json);

@override final  int? governmentalAllocatedQuantity;
@override final  double? totalCommitmentQuantity;
@override final  int? freeAllocatedQuantity;
@override final  double? totalFreeCommitmentQuantity;
@override final  int? leftTotalFreeCommitmentQuantity;

/// Create a copy of FreeGovernmentalInfo
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$FreeGovernmentalInfoCopyWith<_FreeGovernmentalInfo> get copyWith => __$FreeGovernmentalInfoCopyWithImpl<_FreeGovernmentalInfo>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$FreeGovernmentalInfoToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _FreeGovernmentalInfo&&(identical(other.governmentalAllocatedQuantity, governmentalAllocatedQuantity) || other.governmentalAllocatedQuantity == governmentalAllocatedQuantity)&&(identical(other.totalCommitmentQuantity, totalCommitmentQuantity) || other.totalCommitmentQuantity == totalCommitmentQuantity)&&(identical(other.freeAllocatedQuantity, freeAllocatedQuantity) || other.freeAllocatedQuantity == freeAllocatedQuantity)&&(identical(other.totalFreeCommitmentQuantity, totalFreeCommitmentQuantity) || other.totalFreeCommitmentQuantity == totalFreeCommitmentQuantity)&&(identical(other.leftTotalFreeCommitmentQuantity, leftTotalFreeCommitmentQuantity) || other.leftTotalFreeCommitmentQuantity == leftTotalFreeCommitmentQuantity));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,governmentalAllocatedQuantity,totalCommitmentQuantity,freeAllocatedQuantity,totalFreeCommitmentQuantity,leftTotalFreeCommitmentQuantity);

@override
String toString() {
  return 'FreeGovernmentalInfo(governmentalAllocatedQuantity: $governmentalAllocatedQuantity, totalCommitmentQuantity: $totalCommitmentQuantity, freeAllocatedQuantity: $freeAllocatedQuantity, totalFreeCommitmentQuantity: $totalFreeCommitmentQuantity, leftTotalFreeCommitmentQuantity: $leftTotalFreeCommitmentQuantity)';
}


}

/// @nodoc
abstract mixin class _$FreeGovernmentalInfoCopyWith<$Res> implements $FreeGovernmentalInfoCopyWith<$Res> {
  factory _$FreeGovernmentalInfoCopyWith(_FreeGovernmentalInfo value, $Res Function(_FreeGovernmentalInfo) _then) = __$FreeGovernmentalInfoCopyWithImpl;
@override @useResult
$Res call({
 int? governmentalAllocatedQuantity, double? totalCommitmentQuantity, int? freeAllocatedQuantity, double? totalFreeCommitmentQuantity, int? leftTotalFreeCommitmentQuantity
});




}
/// @nodoc
class __$FreeGovernmentalInfoCopyWithImpl<$Res>
    implements _$FreeGovernmentalInfoCopyWith<$Res> {
  __$FreeGovernmentalInfoCopyWithImpl(this._self, this._then);

  final _FreeGovernmentalInfo _self;
  final $Res Function(_FreeGovernmentalInfo) _then;

/// Create a copy of FreeGovernmentalInfo
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? governmentalAllocatedQuantity = freezed,Object? totalCommitmentQuantity = freezed,Object? freeAllocatedQuantity = freezed,Object? totalFreeCommitmentQuantity = freezed,Object? leftTotalFreeCommitmentQuantity = freezed,}) {
  return _then(_FreeGovernmentalInfo(
governmentalAllocatedQuantity: freezed == governmentalAllocatedQuantity ? _self.governmentalAllocatedQuantity : governmentalAllocatedQuantity // ignore: cast_nullable_to_non_nullable
as int?,totalCommitmentQuantity: freezed == totalCommitmentQuantity ? _self.totalCommitmentQuantity : totalCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,freeAllocatedQuantity: freezed == freeAllocatedQuantity ? _self.freeAllocatedQuantity : freeAllocatedQuantity // ignore: cast_nullable_to_non_nullable
as int?,totalFreeCommitmentQuantity: freezed == totalFreeCommitmentQuantity ? _self.totalFreeCommitmentQuantity : totalFreeCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as double?,leftTotalFreeCommitmentQuantity: freezed == leftTotalFreeCommitmentQuantity ? _self.leftTotalFreeCommitmentQuantity : leftTotalFreeCommitmentQuantity // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}


/// @nodoc
mixin _$ReportInfo {

 bool? get poultryScience; bool? get image;
/// Create a copy of ReportInfo
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$ReportInfoCopyWith<ReportInfo> get copyWith => _$ReportInfoCopyWithImpl<ReportInfo>(this as ReportInfo, _$identity);

  /// Serializes this ReportInfo to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is ReportInfo&&(identical(other.poultryScience, poultryScience) || other.poultryScience == poultryScience)&&(identical(other.image, image) || other.image == image));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,poultryScience,image);

@override
String toString() {
  return 'ReportInfo(poultryScience: $poultryScience, image: $image)';
}


}

/// @nodoc
abstract mixin class $ReportInfoCopyWith<$Res>  {
  factory $ReportInfoCopyWith(ReportInfo value, $Res Function(ReportInfo) _then) = _$ReportInfoCopyWithImpl;
@useResult
$Res call({
 bool? poultryScience, bool? image
});




}
/// @nodoc
class _$ReportInfoCopyWithImpl<$Res>
    implements $ReportInfoCopyWith<$Res> {
  _$ReportInfoCopyWithImpl(this._self, this._then);

  final ReportInfo _self;
  final $Res Function(ReportInfo) _then;

/// Create a copy of ReportInfo
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? poultryScience = freezed,Object? image = freezed,}) {
  return _then(_self.copyWith(
poultryScience: freezed == poultryScience ? _self.poultryScience : poultryScience // ignore: cast_nullable_to_non_nullable
as bool?,image: freezed == image ? _self.image : image // ignore: cast_nullable_to_non_nullable
as bool?,
  ));
}

}


/// Adds pattern-matching-related methods to [ReportInfo].
extension ReportInfoPatterns on ReportInfo {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _ReportInfo value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _ReportInfo() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _ReportInfo value)  $default,){
final _that = this;
switch (_that) {
case _ReportInfo():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _ReportInfo value)?  $default,){
final _that = this;
switch (_that) {
case _ReportInfo() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( bool? poultryScience,  bool? image)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _ReportInfo() when $default != null:
return $default(_that.poultryScience,_that.image);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( bool? poultryScience,  bool? image)  $default,) {final _that = this;
switch (_that) {
case _ReportInfo():
return $default(_that.poultryScience,_that.image);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( bool? poultryScience,  bool? image)?  $default,) {final _that = this;
switch (_that) {
case _ReportInfo() when $default != null:
return $default(_that.poultryScience,_that.image);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _ReportInfo implements ReportInfo {
  const _ReportInfo({this.poultryScience, this.image});
  factory _ReportInfo.fromJson(Map<String, dynamic> json) => _$ReportInfoFromJson(json);

@override final  bool? poultryScience;
@override final  bool? image;

/// Create a copy of ReportInfo
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$ReportInfoCopyWith<_ReportInfo> get copyWith => __$ReportInfoCopyWithImpl<_ReportInfo>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$ReportInfoToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _ReportInfo&&(identical(other.poultryScience, poultryScience) || other.poultryScience == poultryScience)&&(identical(other.image, image) || other.image == image));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,poultryScience,image);

@override
String toString() {
  return 'ReportInfo(poultryScience: $poultryScience, image: $image)';
}


}

/// @nodoc
abstract mixin class _$ReportInfoCopyWith<$Res> implements $ReportInfoCopyWith<$Res> {
  factory _$ReportInfoCopyWith(_ReportInfo value, $Res Function(_ReportInfo) _then) = __$ReportInfoCopyWithImpl;
@override @useResult
$Res call({
 bool? poultryScience, bool? image
});




}
/// @nodoc
class __$ReportInfoCopyWithImpl<$Res>
    implements _$ReportInfoCopyWith<$Res> {
  __$ReportInfoCopyWithImpl(this._self, this._then);

  final _ReportInfo _self;
  final $Res Function(_ReportInfo) _then;

/// Create a copy of ReportInfo
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? poultryScience = freezed,Object? image = freezed,}) {
  return _then(_ReportInfo(
poultryScience: freezed == poultryScience ? _self.poultryScience : poultryScience // ignore: cast_nullable_to_non_nullable
as bool?,image: freezed == image ? _self.image : image // ignore: cast_nullable_to_non_nullable
as bool?,
  ));
}


}


/// @nodoc
mixin _$LatestHatchingChange {

 DateTime? get date; String? get role; String? get fullName;
/// Create a copy of LatestHatchingChange
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LatestHatchingChangeCopyWith<LatestHatchingChange> get copyWith => _$LatestHatchingChangeCopyWithImpl<LatestHatchingChange>(this as LatestHatchingChange, _$identity);

  /// Serializes this LatestHatchingChange to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LatestHatchingChange&&(identical(other.date, date) || other.date == date)&&(identical(other.role, role) || other.role == role)&&(identical(other.fullName, fullName) || other.fullName == fullName));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,date,role,fullName);

@override
String toString() {
  return 'LatestHatchingChange(date: $date, role: $role, fullName: $fullName)';
}


}

/// @nodoc
abstract mixin class $LatestHatchingChangeCopyWith<$Res>  {
  factory $LatestHatchingChangeCopyWith(LatestHatchingChange value, $Res Function(LatestHatchingChange) _then) = _$LatestHatchingChangeCopyWithImpl;
@useResult
$Res call({
 DateTime? date, String? role, String? fullName
});




}
/// @nodoc
class _$LatestHatchingChangeCopyWithImpl<$Res>
    implements $LatestHatchingChangeCopyWith<$Res> {
  _$LatestHatchingChangeCopyWithImpl(this._self, this._then);

  final LatestHatchingChange _self;
  final $Res Function(LatestHatchingChange) _then;

/// Create a copy of LatestHatchingChange
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? date = freezed,Object? role = freezed,Object? fullName = freezed,}) {
  return _then(_self.copyWith(
date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as String?,fullName: freezed == fullName ? _self.fullName : fullName // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [LatestHatchingChange].
extension LatestHatchingChangePatterns on LatestHatchingChange {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _LatestHatchingChange value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LatestHatchingChange() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _LatestHatchingChange value)  $default,){
final _that = this;
switch (_that) {
case _LatestHatchingChange():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _LatestHatchingChange value)?  $default,){
final _that = this;
switch (_that) {
case _LatestHatchingChange() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( DateTime? date,  String? role,  String? fullName)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LatestHatchingChange() when $default != null:
return $default(_that.date,_that.role,_that.fullName);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( DateTime? date,  String? role,  String? fullName)  $default,) {final _that = this;
switch (_that) {
case _LatestHatchingChange():
return $default(_that.date,_that.role,_that.fullName);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( DateTime? date,  String? role,  String? fullName)?  $default,) {final _that = this;
switch (_that) {
case _LatestHatchingChange() when $default != null:
return $default(_that.date,_that.role,_that.fullName);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _LatestHatchingChange implements LatestHatchingChange {
  const _LatestHatchingChange({this.date, this.role, this.fullName});
  factory _LatestHatchingChange.fromJson(Map<String, dynamic> json) => _$LatestHatchingChangeFromJson(json);

@override final  DateTime? date;
@override final  String? role;
@override final  String? fullName;

/// Create a copy of LatestHatchingChange
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LatestHatchingChangeCopyWith<_LatestHatchingChange> get copyWith => __$LatestHatchingChangeCopyWithImpl<_LatestHatchingChange>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$LatestHatchingChangeToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LatestHatchingChange&&(identical(other.date, date) || other.date == date)&&(identical(other.role, role) || other.role == role)&&(identical(other.fullName, fullName) || other.fullName == fullName));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,date,role,fullName);

@override
String toString() {
  return 'LatestHatchingChange(date: $date, role: $role, fullName: $fullName)';
}


}

/// @nodoc
abstract mixin class _$LatestHatchingChangeCopyWith<$Res> implements $LatestHatchingChangeCopyWith<$Res> {
  factory _$LatestHatchingChangeCopyWith(_LatestHatchingChange value, $Res Function(_LatestHatchingChange) _then) = __$LatestHatchingChangeCopyWithImpl;
@override @useResult
$Res call({
 DateTime? date, String? role, String? fullName
});




}
/// @nodoc
class __$LatestHatchingChangeCopyWithImpl<$Res>
    implements _$LatestHatchingChangeCopyWith<$Res> {
  __$LatestHatchingChangeCopyWithImpl(this._self, this._then);

  final _LatestHatchingChange _self;
  final $Res Function(_LatestHatchingChange) _then;

/// Create a copy of LatestHatchingChange
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? date = freezed,Object? role = freezed,Object? fullName = freezed,}) {
  return _then(_LatestHatchingChange(
date: freezed == date ? _self.date : date // ignore: cast_nullable_to_non_nullable
as DateTime?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as String?,fullName: freezed == fullName ? _self.fullName : fullName // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}


/// @nodoc
mixin _$Breed {

 String? get breed; int? get mainQuantity; int? get remainQuantity;
/// Create a copy of Breed
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$BreedCopyWith<Breed> get copyWith => _$BreedCopyWithImpl<Breed>(this as Breed, _$identity);

  /// Serializes this Breed to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is Breed&&(identical(other.breed, breed) || other.breed == breed)&&(identical(other.mainQuantity, mainQuantity) || other.mainQuantity == mainQuantity)&&(identical(other.remainQuantity, remainQuantity) || other.remainQuantity == remainQuantity));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,breed,mainQuantity,remainQuantity);

@override
String toString() {
  return 'Breed(breed: $breed, mainQuantity: $mainQuantity, remainQuantity: $remainQuantity)';
}


}

/// @nodoc
abstract mixin class $BreedCopyWith<$Res>  {
  factory $BreedCopyWith(Breed value, $Res Function(Breed) _then) = _$BreedCopyWithImpl;
@useResult
$Res call({
 String? breed, int? mainQuantity, int? remainQuantity
});




}
/// @nodoc
class _$BreedCopyWithImpl<$Res>
    implements $BreedCopyWith<$Res> {
  _$BreedCopyWithImpl(this._self, this._then);

  final Breed _self;
  final $Res Function(Breed) _then;

/// Create a copy of Breed
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? breed = freezed,Object? mainQuantity = freezed,Object? remainQuantity = freezed,}) {
  return _then(_self.copyWith(
breed: freezed == breed ? _self.breed : breed // ignore: cast_nullable_to_non_nullable
as String?,mainQuantity: freezed == mainQuantity ? _self.mainQuantity : mainQuantity // ignore: cast_nullable_to_non_nullable
as int?,remainQuantity: freezed == remainQuantity ? _self.remainQuantity : remainQuantity // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [Breed].
extension BreedPatterns on Breed {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _Breed value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _Breed() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _Breed value)  $default,){
final _that = this;
switch (_that) {
case _Breed():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _Breed value)?  $default,){
final _that = this;
switch (_that) {
case _Breed() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? breed,  int? mainQuantity,  int? remainQuantity)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Breed() when $default != null:
return $default(_that.breed,_that.mainQuantity,_that.remainQuantity);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? breed,  int? mainQuantity,  int? remainQuantity)  $default,) {final _that = this;
switch (_that) {
case _Breed():
return $default(_that.breed,_that.mainQuantity,_that.remainQuantity);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? breed,  int? mainQuantity,  int? remainQuantity)?  $default,) {final _that = this;
switch (_that) {
case _Breed() when $default != null:
return $default(_that.breed,_that.mainQuantity,_that.remainQuantity);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _Breed implements Breed {
  const _Breed({this.breed, this.mainQuantity, this.remainQuantity});
  factory _Breed.fromJson(Map<String, dynamic> json) => _$BreedFromJson(json);

@override final  String? breed;
@override final  int? mainQuantity;
@override final  int? remainQuantity;

/// Create a copy of Breed
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$BreedCopyWith<_Breed> get copyWith => __$BreedCopyWithImpl<_Breed>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$BreedToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _Breed&&(identical(other.breed, breed) || other.breed == breed)&&(identical(other.mainQuantity, mainQuantity) || other.mainQuantity == mainQuantity)&&(identical(other.remainQuantity, remainQuantity) || other.remainQuantity == remainQuantity));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,breed,mainQuantity,remainQuantity);

@override
String toString() {
  return 'Breed(breed: $breed, mainQuantity: $mainQuantity, remainQuantity: $remainQuantity)';
}


}

/// @nodoc
abstract mixin class _$BreedCopyWith<$Res> implements $BreedCopyWith<$Res> {
  factory _$BreedCopyWith(_Breed value, $Res Function(_Breed) _then) = __$BreedCopyWithImpl;
@override @useResult
$Res call({
 String? breed, int? mainQuantity, int? remainQuantity
});




}
/// @nodoc
class __$BreedCopyWithImpl<$Res>
    implements _$BreedCopyWith<$Res> {
  __$BreedCopyWithImpl(this._self, this._then);

  final _Breed _self;
  final $Res Function(_Breed) _then;

/// Create a copy of Breed
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? breed = freezed,Object? mainQuantity = freezed,Object? remainQuantity = freezed,}) {
  return _then(_Breed(
breed: freezed == breed ? _self.breed : breed // ignore: cast_nullable_to_non_nullable
as String?,mainQuantity: freezed == mainQuantity ? _self.mainQuantity : mainQuantity // ignore: cast_nullable_to_non_nullable
as int?,remainQuantity: freezed == remainQuantity ? _self.remainQuantity : remainQuantity // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}


/// @nodoc
mixin _$Address {

 Province? get province; City? get city; String? get address; String? get postalCode;
/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$AddressCopyWith<Address> get copyWith => _$AddressCopyWithImpl<Address>(this as Address, _$identity);

  /// Serializes this Address to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is Address&&(identical(other.province, province) || other.province == province)&&(identical(other.city, city) || other.city == city)&&(identical(other.address, address) || other.address == address)&&(identical(other.postalCode, postalCode) || other.postalCode == postalCode));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,province,city,address,postalCode);

@override
String toString() {
  return 'Address(province: $province, city: $city, address: $address, postalCode: $postalCode)';
}


}

/// @nodoc
abstract mixin class $AddressCopyWith<$Res>  {
  factory $AddressCopyWith(Address value, $Res Function(Address) _then) = _$AddressCopyWithImpl;
@useResult
$Res call({
 Province? province, City? city, String? address, String? postalCode
});


$ProvinceCopyWith<$Res>? get province;$CityCopyWith<$Res>? get city;

}
/// @nodoc
class _$AddressCopyWithImpl<$Res>
    implements $AddressCopyWith<$Res> {
  _$AddressCopyWithImpl(this._self, this._then);

  final Address _self;
  final $Res Function(Address) _then;

/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? province = freezed,Object? city = freezed,Object? address = freezed,Object? postalCode = freezed,}) {
  return _then(_self.copyWith(
province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
as Province?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as City?,address: freezed == address ? _self.address : address // ignore: cast_nullable_to_non_nullable
as String?,postalCode: freezed == postalCode ? _self.postalCode : postalCode // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}
/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ProvinceCopyWith<$Res>? get province {
    if (_self.province == null) {
    return null;
  }

  return $ProvinceCopyWith<$Res>(_self.province!, (value) {
    return _then(_self.copyWith(province: value));
  });
}/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$CityCopyWith<$Res>? get city {
    if (_self.city == null) {
    return null;
  }

  return $CityCopyWith<$Res>(_self.city!, (value) {
    return _then(_self.copyWith(city: value));
  });
}
}


/// Adds pattern-matching-related methods to [Address].
extension AddressPatterns on Address {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _Address value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _Address() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _Address value)  $default,){
final _that = this;
switch (_that) {
case _Address():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _Address value)?  $default,){
final _that = this;
switch (_that) {
case _Address() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( Province? province,  City? city,  String? address,  String? postalCode)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Address() when $default != null:
return $default(_that.province,_that.city,_that.address,_that.postalCode);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( Province? province,  City? city,  String? address,  String? postalCode)  $default,) {final _that = this;
switch (_that) {
case _Address():
return $default(_that.province,_that.city,_that.address,_that.postalCode);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( Province? province,  City? city,  String? address,  String? postalCode)?  $default,) {final _that = this;
switch (_that) {
case _Address() when $default != null:
return $default(_that.province,_that.city,_that.address,_that.postalCode);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _Address implements Address {
  const _Address({this.province, this.city, this.address, this.postalCode});
  factory _Address.fromJson(Map<String, dynamic> json) => _$AddressFromJson(json);

@override final  Province? province;
@override final  City? city;
@override final  String? address;
@override final  String? postalCode;

/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$AddressCopyWith<_Address> get copyWith => __$AddressCopyWithImpl<_Address>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$AddressToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _Address&&(identical(other.province, province) || other.province == province)&&(identical(other.city, city) || other.city == city)&&(identical(other.address, address) || other.address == address)&&(identical(other.postalCode, postalCode) || other.postalCode == postalCode));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,province,city,address,postalCode);

@override
String toString() {
  return 'Address(province: $province, city: $city, address: $address, postalCode: $postalCode)';
}


}

/// @nodoc
abstract mixin class _$AddressCopyWith<$Res> implements $AddressCopyWith<$Res> {
  factory _$AddressCopyWith(_Address value, $Res Function(_Address) _then) = __$AddressCopyWithImpl;
@override @useResult
$Res call({
 Province? province, City? city, String? address, String? postalCode
});


@override $ProvinceCopyWith<$Res>? get province;@override $CityCopyWith<$Res>? get city;

}
/// @nodoc
class __$AddressCopyWithImpl<$Res>
    implements _$AddressCopyWith<$Res> {
  __$AddressCopyWithImpl(this._self, this._then);

  final _Address _self;
  final $Res Function(_Address) _then;

/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? province = freezed,Object? city = freezed,Object? address = freezed,Object? postalCode = freezed,}) {
  return _then(_Address(
province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
as Province?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as City?,address: freezed == address ? _self.address : address // ignore: cast_nullable_to_non_nullable
as String?,postalCode: freezed == postalCode ? _self.postalCode : postalCode // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$ProvinceCopyWith<$Res>? get province {
    if (_self.province == null) {
    return null;
  }

  return $ProvinceCopyWith<$Res>(_self.province!, (value) {
    return _then(_self.copyWith(province: value));
  });
}/// Create a copy of Address
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$CityCopyWith<$Res>? get city {
    if (_self.city == null) {
    return null;
  }

  return $CityCopyWith<$Res>(_self.city!, (value) {
    return _then(_self.copyWith(city: value));
  });
}
}


/// @nodoc
mixin _$Province {

 String? get key; String? get name;
/// Create a copy of Province
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$ProvinceCopyWith<Province> get copyWith => _$ProvinceCopyWithImpl<Province>(this as Province, _$identity);

  /// Serializes this Province to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is Province&&(identical(other.key, key) || other.key == key)&&(identical(other.name, name) || other.name == name));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,key,name);

@override
String toString() {
  return 'Province(key: $key, name: $name)';
}


}

/// @nodoc
abstract mixin class $ProvinceCopyWith<$Res>  {
  factory $ProvinceCopyWith(Province value, $Res Function(Province) _then) = _$ProvinceCopyWithImpl;
@useResult
$Res call({
 String? key, String? name
});




}
/// @nodoc
class _$ProvinceCopyWithImpl<$Res>
    implements $ProvinceCopyWith<$Res> {
  _$ProvinceCopyWithImpl(this._self, this._then);

  final Province _self;
  final $Res Function(Province) _then;

/// Create a copy of Province
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? key = freezed,Object? name = freezed,}) {
  return _then(_self.copyWith(
key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [Province].
extension ProvincePatterns on Province {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _Province value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _Province() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _Province value)  $default,){
final _that = this;
switch (_that) {
case _Province():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _Province value)?  $default,){
final _that = this;
switch (_that) {
case _Province() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? key,  String? name)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Province() when $default != null:
return $default(_that.key,_that.name);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? key,  String? name)  $default,) {final _that = this;
switch (_that) {
case _Province():
return $default(_that.key,_that.name);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? key,  String? name)?  $default,) {final _that = this;
switch (_that) {
case _Province() when $default != null:
return $default(_that.key,_that.name);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _Province implements Province {
  const _Province({this.key, this.name});
  factory _Province.fromJson(Map<String, dynamic> json) => _$ProvinceFromJson(json);

@override final  String? key;
@override final  String? name;

/// Create a copy of Province
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$ProvinceCopyWith<_Province> get copyWith => __$ProvinceCopyWithImpl<_Province>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$ProvinceToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _Province&&(identical(other.key, key) || other.key == key)&&(identical(other.name, name) || other.name == name));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,key,name);

@override
String toString() {
  return 'Province(key: $key, name: $name)';
}


}

/// @nodoc
abstract mixin class _$ProvinceCopyWith<$Res> implements $ProvinceCopyWith<$Res> {
  factory _$ProvinceCopyWith(_Province value, $Res Function(_Province) _then) = __$ProvinceCopyWithImpl;
@override @useResult
$Res call({
 String? key, String? name
});




}
/// @nodoc
class __$ProvinceCopyWithImpl<$Res>
    implements _$ProvinceCopyWith<$Res> {
  __$ProvinceCopyWithImpl(this._self, this._then);

  final _Province _self;
  final $Res Function(_Province) _then;

/// Create a copy of Province
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? key = freezed,Object? name = freezed,}) {
  return _then(_Province(
key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}


/// @nodoc
mixin _$City {

 String? get key; String? get name;
/// Create a copy of City
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$CityCopyWith<City> get copyWith => _$CityCopyWithImpl<City>(this as City, _$identity);

  /// Serializes this City to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is City&&(identical(other.key, key) || other.key == key)&&(identical(other.name, name) || other.name == name));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,key,name);

@override
String toString() {
  return 'City(key: $key, name: $name)';
}


}

/// @nodoc
abstract mixin class $CityCopyWith<$Res>  {
  factory $CityCopyWith(City value, $Res Function(City) _then) = _$CityCopyWithImpl;
@useResult
$Res call({
 String? key, String? name
});




}
/// @nodoc
class _$CityCopyWithImpl<$Res>
    implements $CityCopyWith<$Res> {
  _$CityCopyWithImpl(this._self, this._then);

  final City _self;
  final $Res Function(City) _then;

/// Create a copy of City
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? key = freezed,Object? name = freezed,}) {
  return _then(_self.copyWith(
key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [City].
extension CityPatterns on City {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _City value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _City() when $default != null:
return $default(_that);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case final Subclass2 value:
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _City value)  $default,){
final _that = this;
switch (_that) {
case _City():
return $default(_that);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case final Subclass value:
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _City value)?  $default,){
final _that = this;
switch (_that) {
case _City() when $default != null:
return $default(_that);case _:
  return null;

}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return orElse();
/// }
/// ```

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? key,  String? name)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _City() when $default != null:
return $default(_that.key,_that.name);case _:
  return orElse();

}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case Subclass2(:final field2):
///     return ...;
/// }
/// ```

@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? key,  String? name)  $default,) {final _that = this;
switch (_that) {
case _City():
return $default(_that.key,_that.name);case _:
  throw StateError('Unexpected subclass');

}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
///   case Subclass(:final field):
///     return ...;
///   case _:
///     return null;
/// }
/// ```

@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? key,  String? name)?  $default,) {final _that = this;
switch (_that) {
case _City() when $default != null:
return $default(_that.key,_that.name);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _City implements City {
  const _City({this.key, this.name});
  factory _City.fromJson(Map<String, dynamic> json) => _$CityFromJson(json);

@override final  String? key;
@override final  String? name;

/// Create a copy of City
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$CityCopyWith<_City> get copyWith => __$CityCopyWithImpl<_City>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$CityToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _City&&(identical(other.key, key) || other.key == key)&&(identical(other.name, name) || other.name == name));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,key,name);

@override
String toString() {
  return 'City(key: $key, name: $name)';
}


}

/// @nodoc
abstract mixin class _$CityCopyWith<$Res> implements $CityCopyWith<$Res> {
  factory _$CityCopyWith(_City value, $Res Function(_City) _then) = __$CityCopyWithImpl;
@override @useResult
$Res call({
 String? key, String? name
});




}
/// @nodoc
class __$CityCopyWithImpl<$Res>
    implements _$CityCopyWith<$Res> {
  __$CityCopyWithImpl(this._self, this._then);

  final _City _self;
  final $Res Function(_City) _then;

/// Create a copy of City
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? key = freezed,Object? name = freezed,}) {
  return _then(_City(
key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
as String?,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}

// dart format on
