public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
    public final static ListOfUsers$$serializer INSTANCE

    public final static kotlinx.serialization.SerialDescriptor descriptor

    public final static void <clinit>() {
          NEW
          DUP
          INVOKESPECIAL (ListOfUsers$$serializer, <init>, ()V)
          PUTSTATIC (INSTANCE, LListOfUsers$$serializer;)
          RETURN
    }

    private void <init>() {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (12)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          NEW
          DUP
          LDC (ListOfUsers)
          ALOAD (0)
          CHECKCAST
          INVOKESPECIAL (kotlinx/serialization/internal/SerialClassDescImpl, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;)V)
          ASTORE (1)
          ALOAD (1)
          LDC (list)
          ICONST_0
          INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
          ALOAD (1)
          CHECKCAST
          PUTSTATIC (descriptor, Lkotlinx/serialization/SerialDescriptor;)
          RETURN
        LABEL (L2)
    }

    public kotlinx.serialization.KSerializer[] childSerializers() {
        LABEL (L0)
        LINENUMBER (12)
          ICONST_1
          ANEWARRAY
          DUP
          ICONST_0
          NEW
          DUP
          GETSTATIC (INSTANCE, LUser$$serializer;)
          CHECKCAST
          INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
          AASTORE
          ARETURN
        LABEL (L1)
    }

    public ListOfUsers deserialize(kotlinx.serialization.Decoder decoder) {
        LABEL (L0)
          ALOAD (1)
          LDC (decoder)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (12)
          ALOAD (0)
          INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
          ASTORE (2)
          ICONST_1
          ISTORE (3)
          ICONST_0
          ISTORE (4)
          ICONST_0
          ISTORE (5)
          ACONST_NULL
          ASTORE (6)
          ALOAD (1)
          ALOAD (2)
          ICONST_0
          ANEWARRAY
          INVOKEINTERFACE (kotlinx/serialization/Decoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeDecoder;)
          ASTORE (7)
        LABEL (L2)
          ILOAD (3)
          IFEQ (L3)
          ALOAD (7)
          ALOAD (2)
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/SerialDescriptor;)I)
          ISTORE (4)
          ILOAD (4)
          TABLESWITCH
        LABEL (L4)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, throwNpe, ()V)
          GOTO (L5)
        LABEL (L6)
          ICONST_0
          ISTORE (3)
          GOTO (L5)
        LABEL (L7)
          ALOAD (7)
          ALOAD (2)
          ICONST_0
          NEW
          DUP
          GETSTATIC (INSTANCE, LUser$$serializer;)
          CHECKCAST
          INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
          CHECKCAST
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;)Ljava/lang/Object;)
          CHECKCAST
          CHECKCAST
          ASTORE (6)
          ILOAD (5)
          ICONST_1
          IOR
          ISTORE (5)
          GOTO (L5)
        LABEL (L8)
          NEW
          DUP
          ILOAD (4)
          INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
          CHECKCAST
          ATHROW
        LABEL (L5)
        LINENUMBER (13)
          GOTO (L2)
        LABEL (L3)
          ALOAD (7)
          ALOAD (2)
        LABEL (L9)
        LINENUMBER (12)
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
          NEW
          DUP
          ILOAD (5)
          ALOAD (6)
          CHECKCAST
          ACONST_NULL
          CHECKCAST
          INVOKESPECIAL (ListOfUsers, <init>, (ILjava/util/List;Lkotlinx/serialization/SerializationConstructorMarker;)V)
          ARETURN
        LABEL (L10)
    }

    public java.lang.Object deserialize(kotlinx.serialization.Decoder decoder) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          INVOKEVIRTUAL (ListOfUsers$$serializer, deserialize, (Lkotlinx/serialization/Decoder;)LListOfUsers;)
          ARETURN
        LABEL (L1)
    }

    public kotlinx.serialization.SerialDescriptor getDescriptor()

    public ListOfUsers patch(kotlinx.serialization.Decoder decoder, ListOfUsers old)

    public java.lang.Object patch(kotlinx.serialization.Decoder decoder, java.lang.Object old)

    public void serialize(kotlinx.serialization.Encoder encoder, ListOfUsers obj) {
        LABEL (L0)
          ALOAD (1)
          LDC (encoder)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (2)
          LDC (obj)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (12)
          ALOAD (0)
          INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
          ASTORE (3)
          ALOAD (1)
          ALOAD (3)
          ICONST_0
          ANEWARRAY
          INVOKEINTERFACE (kotlinx/serialization/Encoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeEncoder;)
          ASTORE (4)
          ALOAD (4)
          ALOAD (3)
          ICONST_0
          NEW
          DUP
          GETSTATIC (INSTANCE, LUser$$serializer;)
          CHECKCAST
          INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
          CHECKCAST
          ALOAD (2)
          GETFIELD (list, Ljava/util/List;)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V)
          ALOAD (4)
          ALOAD (3)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
          RETURN
        LABEL (L2)
    }

    public void serialize(kotlinx.serialization.Encoder encoder, java.lang.Object obj) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          ALOAD (2)
          CHECKCAST
          INVOKEVIRTUAL (ListOfUsers$$serializer, serialize, (Lkotlinx/serialization/Encoder;LListOfUsers;)V)
          RETURN
        LABEL (L1)
    }
}

