// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// 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 'parcel_bloc.dart';

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

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');

/// @nodoc
mixin _$ParcelEvent {
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $ParcelEventCopyWith<$Res> {
  factory $ParcelEventCopyWith(
          ParcelEvent value, $Res Function(ParcelEvent) then) =
      _$ParcelEventCopyWithImpl<$Res, ParcelEvent>;
}

/// @nodoc
class _$ParcelEventCopyWithImpl<$Res, $Val extends ParcelEvent>
    implements $ParcelEventCopyWith<$Res> {
  _$ParcelEventCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;
}

/// @nodoc
abstract class _$$AddReviewCopyWith<$Res> {
  factory _$$AddReviewCopyWith(
          _$AddReview value, $Res Function(_$AddReview) then) =
      __$$AddReviewCopyWithImpl<$Res>;
  @useResult
  $Res call({BuildContext context, String comment, double rating});
}

/// @nodoc
class __$$AddReviewCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$AddReview>
    implements _$$AddReviewCopyWith<$Res> {
  __$$AddReviewCopyWithImpl(
      _$AddReview _value, $Res Function(_$AddReview) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
    Object? comment = null,
    Object? rating = null,
  }) {
    return _then(_$AddReview(
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
      comment: null == comment
          ? _value.comment
          : comment // ignore: cast_nullable_to_non_nullable
              as String,
      rating: null == rating
          ? _value.rating
          : rating // ignore: cast_nullable_to_non_nullable
              as double,
    ));
  }
}

/// @nodoc

class _$AddReview implements AddReview {
  const _$AddReview(
      {required this.context, required this.comment, required this.rating});

  @override
  final BuildContext context;
  @override
  final String comment;
  @override
  final double rating;

  @override
  String toString() {
    return 'ParcelEvent.addReview(context: $context, comment: $comment, rating: $rating)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$AddReview &&
            (identical(other.context, context) || other.context == context) &&
            (identical(other.comment, comment) || other.comment == comment) &&
            (identical(other.rating, rating) || other.rating == rating));
  }

  @override
  int get hashCode => Object.hash(runtimeType, context, comment, rating);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$AddReviewCopyWith<_$AddReview> get copyWith =>
      __$$AddReviewCopyWithImpl<_$AddReview>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return addReview(context, comment, rating);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return addReview?.call(context, comment, rating);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (addReview != null) {
      return addReview(context, comment, rating);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return addReview(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return addReview?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (addReview != null) {
      return addReview(this);
    }
    return orElse();
  }
}

abstract class AddReview implements ParcelEvent {
  const factory AddReview(
      {required final BuildContext context,
      required final String comment,
      required final double rating}) = _$AddReview;

  BuildContext get context;
  String get comment;
  double get rating;
  @JsonKey(ignore: true)
  _$$AddReviewCopyWith<_$AddReview> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$ChangeExpandCopyWith<$Res> {
  factory _$$ChangeExpandCopyWith(
          _$ChangeExpand value, $Res Function(_$ChangeExpand) then) =
      __$$ChangeExpandCopyWithImpl<$Res>;
}

/// @nodoc
class __$$ChangeExpandCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$ChangeExpand>
    implements _$$ChangeExpandCopyWith<$Res> {
  __$$ChangeExpandCopyWithImpl(
      _$ChangeExpand _value, $Res Function(_$ChangeExpand) _then)
      : super(_value, _then);
}

/// @nodoc

class _$ChangeExpand implements ChangeExpand {
  const _$ChangeExpand();

  @override
  String toString() {
    return 'ParcelEvent.changeExpand()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType && other is _$ChangeExpand);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return changeExpand();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return changeExpand?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (changeExpand != null) {
      return changeExpand();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return changeExpand(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return changeExpand?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (changeExpand != null) {
      return changeExpand(this);
    }
    return orElse();
  }
}

abstract class ChangeExpand implements ParcelEvent {
  const factory ChangeExpand() = _$ChangeExpand;
}

/// @nodoc
abstract class _$$ShowParcelCopyWith<$Res> {
  factory _$$ShowParcelCopyWith(
          _$ShowParcel value, $Res Function(_$ShowParcel) then) =
      __$$ShowParcelCopyWithImpl<$Res>;
  @useResult
  $Res call({BuildContext context, int orderId, ParcelOrder? parcel});
}

/// @nodoc
class __$$ShowParcelCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$ShowParcel>
    implements _$$ShowParcelCopyWith<$Res> {
  __$$ShowParcelCopyWithImpl(
      _$ShowParcel _value, $Res Function(_$ShowParcel) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
    Object? orderId = null,
    Object? parcel = freezed,
  }) {
    return _then(_$ShowParcel(
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
      orderId: null == orderId
          ? _value.orderId
          : orderId // ignore: cast_nullable_to_non_nullable
              as int,
      parcel: freezed == parcel
          ? _value.parcel
          : parcel // ignore: cast_nullable_to_non_nullable
              as ParcelOrder?,
    ));
  }
}

/// @nodoc

class _$ShowParcel implements ShowParcel {
  const _$ShowParcel(
      {required this.context, required this.orderId, this.parcel});

  @override
  final BuildContext context;
  @override
  final int orderId;
  @override
  final ParcelOrder? parcel;

  @override
  String toString() {
    return 'ParcelEvent.showParcel(context: $context, orderId: $orderId, parcel: $parcel)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ShowParcel &&
            (identical(other.context, context) || other.context == context) &&
            (identical(other.orderId, orderId) || other.orderId == orderId) &&
            (identical(other.parcel, parcel) || other.parcel == parcel));
  }