public final class ListOfUsers$Companion : java/lang/Object {
    private void <init>() {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (12)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          RETURN
        LABEL (L2)
    }

    public void <init>(kotlin.jvm.internal.DefaultConstructorMarker marker) {
        LABEL (L0)
          ALOAD (0)
          INVOKESPECIAL (ListOfUsers$Companion, <init>, ()V)
          RETURN
        LABEL (L1)
    }

    public final kotlinx.serialization.KSerializer serializer()
}

public final class ListOfUsers : java/lang/Object {
    public final static ListOfUsers$Companion Companion

    public final java.util.List list

    public final static void <clinit>() {
          NEW
          DUP
          ACONST_NULL
          INVOKESPECIAL (ListOfUsers$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
          PUTSTATIC (Companion, LListOfUsers$Companion;)
          RETURN
    }

    public void <init>(java.util.List list) {
        LABEL (L0)
          ALOAD (1)
          LDC (list)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (12)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
        LABEL (L2)
        LINENUMBER (13)
          ALOAD (0)
          ALOAD (1)
          PUTFIELD (list, Ljava/util/List;)
          RETURN
        LABEL (L3)
    }

    public void <init>(int seen1, java.util.List list, kotlinx.serialization.SerializationConstructorMarker serializationConstructorMarker) {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (12)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          ICONST_0
          ILOAD (1)
          ICONST_1
          IAND
          IF_ICMPNE (L2)
          NEW
          DUP
          LDC (list)
          INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
          CHECKCAST
          ATHROW
        LABEL (L2)
          ALOAD (0)
          ALOAD (2)
          PUTFIELD (list, Ljava/util/List;)
        LABEL (L3)
        LINENUMBER (13)
          RETURN
        LABEL (L4)
    }

    public final java.util.List getList()
}

public final class OptionalUser$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
    public final static OptionalUser$$serializer INSTANCE

    public final static kotlinx.serialization.SerialDescriptor descriptor

    public final static void <clinit>() {
          NEW
          DUP
          INVOKESPECIAL (OptionalUser$$serializer, <init>, ()V)
          PUTSTATIC (INSTANCE, LOptionalUser$$serializer;)
          RETURN
    }