  @override
  int get hashCode => Object.hash(runtimeType, context, orderId, parcel);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$ShowParcelCopyWith<_$ShowParcel> get copyWith =>
      __$$ShowParcelCopyWithImpl<_$ShowParcel>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return showParcel(context, orderId, parcel);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return showParcel?.call(context, orderId, parcel);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (showParcel != null) {
      return showParcel(context, orderId, parcel);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return showParcel(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return showParcel?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (showParcel != null) {
      return showParcel(this);
    }
    return orElse();
  }
}

abstract class ShowParcel implements ParcelEvent {
  const factory ShowParcel(
      {required final BuildContext context,
      required final int orderId,
      final ParcelOrder? parcel}) = _$ShowParcel;

  BuildContext get context;
  int get orderId;
  ParcelOrder? get parcel;
  @JsonKey(ignore: true)
  _$$ShowParcelCopyWith<_$ShowParcel> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SetTimeCopyWith<$Res> {
  factory _$$SetTimeCopyWith(_$SetTime value, $Res Function(_$SetTime) then) =
      __$$SetTimeCopyWithImpl<$Res>;
  @useResult
  $Res call({TimeOfDay time});
}

/// @nodoc
class __$$SetTimeCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$SetTime>
    implements _$$SetTimeCopyWith<$Res> {
  __$$SetTimeCopyWithImpl(_$SetTime _value, $Res Function(_$SetTime) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? time = null,
  }) {
    return _then(_$SetTime(
      time: null == time
          ? _value.time
          : time // ignore: cast_nullable_to_non_nullable
              as TimeOfDay,
    ));
  }
}

/// @nodoc

class _$SetTime implements SetTime {
  const _$SetTime({required this.time});

  @override
  final TimeOfDay time;

  @override
  String toString() {
    return 'ParcelEvent.setTime(time: $time)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetTime &&
            (identical(other.time, time) || other.time == time));
  }

  @override
  int get hashCode => Object.hash(runtimeType, time);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetTimeCopyWith<_$SetTime> get copyWith =>
      __$$SetTimeCopyWithImpl<_$SetTime>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return setTime(time);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return setTime?.call(time);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (setTime != null) {
      return setTime(time);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return setTime(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return setTime?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (setTime != null) {
      return setTime(this);
    }
    return orElse();
  }
}

abstract class SetTime implements ParcelEvent {
  const factory SetTime({required final TimeOfDay time}) = _$SetTime;