    private void <init>() {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (9)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          NEW
          DUP
          LDC (OptionalUser)
          ALOAD (0)
          CHECKCAST
          INVOKESPECIAL (kotlinx/serialization/internal/SerialClassDescImpl, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;)V)
          ASTORE (1)
          ALOAD (1)
          LDC (user)
          ICONST_1
          INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
          ALOAD (1)
          CHECKCAST
          PUTSTATIC (descriptor, Lkotlinx/serialization/SerialDescriptor;)
          RETURN
        LABEL (L2)
    }

    public kotlinx.serialization.KSerializer[] childSerializers() {
        LABEL (L0)
        LINENUMBER (9)
          ICONST_1
          ANEWARRAY
          DUP
          ICONST_0
          GETSTATIC (INSTANCE, LUser$$serializer;)
          CHECKCAST
          AASTORE
          ARETURN
        LABEL (L1)
    }

    public OptionalUser deserialize(kotlinx.serialization.Decoder decoder) {
        LABEL (L0)
          ALOAD (1)
          LDC (decoder)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (9)
          ALOAD (0)
          INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
          ASTORE (2)
          ICONST_1
          ISTORE (3)
          ICONST_0
          ISTORE (4)
          ICONST_0
          ISTORE (5)
          ACONST_NULL
          ASTORE (6)
          ALOAD (1)
          ALOAD (2)
          ICONST_0
          ANEWARRAY
          INVOKEINTERFACE (kotlinx/serialization/Decoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeDecoder;)
          ASTORE (7)
        LABEL (L2)
          ILOAD (3)
          IFEQ (L3)
          ALOAD (7)
          ALOAD (2)
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/SerialDescriptor;)I)
          ISTORE (4)
          ILOAD (4)
          TABLESWITCH
        LABEL (L4)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, throwNpe, ()V)
          GOTO (L5)
        LABEL (L6)
          ICONST_0
          ISTORE (3)
          GOTO (L5)
        LABEL (L7)
          ALOAD (7)
          ALOAD (2)
          ICONST_0
          GETSTATIC (INSTANCE, LUser$$serializer;)
          CHECKCAST
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;)Ljava/lang/Object;)
          CHECKCAST
          CHECKCAST
          ASTORE (6)
          ILOAD (5)
          ICONST_1
          IOR
          ISTORE (5)
          GOTO (L5)
        LABEL (L8)
          NEW
          DUP
          ILOAD (4)
          INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
          CHECKCAST
          ATHROW
        LABEL (L5)
        LINENUMBER (10)
          GOTO (L2)
        LABEL (L3)
          ALOAD (7)
          ALOAD (2)
        LABEL (L9)
        LINENUMBER (9)
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
          NEW
          DUP
          ILOAD (5)
          ALOAD (6)
          CHECKCAST
          ACONST_NULL
          CHECKCAST
          INVOKESPECIAL (OptionalUser, <init>, (ILUser;Lkotlinx/serialization/SerializationConstructorMarker;)V)
          ARETURN
        LABEL (L10)
    }

    public java.lang.Object deserialize(kotlinx.serialization.Decoder decoder) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          INVOKEVIRTUAL (OptionalUser$$serializer, deserialize, (Lkotlinx/serialization/Decoder;)LOptionalUser;)
          ARETURN
        LABEL (L1)
    }

    public kotlinx.serialization.SerialDescriptor getDescriptor()

    public OptionalUser patch(kotlinx.serialization.Decoder decoder, OptionalUser old)

    public java.lang.Object patch(kotlinx.serialization.Decoder decoder, java.lang.Object old)

    public void serialize(kotlinx.serialization.Encoder encoder, OptionalUser obj) {
        LABEL (L0)
          ALOAD (1)
          LDC (encoder)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (2)
          LDC (obj)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (9)
          ALOAD (0)
          INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
          ASTORE (3)
          ALOAD (1)
          ALOAD (3)
          ICONST_0
          ANEWARRAY
          INVOKEINTERFACE (kotlinx/serialization/Encoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeEncoder;)
          ASTORE (4)
          ALOAD (2)
          GETFIELD (user, LUser;)
          NEW
          DUP
        LABEL (L2)
        LINENUMBER (10)
          LDC ()
          LDC ()
          INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, areEqual, (Ljava/lang/Object;Ljava/lang/Object;)Z)
          IFNE (L3)
        LABEL (L4)
        LINENUMBER (9)
          ICONST_1
          GOTO (L5)
        LABEL (L3)
          ALOAD (4)
          ALOAD (3)
          ICONST_0
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, shouldEncodeElementDefault, (Lkotlinx/serialization/SerialDescriptor;I)Z)
        LABEL (L5)
          IFEQ (L6)
          ALOAD (4)
          ALOAD (3)
          ICONST_0
          GETSTATIC (INSTANCE, LUser$$serializer;)
          CHECKCAST
          ALOAD (2)
          GETFIELD (user, LUser;)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V)
          GOTO (L6)
        LABEL (L6)
          ALOAD (4)
          ALOAD (3)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
          RETURN
        LABEL (L7)
    }

    public void serialize(kotlinx.serialization.Encoder encoder, java.lang.Object obj) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          ALOAD (2)
          CHECKCAST
          INVOKEVIRTUAL (OptionalUser$$serializer, serialize, (Lkotlinx/serialization/Encoder;LOptionalUser;)V)
          RETURN
        LABEL (L1)
    }
}