  TimeOfDay get time;
  @JsonKey(ignore: true)
  _$$SetTimeCopyWith<_$SetTime> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SwitchAddressCopyWith<$Res> {
  factory _$$SwitchAddressCopyWith(
          _$SwitchAddress value, $Res Function(_$SwitchAddress) then) =
      __$$SwitchAddressCopyWithImpl<$Res>;
  @useResult
  $Res call({BuildContext context});
}

/// @nodoc
class __$$SwitchAddressCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$SwitchAddress>
    implements _$$SwitchAddressCopyWith<$Res> {
  __$$SwitchAddressCopyWithImpl(
      _$SwitchAddress _value, $Res Function(_$SwitchAddress) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
  }) {
    return _then(_$SwitchAddress(
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$SwitchAddress implements SwitchAddress {
  const _$SwitchAddress({required this.context});

  @override
  final BuildContext context;

  @override
  String toString() {
    return 'ParcelEvent.switchAddress(context: $context)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SwitchAddress &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SwitchAddressCopyWith<_$SwitchAddress> get copyWith =>
      __$$SwitchAddressCopyWithImpl<_$SwitchAddress>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return switchAddress(context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return switchAddress?.call(context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (switchAddress != null) {
      return switchAddress(context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return switchAddress(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return switchAddress?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (switchAddress != null) {
      return switchAddress(this);
    }
    return orElse();
  }
}

abstract class SwitchAddress implements ParcelEvent {
  const factory SwitchAddress({required final BuildContext context}) =
      _$SwitchAddress;

  BuildContext get context;
  @JsonKey(ignore: true)
  _$$SwitchAddressCopyWith<_$SwitchAddress> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SetFromAddressCopyWith<$Res> {
  factory _$$SetFromAddressCopyWith(
          _$SetFromAddress value, $Res Function(_$SetFromAddress) then) =
      __$$SetFromAddressCopyWithImpl<$Res>;
  @useResult
  $Res call({String? title, LocationModel? location, BuildContext context});
}

/// @nodoc
class __$$SetFromAddressCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$SetFromAddress>
    implements _$$SetFromAddressCopyWith<$Res> {
  __$$SetFromAddressCopyWithImpl(
      _$SetFromAddress _value, $Res Function(_$SetFromAddress) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? title = freezed,
    Object? location = freezed,
    Object? context = null,
  }) {
    return _then(_$SetFromAddress(
      title: freezed == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String?,
      location: freezed == location
          ? _value.location
          : location // ignore: cast_nullable_to_non_nullable
              as LocationModel?,
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$SetFromAddress implements SetFromAddress {
  const _$SetFromAddress(
      {required this.title, required this.location, required this.context});

  @override
  final String? title;
  @override
  final LocationModel? location;
  @override
  final BuildContext context;

  @override
  String toString() {
    return 'ParcelEvent.setFromAddress(title: $title, location: $location, context: $context)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetFromAddress &&
            (identical(other.title, title) || other.title == title) &&
            (identical(other.location, location) ||
                other.location == location) &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, title, location, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetFromAddressCopyWith<_$SetFromAddress> get copyWith =>
      __$$SetFromAddressCopyWithImpl<_$SetFromAddress>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return setFromAddress(title, location, context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return setFromAddress?.call(title, location, context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (setFromAddress != null) {
      return setFromAddress(title, location, context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return setFromAddress(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return setFromAddress?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (setFromAddress != null) {
      return setFromAddress(this);
    }
    return orElse();
  }
}

abstract class SetFromAddress implements ParcelEvent {
  const factory SetFromAddress(
      {required final String? title,
      required final LocationModel? location,
      required final BuildContext context}) = _$SetFromAddress;

  String? get title;
  LocationModel? get location;
  BuildContext get context;
  @JsonKey(ignore: true)
  _$$SetFromAddressCopyWith<_$SetFromAddress> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SetToAddressCopyWith<$Res> {
  factory _$$SetToAddressCopyWith(
          _$SetToAddress value, $Res Function(_$SetToAddress) then) =
      __$$SetToAddressCopyWithImpl<$Res>;
  @useResult
  $Res call({String? title, LocationModel? location, BuildContext context});
}

/// @nodoc
class __$$SetToAddressCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$SetToAddress>
    implements _$$SetToAddressCopyWith<$Res> {
  __$$SetToAddressCopyWithImpl(
      _$SetToAddress _value, $Res Function(_$SetToAddress) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? title = freezed,
    Object? location = freezed,
    Object? context = null,
  }) {
    return _then(_$SetToAddress(
      title: freezed == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String?,
      location: freezed == location
          ? _value.location
          : location // ignore: cast_nullable_to_non_nullable
              as LocationModel?,
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$SetToAddress implements SetToAddress {
  const _$SetToAddress(
      {required this.title, required this.location, required this.context});

  @override
  final String? title;
  @override
  final LocationModel? location;
  @override
  final BuildContext context;

  @override
  String toString() {
    return 'ParcelEvent.setToAddress(title: $title, location: $location, context: $context)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetToAddress &&
            (identical(other.title, title) || other.title == title) &&
            (identical(other.location, location) ||
                other.location == location) &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, title, location, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetToAddressCopyWith<_$SetToAddress> get copyWith =>
      __$$SetToAddressCopyWithImpl<_$SetToAddress>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return setToAddress(title, location, context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return setToAddress?.call(title, location, context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (setToAddress != null) {
      return setToAddress(title, location, context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return setToAddress(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return setToAddress?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (setToAddress != null) {
      return setToAddress(this);
    }
    return orElse();
  }
}

abstract class SetToAddress implements ParcelEvent {
  const factory SetToAddress(
      {required final String? title,
      required final LocationModel? location,
      required final BuildContext context}) = _$SetToAddress;

  String? get title;
  LocationModel? get location;
  BuildContext get context;
  @JsonKey(ignore: true)
  _$$SetToAddressCopyWith<_$SetToAddress> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SelectTypeCopyWith<$Res> {
  factory _$$SelectTypeCopyWith(
          _$SelectType value, $Res Function(_$SelectType) then) =
      __$$SelectTypeCopyWithImpl<$Res>;
  @useResult
  $Res call({int index, BuildContext context});
}

/// @nodoc
class __$$SelectTypeCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$SelectType>
    implements _$$SelectTypeCopyWith<$Res> {
  __$$SelectTypeCopyWithImpl(
      _$SelectType _value, $Res Function(_$SelectType) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? index = null,
    Object? context = null,
  }) {
    return _then(_$SelectType(
      index: null == index
          ? _value.index
          : index // ignore: cast_nullable_to_non_nullable
              as int,
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$SelectType implements SelectType {
  const _$SelectType({required this.index, required this.context});

  @override
  final int index;
  @override
  final BuildContext context;

  @override
  String toString() {
    return 'ParcelEvent.selectType(index: $index, context: $context)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SelectType &&
            (identical(other.index, index) || other.index == index) &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, index, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SelectTypeCopyWith<_$SelectType> get copyWith =>
      __$$SelectTypeCopyWithImpl<_$SelectType>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return selectType(index, context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return selectType?.call(index, context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (selectType != null) {
      return selectType(index, context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return selectType(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return selectType?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (selectType != null) {
      return selectType(this);
    }
    return orElse();
  }
}

abstract class SelectType implements ParcelEvent {
  const factory SelectType(
      {required final int index,
      required final BuildContext context}) = _$SelectType;

  int get index;
  BuildContext get context;
  @JsonKey(ignore: true)
  _$$SelectTypeCopyWith<_$SelectType> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$ChangeAnonymousCopyWith<$Res> {
  factory _$$ChangeAnonymousCopyWith(
          _$ChangeAnonymous value, $Res Function(_$ChangeAnonymous) then) =
      __$$ChangeAnonymousCopyWithImpl<$Res>;
}

/// @nodoc
class __$$ChangeAnonymousCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$ChangeAnonymous>
    implements _$$ChangeAnonymousCopyWith<$Res> {
  __$$ChangeAnonymousCopyWithImpl(
      _$ChangeAnonymous _value, $Res Function(_$ChangeAnonymous) _then)
      : super(_value, _then);
}

/// @nodoc

class _$ChangeAnonymous implements ChangeAnonymous {
  const _$ChangeAnonymous();

  @override
  String toString() {
    return 'ParcelEvent.changeAnonymous()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType && other is _$ChangeAnonymous);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return changeAnonymous();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return changeAnonymous?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (changeAnonymous != null) {
      return changeAnonymous();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return changeAnonymous(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return changeAnonymous?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (changeAnonymous != null) {
      return changeAnonymous(this);
    }
    return orElse();
  }
}

abstract class ChangeAnonymous implements ParcelEvent {
  const factory ChangeAnonymous() = _$ChangeAnonymous;
}

/// @nodoc
abstract class _$$FetchTypesCopyWith<$Res> {
  factory _$$FetchTypesCopyWith(
          _$FetchTypes value, $Res Function(_$FetchTypes) then) =
      __$$FetchTypesCopyWithImpl<$Res>;
  @useResult
  $Res call({BuildContext context});
}

/// @nodoc
class __$$FetchTypesCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$FetchTypes>
    implements _$$FetchTypesCopyWith<$Res> {
  __$$FetchTypesCopyWithImpl(
      _$FetchTypes _value, $Res Function(_$FetchTypes) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
  }) {
    return _then(_$FetchTypes(
      null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$FetchTypes implements FetchTypes {
  const _$FetchTypes(this.context);

  @override
  final BuildContext context;

  @override
  String toString() {
    return 'ParcelEvent.fetchTypes(context: $context)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$FetchTypes &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$FetchTypesCopyWith<_$FetchTypes> get copyWith =>
      __$$FetchTypesCopyWithImpl<_$FetchTypes>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return fetchTypes(context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return fetchTypes?.call(context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (fetchTypes != null) {
      return fetchTypes(context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return fetchTypes(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return fetchTypes?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (fetchTypes != null) {
      return fetchTypes(this);
    }
    return orElse();
  }
}

abstract class FetchTypes implements ParcelEvent {
  const factory FetchTypes(final BuildContext context) = _$FetchTypes;

  BuildContext get context;
  @JsonKey(ignore: true)
  _$$FetchTypesCopyWith<_$FetchTypes> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$GetCalculateCopyWith<$Res> {
  factory _$$GetCalculateCopyWith(
          _$GetCalculate value, $Res Function(_$GetCalculate) then) =
      __$$GetCalculateCopyWithImpl<$Res>;
  @useResult
  $Res call({BuildContext context});
}

/// @nodoc
class __$$GetCalculateCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$GetCalculate>
    implements _$$GetCalculateCopyWith<$Res> {
  __$$GetCalculateCopyWithImpl(
      _$GetCalculate _value, $Res Function(_$GetCalculate) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
  }) {
    return _then(_$GetCalculate(
      null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$GetCalculate implements GetCalculate {
  const _$GetCalculate(this.context);

  @override
  final BuildContext context;

  @override
  String toString() {
    return 'ParcelEvent.getCalculate(context: $context)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$GetCalculate &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$GetCalculateCopyWith<_$GetCalculate> get copyWith =>
      __$$GetCalculateCopyWithImpl<_$GetCalculate>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return getCalculate(context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return getCalculate?.call(context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (getCalculate != null) {
      return getCalculate(context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return getCalculate(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return getCalculate?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (getCalculate != null) {
      return getCalculate(this);
    }
    return orElse();
  }
}

abstract class GetCalculate implements ParcelEvent {
  const factory GetCalculate(final BuildContext context) = _$GetCalculate;

  BuildContext get context;
  @JsonKey(ignore: true)
  _$$GetCalculateCopyWith<_$GetCalculate> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$OrderParcelCopyWith<$Res> {
  factory _$$OrderParcelCopyWith(
          _$OrderParcel value, $Res Function(_$OrderParcel) then) =
      __$$OrderParcelCopyWithImpl<$Res>;
  @useResult
  $Res call(
      {BuildContext context,
      String note,
      String usernameTo,
      String usernameFrom,
      String phoneTo,
      String phoneFrom,
      String houseFrom,
      String houseTo,
      String floorTo,
      String floorFrom,
      String comment,
      String value,
      String instruction,
      PaymentData paymentData});
}

/// @nodoc
class __$$OrderParcelCopyWithImpl<$Res>
    extends _$ParcelEventCopyWithImpl<$Res, _$OrderParcel>
    implements _$$OrderParcelCopyWith<$Res> {
  __$$OrderParcelCopyWithImpl(
      _$OrderParcel _value, $Res Function(_$OrderParcel) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
    Object? note = null,
    Object? usernameTo = null,
    Object? usernameFrom = null,
    Object? phoneTo = null,
    Object? phoneFrom = null,
    Object? houseFrom = null,
    Object? houseTo = null,
    Object? floorTo = null,
    Object? floorFrom = null,
    Object? comment = null,
    Object? value = null,
    Object? instruction = null,
    Object? paymentData = null,
  }) {
    return _then(_$OrderParcel(
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
      note: null == note
          ? _value.note
          : note // ignore: cast_nullable_to_non_nullable
              as String,
      usernameTo: null == usernameTo
          ? _value.usernameTo
          : usernameTo // ignore: cast_nullable_to_non_nullable
              as String,
      usernameFrom: null == usernameFrom
          ? _value.usernameFrom
          : usernameFrom // ignore: cast_nullable_to_non_nullable
              as String,
      phoneTo: null == phoneTo
          ? _value.phoneTo
          : phoneTo // ignore: cast_nullable_to_non_nullable
              as String,
      phoneFrom: null == phoneFrom
          ? _value.phoneFrom
          : phoneFrom // ignore: cast_nullable_to_non_nullable
              as String,
      houseFrom: null == houseFrom
          ? _value.houseFrom
          : houseFrom // ignore: cast_nullable_to_non_nullable
              as String,
      houseTo: null == houseTo
          ? _value.houseTo
          : houseTo // ignore: cast_nullable_to_non_nullable
              as String,
      floorTo: null == floorTo
          ? _value.floorTo
          : floorTo // ignore: cast_nullable_to_non_nullable
              as String,
      floorFrom: null == floorFrom
          ? _value.floorFrom
          : floorFrom // ignore: cast_nullable_to_non_nullable
              as String,
      comment: null == comment
          ? _value.comment
          : comment // ignore: cast_nullable_to_non_nullable
              as String,
      value: null == value
          ? _value.value
          : value // ignore: cast_nullable_to_non_nullable
              as String,
      instruction: null == instruction
          ? _value.instruction
          : instruction // ignore: cast_nullable_to_non_nullable
              as String,
      paymentData: null == paymentData
          ? _value.paymentData
          : paymentData // ignore: cast_nullable_to_non_nullable
              as PaymentData,
    ));
  }
}

/// @nodoc

class _$OrderParcel implements OrderParcel {
  const _$OrderParcel(
      {required this.context,
      required this.note,
      required this.usernameTo,
      required this.usernameFrom,
      required this.phoneTo,
      required this.phoneFrom,
      required this.houseFrom,
      required this.houseTo,
      required this.floorTo,
      required this.floorFrom,
      required this.comment,
      required this.value,
      required this.instruction,
      required this.paymentData});

  @override
  final BuildContext context;
  @override
  final String note;
  @override
  final String usernameTo;
  @override
  final String usernameFrom;
  @override
  final String phoneTo;
  @override
  final String phoneFrom;
  @override
  final String houseFrom;
  @override
  final String houseTo;
  @override
  final String floorTo;
  @override
  final String floorFrom;
  @override
  final String comment;
  @override
  final String value;
  @override
  final String instruction;
  @override
  final PaymentData paymentData;

  @override
  String toString() {
    return 'ParcelEvent.orderParcel(context: $context, note: $note, usernameTo: $usernameTo, usernameFrom: $usernameFrom, phoneTo: $phoneTo, phoneFrom: $phoneFrom, houseFrom: $houseFrom, houseTo: $houseTo, floorTo: $floorTo, floorFrom: $floorFrom, comment: $comment, value: $value, instruction: $instruction, paymentData: $paymentData)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$OrderParcel &&
            (identical(other.context, context) || other.context == context) &&
            (identical(other.note, note) || other.note == note) &&
            (identical(other.usernameTo, usernameTo) ||
                other.usernameTo == usernameTo) &&
            (identical(other.usernameFrom, usernameFrom) ||
                other.usernameFrom == usernameFrom) &&
            (identical(other.phoneTo, phoneTo) || other.phoneTo == phoneTo) &&
            (identical(other.phoneFrom, phoneFrom) ||
                other.phoneFrom == phoneFrom) &&
            (identical(other.houseFrom, houseFrom) ||
                other.houseFrom == houseFrom) &&
            (identical(other.houseTo, houseTo) || other.houseTo == houseTo) &&
            (identical(other.floorTo, floorTo) || other.floorTo == floorTo) &&
            (identical(other.floorFrom, floorFrom) ||
                other.floorFrom == floorFrom) &&
            (identical(other.comment, comment) || other.comment == comment) &&
            (identical(other.value, value) || other.value == value) &&
            (identical(other.instruction, instruction) ||
                other.instruction == instruction) &&
            (identical(other.paymentData, paymentData) ||
                other.paymentData == paymentData));
  }

  @override
  int get hashCode => Object.hash(
      runtimeType,
      context,
      note,
      usernameTo,
      usernameFrom,
      phoneTo,
      phoneFrom,
      houseFrom,
      houseTo,
      floorTo,
      floorFrom,
      comment,
      value,
      instruction,
      paymentData);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$OrderParcelCopyWith<_$OrderParcel> get copyWith =>
      __$$OrderParcelCopyWithImpl<_$OrderParcel>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function(
            BuildContext context, String comment, double rating)
        addReview,
    required TResult Function() changeExpand,
    required TResult Function(
            BuildContext context, int orderId, ParcelOrder? parcel)
        showParcel,
    required TResult Function(TimeOfDay time) setTime,
    required TResult Function(BuildContext context) switchAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setFromAddress,
    required TResult Function(
            String? title, LocationModel? location, BuildContext context)
        setToAddress,
    required TResult Function(int index, BuildContext context) selectType,
    required TResult Function() changeAnonymous,
    required TResult Function(BuildContext context) fetchTypes,
    required TResult Function(BuildContext context) getCalculate,
    required TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)
        orderParcel,
  }) {
    return orderParcel(
        context,
        note,
        usernameTo,
        usernameFrom,
        phoneTo,
        phoneFrom,
        houseFrom,
        houseTo,
        floorTo,
        floorFrom,
        comment,
        value,
        instruction,
        paymentData);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult? Function()? changeExpand,
    TResult? Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult? Function(TimeOfDay time)? setTime,
    TResult? Function(BuildContext context)? switchAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult? Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult? Function(int index, BuildContext context)? selectType,
    TResult? Function()? changeAnonymous,
    TResult? Function(BuildContext context)? fetchTypes,
    TResult? Function(BuildContext context)? getCalculate,
    TResult? Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
  }) {
    return orderParcel?.call(
        context,
        note,
        usernameTo,
        usernameFrom,
        phoneTo,
        phoneFrom,
        houseFrom,
        houseTo,
        floorTo,
        floorFrom,
        comment,
        value,
        instruction,
        paymentData);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function(BuildContext context, String comment, double rating)?
        addReview,
    TResult Function()? changeExpand,
    TResult Function(BuildContext context, int orderId, ParcelOrder? parcel)?
        showParcel,
    TResult Function(TimeOfDay time)? setTime,
    TResult Function(BuildContext context)? switchAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setFromAddress,
    TResult Function(
            String? title, LocationModel? location, BuildContext context)?
        setToAddress,
    TResult Function(int index, BuildContext context)? selectType,
    TResult Function()? changeAnonymous,
    TResult Function(BuildContext context)? fetchTypes,
    TResult Function(BuildContext context)? getCalculate,
    TResult Function(
            BuildContext context,
            String note,
            String usernameTo,
            String usernameFrom,
            String phoneTo,
            String phoneFrom,
            String houseFrom,
            String houseTo,
            String floorTo,
            String floorFrom,
            String comment,
            String value,
            String instruction,
            PaymentData paymentData)?
        orderParcel,
    required TResult orElse(),
  }) {
    if (orderParcel != null) {
      return orderParcel(
          context,
          note,
          usernameTo,
          usernameFrom,
          phoneTo,
          phoneFrom,
          houseFrom,
          houseTo,
          floorTo,
          floorFrom,
          comment,
          value,
          instruction,
          paymentData);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(AddReview value) addReview,
    required TResult Function(ChangeExpand value) changeExpand,
    required TResult Function(ShowParcel value) showParcel,
    required TResult Function(SetTime value) setTime,
    required TResult Function(SwitchAddress value) switchAddress,
    required TResult Function(SetFromAddress value) setFromAddress,
    required TResult Function(SetToAddress value) setToAddress,
    required TResult Function(SelectType value) selectType,
    required TResult Function(ChangeAnonymous value) changeAnonymous,
    required TResult Function(FetchTypes value) fetchTypes,
    required TResult Function(GetCalculate value) getCalculate,
    required TResult Function(OrderParcel value) orderParcel,
  }) {
    return orderParcel(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(AddReview value)? addReview,
    TResult? Function(ChangeExpand value)? changeExpand,
    TResult? Function(ShowParcel value)? showParcel,
    TResult? Function(SetTime value)? setTime,
    TResult? Function(SwitchAddress value)? switchAddress,
    TResult? Function(SetFromAddress value)? setFromAddress,
    TResult? Function(SetToAddress value)? setToAddress,
    TResult? Function(SelectType value)? selectType,
    TResult? Function(ChangeAnonymous value)? changeAnonymous,
    TResult? Function(FetchTypes value)? fetchTypes,
    TResult? Function(GetCalculate value)? getCalculate,
    TResult? Function(OrderParcel value)? orderParcel,
  }) {
    return orderParcel?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(AddReview value)? addReview,
    TResult Function(ChangeExpand value)? changeExpand,
    TResult Function(ShowParcel value)? showParcel,
    TResult Function(SetTime value)? setTime,
    TResult Function(SwitchAddress value)? switchAddress,
    TResult Function(SetFromAddress value)? setFromAddress,
    TResult Function(SetToAddress value)? setToAddress,
    TResult Function(SelectType value)? selectType,
    TResult Function(ChangeAnonymous value)? changeAnonymous,
    TResult Function(FetchTypes value)? fetchTypes,
    TResult Function(GetCalculate value)? getCalculate,
    TResult Function(OrderParcel value)? orderParcel,
    required TResult orElse(),
  }) {
    if (orderParcel != null) {
      return orderParcel(this);
    }
    return orElse();
  }
}

abstract class OrderParcel implements ParcelEvent {
  const factory OrderParcel(
      {required final BuildContext context,
      required final String note,
      required final String usernameTo,
      required final String usernameFrom,
      required final String phoneTo,
      required final String phoneFrom,
      required final String houseFrom,
      required final String houseTo,
      required final String floorTo,
      required final String floorFrom,
      required final String comment,
      required final String value,
      required final String instruction,
      required final PaymentData paymentData}) = _$OrderParcel;

  BuildContext get context;
  String get note;
  String get usernameTo;
  String get usernameFrom;
  String get phoneTo;
  String get phoneFrom;
  String get houseFrom;
  String get houseTo;
  String get floorTo;
  String get floorFrom;
  String get comment;
  String get value;
  String get instruction;
  PaymentData get paymentData;
  @JsonKey(ignore: true)
  _$$OrderParcelCopyWith<_$OrderParcel> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
mixin _$ParcelState {
  bool get isLoading => throw _privateConstructorUsedError;
  bool get isButtonLoading => throw _privateConstructorUsedError;
  bool get isMapLoading => throw _privateConstructorUsedError;
  bool get error => throw _privateConstructorUsedError;
  LocationModel? get locationFrom => throw _privateConstructorUsedError;
  LocationModel? get locationTo => throw _privateConstructorUsedError;
  String? get addressTo => throw _privateConstructorUsedError;
  String? get addressFrom => throw _privateConstructorUsedError;
  TimeOfDay? get time => throw _privateConstructorUsedError;
  ParcelCalculateResponse? get calculate => throw _privateConstructorUsedError;
  List<TypeModel?> get types => throw _privateConstructorUsedError;
  int get selectType => throw _privateConstructorUsedError;
  bool get expand => throw _privateConstructorUsedError;
  bool get anonymous => throw _privateConstructorUsedError;
  ParcelOrder? get parcel => throw _privateConstructorUsedError;

  @JsonKey(ignore: true)
  $ParcelStateCopyWith<ParcelState> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $ParcelStateCopyWith<$Res> {
  factory $ParcelStateCopyWith(
          ParcelState value, $Res Function(ParcelState) then) =
      _$ParcelStateCopyWithImpl<$Res, ParcelState>;
  @useResult
  $Res call(
      {bool isLoading,
      bool isButtonLoading,
      bool isMapLoading,
      bool error,
      LocationModel? locationFrom,
      LocationModel? locationTo,
      String? addressTo,
      String? addressFrom,
      TimeOfDay? time,
      ParcelCalculateResponse? calculate,
      List<TypeModel?> types,
      int selectType,
      bool expand,
      bool anonymous,
      ParcelOrder? parcel});
}

/// @nodoc
class _$ParcelStateCopyWithImpl<$Res, $Val extends ParcelState>
    implements $ParcelStateCopyWith<$Res> {
  _$ParcelStateCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? isLoading = null,
    Object? isButtonLoading = null,
    Object? isMapLoading = null,
    Object? error = null,
    Object? locationFrom = freezed,
    Object? locationTo = freezed,
    Object? addressTo = freezed,
    Object? addressFrom = freezed,
    Object? time = freezed,
    Object? calculate = freezed,
    Object? types = null,
    Object? selectType = null,
    Object? expand = null,
    Object? anonymous = null,
    Object? parcel = freezed,
  }) {
    return _then(_value.copyWith(
      isLoading: null == isLoading
          ? _value.isLoading
          : isLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      isButtonLoading: null == isButtonLoading
          ? _value.isButtonLoading
          : isButtonLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      isMapLoading: null == isMapLoading
          ? _value.isMapLoading
          : isMapLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      error: null == error
          ? _value.error
          : error // ignore: cast_nullable_to_non_nullable
              as bool,
      locationFrom: freezed == locationFrom
          ? _value.locationFrom
          : locationFrom // ignore: cast_nullable_to_non_nullable
              as LocationModel?,
      locationTo: freezed == locationTo
          ? _value.locationTo
          : locationTo // ignore: cast_nullable_to_non_nullable
              as LocationModel?,
      addressTo: freezed == addressTo
          ? _value.addressTo
          : addressTo // ignore: cast_nullable_to_non_nullable
              as String?,
      addressFrom: freezed == addressFrom
          ? _value.addressFrom
          : addressFrom // ignore: cast_nullable_to_non_nullable
              as String?,
      time: freezed == time
          ? _value.time
          : time // ignore: cast_nullable_to_non_nullable
              as TimeOfDay?,
      calculate: freezed == calculate
          ? _value.calculate
          : calculate // ignore: cast_nullable_to_non_nullable
              as ParcelCalculateResponse?,
      types: null == types
          ? _value.types
          : types // ignore: cast_nullable_to_non_nullable
              as List<TypeModel?>,
      selectType: null == selectType
          ? _value.selectType
          : selectType // ignore: cast_nullable_to_non_nullable
              as int,
      expand: null == expand
          ? _value.expand
          : expand // ignore: cast_nullable_to_non_nullable
              as bool,
      anonymous: null == anonymous
          ? _value.anonymous
          : anonymous // ignore: cast_nullable_to_non_nullable
              as bool,
      parcel: freezed == parcel
          ? _value.parcel
          : parcel // ignore: cast_nullable_to_non_nullable
              as ParcelOrder?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$_ParcelStateCopyWith<$Res>
    implements $ParcelStateCopyWith<$Res> {
  factory _$$_ParcelStateCopyWith(
          _$_ParcelState value, $Res Function(_$_ParcelState) then) =
      __$$_ParcelStateCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {bool isLoading,
      bool isButtonLoading,
      bool isMapLoading,
      bool error,
      LocationModel? locationFrom,
      LocationModel? locationTo,
      String? addressTo,
      String? addressFrom,
      TimeOfDay? time,
      ParcelCalculateResponse? calculate,
      List<TypeModel?> types,
      int selectType,
      bool expand,
      bool anonymous,
      ParcelOrder? parcel});
}

/// @nodoc
class __$$_ParcelStateCopyWithImpl<$Res>
    extends _$ParcelStateCopyWithImpl<$Res, _$_ParcelState>
    implements _$$_ParcelStateCopyWith<$Res> {
  __$$_ParcelStateCopyWithImpl(
      _$_ParcelState _value, $Res Function(_$_ParcelState) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? isLoading = null,
    Object? isButtonLoading = null,
    Object? isMapLoading = null,
    Object? error = null,
    Object? locationFrom = freezed,
    Object? locationTo = freezed,
    Object? addressTo = freezed,
    Object? addressFrom = freezed,
    Object? time = freezed,
    Object? calculate = freezed,
    Object? types = null,
    Object? selectType = null,
    Object? expand = null,
    Object? anonymous = null,
    Object? parcel = freezed,
  }) {
    return _then(_$_ParcelState(
      isLoading: null == isLoading
          ? _value.isLoading
          : isLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      isButtonLoading: null == isButtonLoading
          ? _value.isButtonLoading
          : isButtonLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      isMapLoading: null == isMapLoading
          ? _value.isMapLoading
          : isMapLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      error: null == error
          ? _value.error
          : error // ignore: cast_nullable_to_non_nullable
              as bool,
      locationFrom: freezed == locationFrom
          ? _value.locationFrom
          : locationFrom // ignore: cast_nullable_to_non_nullable
              as LocationModel?,
      locationTo: freezed == locationTo
          ? _value.locationTo
          : locationTo // ignore: cast_nullable_to_non_nullable
              as LocationModel?,
      addressTo: freezed == addressTo
          ? _value.addressTo
          : addressTo // ignore: cast_nullable_to_non_nullable
              as String?,
      addressFrom: freezed == addressFrom
          ? _value.addressFrom
          : addressFrom // ignore: cast_nullable_to_non_nullable
              as String?,
      time: freezed == time
          ? _value.time
          : time // ignore: cast_nullable_to_non_nullable
              as TimeOfDay?,
      calculate: freezed == calculate
          ? _value.calculate
          : calculate // ignore: cast_nullable_to_non_nullable
              as ParcelCalculateResponse?,
      types: null == types
          ? _value._types
          : types // ignore: cast_nullable_to_non_nullable
              as List<TypeModel?>,
      selectType: null == selectType
          ? _value.selectType
          : selectType // ignore: cast_nullable_to_non_nullable
              as int,
      expand: null == expand
          ? _value.expand
          : expand // ignore: cast_nullable_to_non_nullable
              as bool,
      anonymous: null == anonymous
          ? _value.anonymous
          : anonymous // ignore: cast_nullable_to_non_nullable
              as bool,
      parcel: freezed == parcel
          ? _value.parcel
          : parcel // ignore: cast_nullable_to_non_nullable
              as ParcelOrder?,
    ));
  }
}

/// @nodoc

class _$_ParcelState implements _ParcelState {
  const _$_ParcelState(
      {this.isLoading = false,
      this.isButtonLoading = false,
      this.isMapLoading = false,
      this.error = false,
      this.locationFrom = null,
      this.locationTo = null,
      this.addressTo = null,
      this.addressFrom = null,
      this.time = null,
      this.calculate = null,
      final List<TypeModel?> types = const [],
      this.selectType = 0,
      this.expand = false,
      this.anonymous = false,
      this.parcel = null})
      : _types = types;

  @override
  @JsonKey()
  final bool isLoading;
  @override
  @JsonKey()
  final bool isButtonLoading;
  @override
  @JsonKey()
  final bool isMapLoading;
  @override
  @JsonKey()
  final bool error;
  @override
  @JsonKey()
  final LocationModel? locationFrom;
  @override
  @JsonKey()
  final LocationModel? locationTo;
  @override
  @JsonKey()
  final String? addressTo;
  @override
  @JsonKey()
  final String? addressFrom;
  @override
  @JsonKey()
  final TimeOfDay? time;
  @override
  @JsonKey()
  final ParcelCalculateResponse? calculate;
  final List<TypeModel?> _types;
  @override
  @JsonKey()
  List<TypeModel?> get types {
    if (_types is EqualUnmodifiableListView) return _types;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_types);
  }

  @override
  @JsonKey()
  final int selectType;
  @override
  @JsonKey()
  final bool expand;
  @override
  @JsonKey()
  final bool anonymous;
  @override
  @JsonKey()
  final ParcelOrder? parcel;

  @override
  String toString() {
    return 'ParcelState(isLoading: $isLoading, isButtonLoading: $isButtonLoading, isMapLoading: $isMapLoading, error: $error, locationFrom: $locationFrom, locationTo: $locationTo, addressTo: $addressTo, addressFrom: $addressFrom, time: $time, calculate: $calculate, types: $types, selectType: $selectType, expand: $expand, anonymous: $anonymous, parcel: $parcel)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$_ParcelState &&
            (identical(other.isLoading, isLoading) ||
                other.isLoading == isLoading) &&
            (identical(other.isButtonLoading, isButtonLoading) ||
                other.isButtonLoading == isButtonLoading) &&
            (identical(other.isMapLoading, isMapLoading) ||
                other.isMapLoading == isMapLoading) &&
            (identical(other.error, error) || other.error == error) &&
            (identical(other.locationFrom, locationFrom) ||
                other.locationFrom == locationFrom) &&
            (identical(other.locationTo, locationTo) ||
                other.locationTo == locationTo) &&
            (identical(other.addressTo, addressTo) ||
                other.addressTo == addressTo) &&
            (identical(other.addressFrom, addressFrom) ||
                other.addressFrom == addressFrom) &&
            (identical(other.time, time) || other.time == time) &&
            (identical(other.calculate, calculate) ||
                other.calculate == calculate) &&
            const DeepCollectionEquality().equals(other._types, _types) &&
            (identical(other.selectType, selectType) ||
                other.selectType == selectType) &&
            (identical(other.expand, expand) || other.expand == expand) &&
            (identical(other.anonymous, anonymous) ||
                other.anonymous == anonymous) &&
            (identical(other.parcel, parcel) || other.parcel == parcel));
  }

  @override
  int get hashCode => Object.hash(
      runtimeType,
      isLoading,
      isButtonLoading,
      isMapLoading,
      error,
      locationFrom,
      locationTo,
      addressTo,
      addressFrom,
      time,
      calculate,
      const DeepCollectionEquality().hash(_types),
      selectType,
      expand,
      anonymous,
      parcel);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$_ParcelStateCopyWith<_$_ParcelState> get copyWith =>
      __$$_ParcelStateCopyWithImpl<_$_ParcelState>(this, _$identity);
}

abstract class _ParcelState implements ParcelState {
  const factory _ParcelState(
      {final bool isLoading,
      final bool isButtonLoading,
      final bool isMapLoading,
      final bool error,
      final LocationModel? locationFrom,
      final LocationModel? locationTo,
      final String? addressTo,
      final String? addressFrom,
      final TimeOfDay? time,
      final ParcelCalculateResponse? calculate,
      final List<TypeModel?> types,
      final int selectType,
      final bool expand,
      final bool anonymous,
      final ParcelOrder? parcel}) = _$_ParcelState;

  @override
  bool get isLoading;
  @override
  bool get isButtonLoading;
  @override
  bool get isMapLoading;
  @override
  bool get error;
  @override
  LocationModel? get locationFrom;
  @override
  LocationModel? get locationTo;
  @override
  String? get addressTo;
  @override
  String? get addressFrom;
  @override
  TimeOfDay? get time;
  @override
  ParcelCalculateResponse? get calculate;
  @override
  List<TypeModel?> get types;
  @override
  int get selectType;
  @override
  bool get expand;
  @override
  bool get anonymous;
  @override
  ParcelOrder? get parcel;
  @override
  @JsonKey(ignore: true)
  _$$_ParcelStateCopyWith<_$_ParcelState> get copyWith =>
      throw _privateConstructorUsedError;
}