public final class OptionalUser$Companion : java/lang/Object {
    private void <init>() {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (9)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          RETURN
        LABEL (L2)
    }

    public void <init>(kotlin.jvm.internal.DefaultConstructorMarker marker) {
        LABEL (L0)
          ALOAD (0)
          INVOKESPECIAL (OptionalUser$Companion, <init>, ()V)
          RETURN
        LABEL (L1)
    }

    public final kotlinx.serialization.KSerializer serializer()
}

public final class OptionalUser : java/lang/Object {
    public final static OptionalUser$Companion Companion

    public final User user

    public final static void <clinit>() {
          NEW
          DUP
          ACONST_NULL
          INVOKESPECIAL (OptionalUser$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
          PUTSTATIC (Companion, LOptionalUser$Companion;)
          RETURN
    }

    public void <init>(User user) {
        LABEL (L0)
          ALOAD (1)
          LDC (user)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (9)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
        LABEL (L2)
        LINENUMBER (10)
          ALOAD (0)
          ALOAD (1)
          PUTFIELD (user, LUser;)
          RETURN
        LABEL (L3)
    }

    public void <init>(User user, int $mask0, kotlin.jvm.internal.DefaultConstructorMarker $marker) {
        LABEL (L0)
        LINENUMBER (10)
          ILOAD (2)
          ICONST_1
          IAND
          IFEQ (L1)
          NEW
          DUP
          LDC ()
          LDC ()
          INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
          GOTO (L2)
        LABEL (L1)
          ALOAD (1)
        LABEL (L2)
          ASTORE (4)
          ALOAD (0)
          ALOAD (4)
          INVOKESPECIAL (OptionalUser, <init>, (LUser;)V)
          RETURN
        LABEL (L3)
    }

    public void <init>(int seen1, User user, kotlinx.serialization.SerializationConstructorMarker serializationConstructorMarker) {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (9)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          ICONST_0
          ILOAD (1)
          ICONST_1
          IAND
          IF_ICMPNE (L2)
          ALOAD (0)
          NEW
          DUP
        LABEL (L3)
        LINENUMBER (10)
          LDC ()
          LDC ()
          INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
          PUTFIELD (user, LUser;)
          GOTO (L4)
        LABEL (L2)
        LINENUMBER (9)
          ALOAD (0)
          ALOAD (2)
          PUTFIELD (user, LUser;)
        LABEL (L4)
        LINENUMBER (10)
          RETURN
        LABEL (L5)
    }

    public void <init>() {
        LABEL (L0)
          ALOAD (0)
          ACONST_NULL
          CHECKCAST
          ICONST_1
          ACONST_NULL
          INVOKESPECIAL (OptionalUser, <init>, (LUser;ILkotlin/jvm/internal/DefaultConstructorMarker;)V)
          RETURN
        LABEL (L1)
    }

    public final User getUser()
}

public final class User$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
    public final static User$$serializer INSTANCE

    public final static kotlinx.serialization.SerialDescriptor descriptor

    public final static void <clinit>() {
          NEW
          DUP
          INVOKESPECIAL (User$$serializer, <init>, ()V)
          PUTSTATIC (INSTANCE, LUser$$serializer;)
          RETURN
    }

    private void <init>() {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (6)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          NEW
          DUP
          LDC (User)
          ALOAD (0)
          CHECKCAST
          INVOKESPECIAL (kotlinx/serialization/internal/SerialClassDescImpl, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;)V)
          ASTORE (1)
          ALOAD (1)
          LDC (firstName)
          ICONST_0
          INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
          ALOAD (1)
          LDC (lastName)
          ICONST_0
          INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
          ALOAD (1)
          CHECKCAST
          PUTSTATIC (descriptor, Lkotlinx/serialization/SerialDescriptor;)
          RETURN
        LABEL (L2)
    }

    public kotlinx.serialization.KSerializer[] childSerializers() {
        LABEL (L0)
        LINENUMBER (6)
          ICONST_2
          ANEWARRAY
          DUP
          ICONST_0
          GETSTATIC (INSTANCE, Lkotlinx/serialization/internal/StringSerializer;)
          CHECKCAST
          AASTORE
          DUP
          ICONST_1
          GETSTATIC (INSTANCE, Lkotlinx/serialization/internal/StringSerializer;)
          CHECKCAST
          AASTORE
          ARETURN
        LABEL (L1)
    }

    public User deserialize(kotlinx.serialization.Decoder decoder) {
        LABEL (L0)
          ALOAD (1)
          LDC (decoder)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (6)
          ALOAD (0)
          INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
          ASTORE (2)
          ICONST_1
          ISTORE (3)
          ICONST_0
          ISTORE (4)
          ICONST_0
          ISTORE (5)
          ACONST_NULL
          ASTORE (6)
          ACONST_NULL
          ASTORE (7)
          ALOAD (1)
          ALOAD (2)
          ICONST_0
          ANEWARRAY
          INVOKEINTERFACE (kotlinx/serialization/Decoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeDecoder;)
          ASTORE (8)
        LABEL (L2)
          ILOAD (3)
          IFEQ (L3)
          ALOAD (8)
          ALOAD (2)
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/SerialDescriptor;)I)
          ISTORE (4)
          ILOAD (4)
          TABLESWITCH
        LABEL (L4)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, throwNpe, ()V)
          GOTO (L5)
        LABEL (L6)
          ICONST_0
          ISTORE (3)
          GOTO (L5)
        LABEL (L7)
          ALOAD (8)
          ALOAD (2)
          ICONST_0
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/SerialDescriptor;I)Ljava/lang/String;)
          CHECKCAST
          ASTORE (6)
          ILOAD (5)
          ICONST_1
          IOR
          ISTORE (5)
          GOTO (L5)
        LABEL (L8)
          ALOAD (8)
          ALOAD (2)
          ICONST_1
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/SerialDescriptor;I)Ljava/lang/String;)
          CHECKCAST
          ASTORE (7)
          ILOAD (5)
          ICONST_2
          IOR
          ISTORE (5)
          GOTO (L5)
        LABEL (L9)
          NEW
          DUP
          ILOAD (4)
          INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
          CHECKCAST
          ATHROW
        LABEL (L5)
        LINENUMBER (7)
          GOTO (L2)
        LABEL (L3)
          ALOAD (8)
          ALOAD (2)
        LABEL (L10)
        LINENUMBER (6)
          INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
          NEW
          DUP
          ILOAD (5)
          ALOAD (6)
          CHECKCAST
          ALOAD (7)
          CHECKCAST
          ACONST_NULL
          CHECKCAST
          INVOKESPECIAL (User, <init>, (ILjava/lang/String;Ljava/lang/String;Lkotlinx/serialization/SerializationConstructorMarker;)V)
          ARETURN
        LABEL (L11)
    }

    public java.lang.Object deserialize(kotlinx.serialization.Decoder decoder) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          INVOKEVIRTUAL (User$$serializer, deserialize, (Lkotlinx/serialization/Decoder;)LUser;)
          ARETURN
        LABEL (L1)
    }

    public kotlinx.serialization.SerialDescriptor getDescriptor()

    public User patch(kotlinx.serialization.Decoder decoder, User old)

    public java.lang.Object patch(kotlinx.serialization.Decoder decoder, java.lang.Object old)

    public void serialize(kotlinx.serialization.Encoder encoder, User obj) {
        LABEL (L0)
          ALOAD (1)
          LDC (encoder)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (2)
          LDC (obj)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L1)
        LINENUMBER (6)
          ALOAD (0)
          INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
          ASTORE (3)
          ALOAD (1)
          ALOAD (3)
          ICONST_0
          ANEWARRAY
          INVOKEINTERFACE (kotlinx/serialization/Encoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeEncoder;)
          ASTORE (4)
          ALOAD (4)
          ALOAD (3)
          ICONST_0
          ALOAD (2)
          GETFIELD (firstName, Ljava/lang/String;)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeStringElement, (Lkotlinx/serialization/SerialDescriptor;ILjava/lang/String;)V)
          ALOAD (4)
          ALOAD (3)
          ICONST_1
          ALOAD (2)
          GETFIELD (lastName, Ljava/lang/String;)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeStringElement, (Lkotlinx/serialization/SerialDescriptor;ILjava/lang/String;)V)
          ALOAD (4)
          ALOAD (3)
          INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
          RETURN
        LABEL (L2)
    }

    public void serialize(kotlinx.serialization.Encoder encoder, java.lang.Object obj) {
        LABEL (L0)
          ALOAD (0)
          ALOAD (1)
          ALOAD (2)
          CHECKCAST
          INVOKEVIRTUAL (User$$serializer, serialize, (Lkotlinx/serialization/Encoder;LUser;)V)
          RETURN
        LABEL (L1)
    }
}

public final class User$Companion : java/lang/Object {
    private void <init>() {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (6)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          RETURN
        LABEL (L2)
    }

    public void <init>(kotlin.jvm.internal.DefaultConstructorMarker marker) {
        LABEL (L0)
          ALOAD (0)
          INVOKESPECIAL (User$Companion, <init>, ()V)
          RETURN
        LABEL (L1)
    }

    public final kotlinx.serialization.KSerializer serializer()
}

public final class User : java/lang/Object {
    public final static User$Companion Companion

    public final java.lang.String firstName

    public final java.lang.String lastName

    public final static void <clinit>() {
          NEW
          DUP
          ACONST_NULL
          INVOKESPECIAL (User$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
          PUTSTATIC (Companion, LUser$Companion;)
          RETURN
    }

    public void <init>(java.lang.String firstName, java.lang.String lastName) {
        LABEL (L0)
          ALOAD (1)
          LDC (firstName)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (2)
          LDC (lastName)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (6)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
        LABEL (L2)
        LINENUMBER (7)
          ALOAD (0)
          ALOAD (1)
          PUTFIELD (firstName, Ljava/lang/String;)
          ALOAD (0)
          ALOAD (2)
          PUTFIELD (lastName, Ljava/lang/String;)
          RETURN
        LABEL (L3)
    }

    public void <init>(int seen1, java.lang.String firstName, java.lang.String lastName, kotlinx.serialization.SerializationConstructorMarker serializationConstructorMarker) {
        LABEL (L0)
          ALOAD (0)
        LABEL (L1)
        LINENUMBER (6)
          INVOKESPECIAL (java/lang/Object, <init>, ()V)
          ICONST_0
          ILOAD (1)
          ICONST_1
          IAND
          IF_ICMPNE (L2)
          NEW
          DUP
          LDC (firstName)
          INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
          CHECKCAST
          ATHROW
        LABEL (L2)
          ALOAD (0)
          ALOAD (2)
          PUTFIELD (firstName, Ljava/lang/String;)
        LABEL (L3)
        LINENUMBER (7)
          NOP
        LABEL (L4)
        LINENUMBER (6)
          ICONST_0
          ILOAD (1)
          ICONST_2
          IAND
          IF_ICMPNE (L5)
          NEW
          DUP
          LDC (lastName)
          INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
          CHECKCAST
          ATHROW
        LABEL (L5)
          ALOAD (0)
          ALOAD (3)
          PUTFIELD (lastName, Ljava/lang/String;)
        LABEL (L6)
        LINENUMBER (7)
          RETURN
        LABEL (L7)
    }

    public final java.lang.String getFirstName()

    public final java.lang.String getLastName()
}