public class java.io.ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.io.ObjectInputStream
  super_class: java.io.InputStream
{
  private static final int NULL_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.lang.Object unsharedMarker;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.String, java.lang.Class<?>> primClasses;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;

  private final java.io.ObjectInputStream$BlockDataInputStream bin;
    descriptor: Ljava/io/ObjectInputStream$BlockDataInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.ObjectInputStream$ValidationList vlist;
    descriptor: Ljava/io/ObjectInputStream$ValidationList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long depth;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long totalObjectRefs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.io.ObjectInputStream$HandleTable handles;
    descriptor: Ljava/io/ObjectInputStream$HandleTable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int passHandle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean defaultDataEnd;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final boolean enableOverride;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean enableResolve;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.io.SerialCallbackContext curContext;
    descriptor: Ljava/io/SerialCallbackContext;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectInputFilter serialFilter;
    descriptor: Ljava/io/ObjectInputFilter;
    flags: (0x0002) ACC_PRIVATE

  private static final jdk.internal.misc.Unsafe UNSAFE;
    descriptor: Ljdk/internal/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=18, locals=0, args_size=0
         0: .line 266
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.io.ObjectInputStream.$assertionsDisabled:Z
         3: .line 273
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
         4: .line 280
            ldc "boolean"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
         5: .line 281
            ldc "byte"
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
         6: .line 282
            ldc "char"
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
         7: .line 283
            ldc "short"
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
         8: .line 284
            ldc "int"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
         9: .line 285
            ldc "long"
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
        10: .line 286
            ldc "float"
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
        11: .line 287
            ldc "double"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
        12: .line 288
            ldc "void"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
        13: .line 280
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
        14: .line 279
            putstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
        15: .line 2946
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            putstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
        16: .line 4171
            invokedynamic checkArray()Ljdk/internal/access/JavaObjectInputStreamAccess;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
                  java/io/ObjectInputStream.checkArray(Ljava/lang/Class;I)V (7)
                  (Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
            invokestatic jdk.internal.access.SharedSecrets.setJavaObjectInputStreamAccess:(Ljdk/internal/access/JavaObjectInputStreamAccess;)V
        17: .line 4172
            invokedynamic readString()Ljdk/internal/access/JavaObjectInputStreamReadString;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
                  java/io/ObjectInputStream.readString()Ljava/lang/String; (7)
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
            invokestatic jdk.internal.access.SharedSecrets.setJavaObjectInputStreamReadString:(Ljdk/internal/access/JavaObjectInputStreamReadString;)V
        18: .line 4173
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.InputStream in
         0: .line 396
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 349
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 351
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 397
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.verifySubclass:()V
         4: .line 398
            aload 0 /* this */
            new java.io.ObjectInputStream$BlockDataInputStream
            dup
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.ObjectInputStream$BlockDataInputStream.<init>:(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         5: .line 399
            aload 0 /* this */
            new java.io.ObjectInputStream$HandleTable
            dup
            bipush 10
            invokespecial java.io.ObjectInputStream$HandleTable.<init>:(I)V
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         6: .line 400
            aload 0 /* this */
            new java.io.ObjectInputStream$ValidationList
            dup
            invokespecial java.io.ObjectInputStream$ValidationList.<init>:()V
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         7: .line 401
            aload 0 /* this */
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
         8: .line 402
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.enableOverride:Z
         9: .line 403
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readStreamHeader:()V
        10: .line 404
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 405
            return
        end local 1 // java.io.InputStream in
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            0   12     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 427
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 349
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 351
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 428
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         4: .line 429
            aload 1 /* sm */
            ifnull 6
         5: .line 430
            aload 1 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 432
      StackMap locals: java.io.ObjectInputStream java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         7: .line 433
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         8: .line 434
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         9: .line 435
            aload 0 /* this */
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
        10: .line 436
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.enableOverride:Z
        11: .line 437
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            4   12     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException

  public final java.lang.Object readObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 475
            aload 0 /* this */
            ldc Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  private java.lang.String readString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 487
            aload 0 /* this */
            ldc Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.String
         1: areturn
         2: .line 488
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* cnf */
        start local 1 // java.lang.ClassNotFoundException cnf
         3: .line 489
            new java.lang.IllegalStateException
            dup
            aload 1 /* cnf */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException cnf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            3    4     1   cnf  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException

  private final  readObject(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
         0: .line 507
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableOverride:Z
            ifeq 2
         1: .line 508
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readObjectOverride:()Ljava/lang/Object;
            areturn
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/Object;
            if_acmpeq 4
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpeq 4
         3: .line 512
            new java.lang.AssertionError
            dup
            ldc "internal error"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 2 /* outerHandle */
        start local 2 // int outerHandle
         5: .line 517
            aload 0 /* this */
            aload 1 /* type */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         6: .line 518
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 2 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         7: .line 519
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 4 /* ex */
        start local 4 // java.lang.ClassNotFoundException ex
         8: .line 520
            aload 4 /* ex */
            ifnull 10
         9: .line 521
            aload 4 /* ex */
            athrow
        10: .line 523
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 13
        11: .line 524
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
        12: .line 525
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.freeze:()V
        13: .line 527
      StackMap locals:
      StackMap stack:
            aload 3 /* obj */
            astore 6
        14: .line 529
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        15: .line 530
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 17
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 17
        16: .line 531
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        17: .line 527
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 6
            areturn
        end local 4 // java.lang.ClassNotFoundException ex
        end local 3 // java.lang.Object obj
        18: .line 528
      StackMap locals: java.io.ObjectInputStream java.lang.Class int
      StackMap stack: java.lang.Throwable
            astore 5
        19: .line 529
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        20: .line 530
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 22
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 22
        21: .line 531
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        22: .line 533
      StackMap locals: java.io.ObjectInputStream java.lang.Class int top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 2 // int outerHandle
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Ljava/io/ObjectInputStream;
            0   23     1         type  Ljava/lang/Class<*>;
            5   23     2  outerHandle  I
            6   18     3          obj  Ljava/lang/Object;
            8   18     4           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           5    14      18  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.Object readObjectOverride();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 556
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.lang.Object readUnshared();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 610
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* outerHandle */
        start local 1 // int outerHandle
         1: .line 612
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_1
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         2: .line 613
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         3: .line 614
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 615
            aload 3 /* ex */
            ifnull 6
         5: .line 616
            aload 3 /* ex */
            athrow
         6: .line 618
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 9
         7: .line 619
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
         8: .line 620
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.freeze:()V
         9: .line 622
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            astore 5
        10: .line 624
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 625
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 13
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 13
        12: .line 626
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        13: .line 622
      StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.Object obj
        14: .line 623
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 624
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        16: .line 625
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 18
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 18
        17: .line 626
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        18: .line 628
      StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 1 // int outerHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Ljava/io/ObjectInputStream;
            1   19     1  outerHandle  I
            2   14     2          obj  Ljava/lang/Object;
            4   14     3           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1    10      14  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void defaultReadObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 646
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 647
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 648
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 650
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            astore 2 /* curObj */
        start local 2 // java.lang.Object curObj
         4: .line 651
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 3 /* curDesc */
        start local 3 // java.io.ObjectStreamClass curDesc
         5: .line 652
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 653
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 4 /* vals */
        start local 4 // java.io.ObjectInputStream$FieldValues vals
         7: .line 654
            aload 2 /* curObj */
            ifnull 10
         8: .line 655
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            aload 4 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
         9: .line 656
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            aload 4 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        10: .line 658
      StackMap locals: java.lang.Object java.io.ObjectStreamClass java.io.ObjectInputStream$FieldValues
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 659
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 13
        12: .line 665
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        13: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        14: .line 668
            aload 5 /* ex */
            ifnull 16
        15: .line 669
            aload 5 /* ex */
            athrow
        16: .line 671
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            return
        end local 5 // java.lang.ClassNotFoundException ex
        end local 4 // java.io.ObjectInputStream$FieldValues vals
        end local 3 // java.io.ObjectStreamClass curDesc
        end local 2 // java.lang.Object curObj
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Ljava/io/ObjectInputStream;
            1   17     1      ctx  Ljava/io/SerialCallbackContext;
            4   17     2   curObj  Ljava/lang/Object;
            5   17     3  curDesc  Ljava/io/ObjectStreamClass;
            7   17     4     vals  Ljava/io/ObjectInputStream$FieldValues;
           14   17     5       ex  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.io.ObjectInputStream$GetField readFields();
    descriptor: ()Ljava/io/ObjectInputStream$GetField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 689
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 690
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 691
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 693
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.checkAndSetUsed:()V
         4: .line 694
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 2 /* curDesc */
        start local 2 // java.io.ObjectStreamClass curDesc
         5: .line 695
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 696
            new java.io.ObjectInputStream$GetFieldImpl
            dup
            aload 0 /* this */
            aload 2 /* curDesc */
            invokespecial java.io.ObjectInputStream$GetFieldImpl.<init>:(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
            astore 3 /* getField */
        start local 3 // java.io.ObjectInputStream$GetFieldImpl getField
         7: .line 697
            aload 3 /* getField */
            invokevirtual java.io.ObjectInputStream$GetFieldImpl.readFields:()V
         8: .line 698
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         9: .line 699
            aload 2 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 11
        10: .line 705
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        11: .line 708
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream$GetFieldImpl
      StackMap stack:
            aload 3 /* getField */
            areturn
        end local 3 // java.io.ObjectInputStream$GetFieldImpl getField
        end local 2 // java.io.ObjectStreamClass curDesc
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/io/ObjectInputStream;
            1   12     1       ctx  Ljava/io/SerialCallbackContext;
            5   12     2   curDesc  Ljava/io/ObjectStreamClass;
            7   12     3  getField  Ljava/io/ObjectInputStream$GetFieldImpl;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void registerValidation(java.io.ObjectInputValidation, int);
    descriptor: (Ljava/io/ObjectInputValidation;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputValidation obj
        start local 2 // int prio
         0: .line 730
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 2
         1: .line 731
            new java.io.NotActiveException
            dup
            ldc "stream inactive"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            aload 1 /* obj */
            iload 2 /* prio */
            invokevirtual java.io.ObjectInputStream$ValidationList.register:(Ljava/io/ObjectInputValidation;I)V
         3: .line 734
            return
        end local 2 // int prio
        end local 1 // java.io.ObjectInputValidation obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            0    4     1   obj  Ljava/io/ObjectInputValidation;
            0    4     2  prio  I
    Exceptions:
      throws java.io.NotActiveException, java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      obj   
      prio  

  protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 778
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 780
            aload 2 /* name */
            iconst_0
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         2: areturn
         3: .line 781
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 782
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
            aload 2 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
         5: .line 783
            aload 4 /* cl */
            ifnull 7
         6: .line 784
            aload 4 /* cl */
            areturn
         7: .line 786
      StackMap locals: java.lang.ClassNotFoundException java.lang.Class
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 4 // java.lang.Class cl
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.String name
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectInputStream;
            0    8     1  desc  Ljava/io/ObjectStreamClass;
            1    8     2  name  Ljava/lang/String;
            4    8     3    ex  Ljava/lang/ClassNotFoundException;
            5    8     4    cl  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      desc  

  protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.String[] interfaces
         0: .line 846
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            astore 2 /* latestLoader */
        start local 2 // java.lang.ClassLoader latestLoader
         1: .line 847
            aconst_null
            astore 3 /* nonPublicLoader */
        start local 3 // java.lang.ClassLoader nonPublicLoader
         2: .line 848
            iconst_0
            istore 4 /* hasNonPublicInterface */
        start local 4 // boolean hasNonPublicInterface
         3: .line 851
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.Class
            astore 5 /* classObjs */
        start local 5 // java.lang.Class[] classObjs
         4: .line 852
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 17
         6: .line 853
      StackMap locals: java.io.ObjectInputStream java.lang.String[] java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
      StackMap stack:
            aload 1 /* interfaces */
            iload 6 /* i */
            aaload
            iconst_0
            aload 2 /* latestLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
         7: .line 854
            aload 7 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_1
            iand
            ifne 15
         8: .line 855
            iload 4 /* hasNonPublicInterface */
            ifeq 13
         9: .line 856
            aload 3 /* nonPublicLoader */
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 15
        10: .line 857
            new java.lang.IllegalAccessError
            dup
        11: .line 858
            ldc "conflicting non-public interface class loaders"
        12: .line 857
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 861
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* nonPublicLoader */
        14: .line 862
            iconst_1
            istore 4 /* hasNonPublicInterface */
        15: .line 865
      StackMap locals:
      StackMap stack:
            aload 5 /* classObjs */
            iload 6 /* i */
            aload 7 /* cl */
            aastore
        end local 7 // java.lang.Class cl
        16: .line 852
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 6
        end local 6 // int i
        18: .line 870
            iload 4 /* hasNonPublicInterface */
            ifeq 19
            aload 3 /* nonPublicLoader */
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 2 /* latestLoader */
        20: .line 871
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            aload 5 /* classObjs */
        21: .line 869
            invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
            astore 6 /* proxyClass */
        start local 6 // java.lang.Class proxyClass
        22: .line 872
            aload 6 /* proxyClass */
        23: areturn
        end local 6 // java.lang.Class proxyClass
        24: .line 873
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        25: .line 874
            new java.lang.ClassNotFoundException
            dup
            aconst_null
            aload 6 /* e */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        end local 5 // java.lang.Class[] classObjs
        end local 4 // boolean hasNonPublicInterface
        end local 3 // java.lang.ClassLoader nonPublicLoader
        end local 2 // java.lang.ClassLoader latestLoader
        end local 1 // java.lang.String[] interfaces
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   26     0                   this  Ljava/io/ObjectInputStream;
            0   26     1             interfaces  [Ljava/lang/String;
            1   26     2           latestLoader  Ljava/lang/ClassLoader;
            2   26     3        nonPublicLoader  Ljava/lang/ClassLoader;
            3   26     4  hasNonPublicInterface  Z
            4   26     5              classObjs  [Ljava/lang/Class;
            5   18     6                      i  I
            7   16     7                     cl  Ljava/lang/Class<*>;
           22   24     6             proxyClass  Ljava/lang/Class<*>;
           25   26     6                      e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          18    23      24  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      interfaces  

  protected java.lang.Object resolveObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 906
            aload 1 /* obj */
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  protected boolean enableResolveObject(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean enable
         0: .line 934
            iload 1 /* enable */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            if_icmpne 2
         1: .line 935
            iload 1 /* enable */
            ireturn
         2: .line 937
      StackMap locals:
      StackMap stack:
            iload 1 /* enable */
            ifeq 6
         3: .line 938
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 939
            aload 2 /* sm */
            ifnull 6
         5: .line 940
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBSTITUTION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.lang.SecurityManager sm
         6: .line 943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enable */
            putfield java.io.ObjectInputStream.enableResolve:Z
         7: .line 944
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 1 // boolean enable
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/io/ObjectInputStream;
            0   10     1  enable  Z
            4    6     2      sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      enable  

  protected void readStreamHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 960
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 1 /* s0 */
        start local 1 // short s0
         1: .line 961
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 2 /* s1 */
        start local 2 // short s1
         2: .line 962
            iload 1 /* s0 */
            sipush -21267
            if_icmpne 3
            iload 2 /* s1 */
            iconst_5
            if_icmpeq 6
         3: .line 963
      StackMap locals: int int
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         4: .line 964
            ldc "invalid stream header: %04X%04X"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* s0 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            iload 2 /* s1 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 963
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 966
      StackMap locals:
      StackMap stack:
            return
        end local 2 // short s1
        end local 1 // short s0
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/io/ObjectInputStream;
            1    7     1    s0  S
            2    7     2    s1  S
    Exceptions:
      throws java.io.IOException, java.io.StreamCorruptedException

  protected java.io.ObjectStreamClass readClassDescriptor();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 988
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 1 /* desc */
        start local 1 // java.io.ObjectStreamClass desc
         1: .line 989
            aload 1 /* desc */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.readNonProxy:(Ljava/io/ObjectInputStream;)V
         2: .line 990
            aload 1 /* desc */
            areturn
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;
            1    3     1  desc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1000
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1021
            aload 1 /* buf */
            ifnonnull 2
         1: .line 1022
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 1024
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         3: .line 1025
            iload 2 /* off */
            iflt 4
            iload 3 /* len */
            iflt 4
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 4
            iload 4 /* endoff */
            ifge 5
         4: .line 1026
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         5: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:([BIIZ)I
            ireturn
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/io/ObjectInputStream;
            0    6     1     buf  [B
            0    6     2     off  I
            0    6     3     len  I
            3    6     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1039
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.available:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1053
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.closed:Z
         1: .line 1054
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 3
         2: .line 1055
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.close:()V
         4: .line 1058
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public boolean readBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1068
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBoolean:()Z
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public byte readByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1079
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1090
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedByte:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public char readChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1101
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChar:()C
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public short readShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1112
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedShort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1123
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1134
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public long readLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1145
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLong:()J
            lreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public float readFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1156
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloat:()F
            freturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public double readDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1167
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDouble:()D
            dreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void readFully(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
         0: .line 1179
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iconst_0
            aload 1 /* buf */
            arraylength
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         1: .line 1180
            return
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;
            0    2     1   buf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   

  public void readFully(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1196
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         1: .line 1197
            iload 2 /* off */
            iflt 2
            iload 3 /* len */
            iflt 2
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 2
            iload 4 /* endoff */
            ifge 3
         2: .line 1198
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 1200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         4: .line 1201
            return
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/io/ObjectInputStream;
            0    5     1     buf  [B
            0    5     2     off  I
            0    5     3     len  I
            1    5     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int skipBytes(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // int len
         0: .line 1211
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 1 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBytes:(I)I
            ireturn
        end local 1 // int len
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   

  public java.lang.String readLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1225
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLine:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String readUTF();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1240
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public final java.io.ObjectInputFilter getObjectInputFilter();
    descriptor: ()Ljava/io/ObjectInputFilter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1254
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;

  public final void setObjectInputFilter(java.io.ObjectInputFilter);
    descriptor: (Ljava/io/ObjectInputFilter;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputFilter filter
         0: .line 1327
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1328
            aload 2 /* sm */
            ifnull 3
         2: .line 1329
            aload 2 /* sm */
            getstatic java.io.ObjectStreamConstants.SERIAL_FILTER_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1332
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            ifnull 6
         4: .line 1333
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            if_acmpeq 6
         5: .line 1334
            new java.lang.IllegalStateException
            dup
            ldc "filter can not be set more than once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_0
            lcmp
            ifle 10
            getstatic java.io.ObjectInputStream$Caches.SET_FILTER_AFTER_READ:Z
            ifne 10
         7: .line 1337
            new java.lang.IllegalStateException
            dup
         8: .line 1338
            ldc "filter can not be set after an object has been read"
         9: .line 1337
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filter */
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
        11: .line 1341
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.io.ObjectInputFilter filter
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/io/ObjectInputStream;
            0   12     1  filter  Ljava/io/ObjectInputFilter;
            1   12     2      sm  Ljava/lang/SecurityManager;
    MethodParameters:
        Name  Flags
      filter  

  private void filterCheck(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class clazz
        start local 2 // int arrayLength
         0: .line 1354
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            ifnull 25
         1: .line 1355
            aconst_null
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         2: .line 1358
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            ifnonnull 3
            lconst_0
            goto 4
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
         3: aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
      StackMap locals:
      StackMap stack: long
         4: lstore 5 /* bytesRead */
        start local 5 // long bytesRead
         5: .line 1360
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            new java.io.ObjectInputStream$FilterValues
            dup
            aload 1 /* clazz */
            iload 2 /* arrayLength */
            i2l
         6: .line 1361
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lload 5 /* bytesRead */
            invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
         7: .line 1360
            invokeinterface java.io.ObjectInputFilter.checkInput:(Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // java.io.ObjectInputFilter$Status status
         8: .line 1362
            goto 12
        end local 4 // java.io.ObjectInputFilter$Status status
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException top long
      StackMap stack: java.lang.RuntimeException
         9: astore 7 /* e */
        start local 7 // java.lang.RuntimeException e
        10: .line 1364
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // java.io.ObjectInputFilter$Status status
        11: .line 1365
            aload 7 /* e */
            astore 3 /* ex */
        end local 7 // java.lang.RuntimeException e
        12: .line 1367
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
            ifnull 20
        13: .line 1369
            getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
            aload 4 /* status */
            ifnull 14
            aload 4 /* status */
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            if_acmpne 15
        14: .line 1370
      StackMap locals:
      StackMap stack: java.lang.System$Logger
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            goto 16
        15: .line 1371
      StackMap locals:
      StackMap stack: java.lang.System$Logger
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
        16: .line 1372
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
      StackMap stack: java.lang.System$Logger java.lang.System$Logger$Level
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1373
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 5 /* bytesRead */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        18: .line 1374
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        19: .line 1369
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 1376
      StackMap locals:
      StackMap stack:
            aload 4 /* status */
            ifnull 22
        21: .line 1377
            aload 4 /* status */
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            if_acmpne 25
        22: .line 1378
      StackMap locals:
      StackMap stack:
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "filter status: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* status */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            astore 7 /* ice */
        start local 7 // java.io.InvalidClassException ice
        23: .line 1379
            aload 7 /* ice */
            aload 3 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        24: .line 1380
            aload 7 /* ice */
            athrow
        end local 7 // java.io.InvalidClassException ice
        end local 5 // long bytesRead
        end local 4 // java.io.ObjectInputFilter$Status status
        end local 3 // java.lang.RuntimeException ex
        25: .line 1383
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class clazz
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Ljava/io/ObjectInputStream;
            0   26     1        clazz  Ljava/lang/Class<*>;
            0   26     2  arrayLength  I
            2   25     3           ex  Ljava/lang/RuntimeException;
            8    9     4       status  Ljava/io/ObjectInputFilter$Status;
           11   25     4       status  Ljava/io/ObjectInputFilter$Status;
            5   25     5    bytesRead  J
           10   12     7            e  Ljava/lang/RuntimeException;
           23   25     7          ice  Ljava/io/InvalidClassException;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      clazz        
      arrayLength  

  private void checkArray(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class arrayType
        start local 2 // int arrayLength
         0: .line 1400
            aload 1 /* arrayType */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
         1: .line 1401
            new java.lang.IllegalArgumentException
            dup
            ldc "not an array type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1404
      StackMap locals:
      StackMap stack:
            iload 2 /* arrayLength */
            ifge 4
         3: .line 1405
            new java.lang.NegativeArraySizeException
            dup
            invokespecial java.lang.NegativeArraySizeException.<init>:()V
            athrow
         4: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arrayType */
            iload 2 /* arrayLength */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 1409
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class arrayType
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljava/io/ObjectInputStream;
            0    6     1    arrayType  Ljava/lang/Class<*>;
            0    6     2  arrayLength  I
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      arrayType    
      arrayLength  

  private void verifySubclass();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1575
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         1: .line 1576
            aload 1 /* cl */
            ldc Ljava/io/ObjectInputStream;
            if_acmpne 3
         2: .line 1577
            return
         3: .line 1579
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 1580
            aload 2 /* sm */
            ifnonnull 6
         5: .line 1581
            return
         6: .line 1583
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         7: .line 1584
            new java.io.ObjectStreamClass$WeakClassKey
            dup
            aload 1 /* cl */
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
            astore 3 /* key */
        start local 3 // java.io.ObjectStreamClass$WeakClassKey key
         8: .line 1585
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* result */
        start local 4 // java.lang.Boolean result
         9: .line 1586
            aload 4 /* result */
            ifnonnull 12
        10: .line 1587
            aload 1 /* cl */
            invokestatic java.io.ObjectInputStream.auditSubclass:(Ljava/lang/Class;)Ljava/lang/Boolean;
            astore 4 /* result */
        11: .line 1588
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 4 /* result */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1590
      StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 14
        13: .line 1591
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        14: .line 1593
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Boolean result
        end local 3 // java.io.ObjectStreamClass$WeakClassKey key
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljava/io/ObjectInputStream;
            1   15     1      cl  Ljava/lang/Class<*>;
            4   15     2      sm  Ljava/lang/SecurityManager;
            8   15     3     key  Ljava/io/ObjectStreamClass$WeakClassKey;
            9   15     4  result  Ljava/lang/Boolean;

  private static java.lang.Boolean auditSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class subcl
         0: .line 1602
            new java.io.ObjectInputStream$1
            dup
            aload 0 /* subcl */
            invokespecial java.io.ObjectInputStream$1.<init>:(Ljava/lang/Class;)V
         1: .line 1601
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            areturn
        end local 0 // java.lang.Class subcl
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  subcl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      subcl  

  private void clear();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1630
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.clear:()V
         1: .line 1631
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.clear:()V
         2: .line 1632
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;

  private  readObject0(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
        start local 2 // boolean unshared
         0: .line 1640
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            istore 3 /* oldMode */
        start local 3 // boolean oldMode
         1: .line 1641
            iload 3 /* oldMode */
            ifeq 11
         2: .line 1642
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
            istore 4 /* remain */
        start local 4 // int remain
         3: .line 1643
            iload 4 /* remain */
            ifle 5
         4: .line 1644
            new java.io.OptionalDataException
            dup
            iload 4 /* remain */
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
         5: .line 1645
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.defaultDataEnd:Z
            ifeq 7
         6: .line 1652
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
         7: .line 1654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        end local 4 // int remain
         8: .line 1658
            goto 11
        start local 4 // byte tc
         9: .line 1659
      StackMap locals: java.io.ObjectInputStream java.lang.Class int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
        10: .line 1660
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.handleReset:()V
        end local 4 // byte tc
        11: .line 1658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            dup
            istore 4 /* tc */
        start local 4 // byte tc
        12: bipush 121
            if_icmpeq 9
        13: .line 1663
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        14: .line 1664
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        15: .line 1666
            iload 4 /* tc */
            tableswitch { // 112 - 126
                  112: 16
                  113: 20
                  114: 30
                  115: 52
                  116: 36
                  117: 40
                  118: 24
                  119: 62
                  120: 71
                  121: 76
                  122: 62
                  123: 58
                  124: 36
                  125: 30
                  126: 46
              default: 76
          }
        16: .line 1668
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            astore 7
        17: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        18: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1668
            aload 7
            areturn
        20: .line 1672
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        21: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        22: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        23: .line 1672
            aload 7
            areturn
        24: .line 1675
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 26
        25: .line 1676
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
            astore 7
        27: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        28: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 1678
            aload 7
            areturn
        30: .line 1682
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 32
        31: .line 1683
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 7
        33: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        34: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        35: .line 1685
            aload 7
            areturn
        36: .line 1689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        37: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        39: .line 1689
            aload 7
            areturn
        40: .line 1692
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 42
        41: .line 1693
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an array to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        43: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        44: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        45: .line 1695
            aload 7
            areturn
        46: .line 1698
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 48
        47: .line 1699
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an enum to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        49: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        50: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        51: .line 1701
            aload 7
            areturn
        52: .line 1704
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 54
        53: .line 1705
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an object to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 1707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        55: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        56: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        57: .line 1707
            aload 7
            areturn
        58: .line 1710
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 60
        59: .line 1711
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an exception to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
        61: .line 1714
            new java.io.WriteAbortedException
            dup
            ldc "writing aborted"
            aload 5 /* ex */
            invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 5 // java.io.IOException ex
        62: .line 1718
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 68
        63: .line 1719
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        64: .line 1720
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
            pop
        65: .line 1721
            new java.io.OptionalDataException
            dup
        66: .line 1722
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
        67: .line 1721
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
        68: .line 1724
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        69: .line 1725
            ldc "unexpected block data"
        70: .line 1724
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        71: .line 1729
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 73
        72: .line 1730
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
        73: .line 1732
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        74: .line 1733
            ldc "unexpected end of block data"
        75: .line 1732
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        76: .line 1737
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        77: .line 1738
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        78: .line 1737
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        79: .line 1740
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        80: .line 1741
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        81: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        82: .line 1743
            aload 6
            athrow
        end local 4 // byte tc
        end local 3 // boolean oldMode
        end local 2 // boolean unshared
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   83     0      this  Ljava/io/ObjectInputStream;
            0   83     1      type  Ljava/lang/Class<*>;
            0   83     2  unshared  Z
            1   83     3   oldMode  Z
            3    8     4    remain  I
            9   11     4        tc  B
           12   83     4        tc  B
           61   62     5        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          15    17      79  any
          20    21      79  any
          24    27      79  any
          30    33      79  any
          36    37      79  any
          40    43      79  any
          46    49      79  any
          52    55      79  any
          58    79      79  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      type      
      unshared  

  private java.lang.Object checkResolve(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 1755
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 1
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 1756
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            areturn
         2: .line 1758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.io.ObjectInputStream.resolveObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rep */
        start local 2 // java.lang.Object rep
         3: .line 1759
            aload 2 /* rep */
            aload 1 /* obj */
            if_acmpeq 10
         4: .line 1762
            aload 2 /* rep */
            ifnull 9
         5: .line 1763
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 8
         6: .line 1764
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         7: .line 1765
            goto 9
         8: .line 1766
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         9: .line 1769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 2 /* rep */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        10: .line 1771
      StackMap locals:
      StackMap stack:
            aload 2 /* rep */
            areturn
        end local 2 // java.lang.Object rep
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/io/ObjectInputStream;
            0   11     1   obj  Ljava/lang/Object;
            3   11     2   rep  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.String readTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1779
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 1781
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         2: .line 1782
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 3
                  113: 6
                  116: 9
                  124: 9
              default: 12
          }
         3: .line 1784
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         4: .line 1798
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         5: .line 1784
            aload 4
            areturn
         6: .line 1787
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         7: .line 1798
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         8: .line 1787
            aload 4
            areturn
         9: .line 1791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 4
        10: .line 1798
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 1791
            aload 4
            areturn
        12: .line 1794
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        13: .line 1795
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 1794
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte tc
        15: .line 1797
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 3
        16: .line 1798
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        17: .line 1799
            aload 3
            athrow
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/io/ObjectInputStream;
            1   18     1  oldHandle  I
            2   15     2         tc  B
      Exception table:
        from    to  target  type
           1     4      15  any
           6     7      15  any
           9    10      15  any
          12    15      15  any
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1806
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 112
            if_icmpeq 2
         1: .line 1807
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1810
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readHandle(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1818
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 113
            if_icmpeq 2
         1: .line 1819
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ldc 8257536
            isub
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1822
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            iflt 4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.size:()I
            if_icmplt 9
         4: .line 1823
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         5: .line 1824
            ldc "invalid handle value: %08X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
         6: .line 1825
            ldc 8257536
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1824
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1823
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1827
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifeq 13
        10: .line 1829
            new java.io.InvalidObjectException
            dup
        11: .line 1830
            ldc "cannot read back reference as unshared"
        12: .line 1829
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupObject:(I)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
        14: .line 1834
            aload 2 /* obj */
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            if_acmpne 18
        15: .line 1836
            new java.io.InvalidObjectException
            dup
        16: .line 1837
            ldc "cannot read back reference to unshared object"
        17: .line 1836
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1839
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        19: .line 1840
            aload 2 /* obj */
            areturn
        end local 2 // java.lang.Object obj
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/io/ObjectInputStream;
            0   20     1  unshared  Z
           14   20     2       obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Class<?> readClass(boolean);
    descriptor: (Z)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1850
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 118
            if_icmpeq 2
         1: .line 1851
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1854
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         4: .line 1855
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 5
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 6
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
         5: aload 3 /* cl */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
         6: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1857
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         8: .line 1858
            aload 4 /* resolveEx */
            ifnull 10
         9: .line 1859
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        10: .line 1862
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        11: .line 1863
            aload 3 /* cl */
            areturn
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            0   12     1   unshared  Z
            3   12     2       desc  Ljava/io/ObjectStreamClass;
            4   12     3         cl  Ljava/lang/Class<*>;
            8   12     4  resolveEx  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readClassDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1875
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         1: .line 1877
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 2
                  113: 4
                  114: 9
                  125: 7
              default: 11
          }
         2: .line 1879
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         3: .line 1880
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         4: .line 1882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         5: .line 1884
            aload 3 /* descriptor */
            invokevirtual java.io.ObjectStreamClass.checkInitialized:()V
         6: .line 1885
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         7: .line 1887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         8: .line 1888
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         9: .line 1890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
        10: .line 1891
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
        11: .line 1893
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        12: .line 1894
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 1893
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.io.ObjectStreamClass descriptor
        14: .line 1896
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 3 /* descriptor */
            areturn
        end local 3 // java.io.ObjectStreamClass descriptor
        end local 2 // byte tc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljava/io/ObjectInputStream;
            0   15     1    unshared  Z
            1   15     2          tc  B
            3    4     3  descriptor  Ljava/io/ObjectStreamClass;
            5    7     3  descriptor  Ljava/io/ObjectStreamClass;
            8    9     3  descriptor  Ljava/io/ObjectStreamClass;
           10   11     3  descriptor  Ljava/io/ObjectStreamClass;
           14   15     3  descriptor  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private boolean isCustomSubclass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1901
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 1902
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1901
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;

  private java.io.ObjectStreamClass readProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1914
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 125
            if_icmpeq 2
         1: .line 1915
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1918
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1919
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1920
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1922
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 4 /* numIfaces */
        start local 4 // int numIfaces
         8: .line 1923
            iload 4 /* numIfaces */
            ldc 65535
            if_icmple 12
         9: .line 1924
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "interface limit exceeded: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1925
            iload 4 /* numIfaces */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1924
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1927
      StackMap locals: int int
      StackMap stack:
            iload 4 /* numIfaces */
            anewarray java.lang.String
            astore 5 /* ifaces */
        start local 5 // java.lang.String[] ifaces
        13: .line 1928
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 1929
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* ifaces */
            iload 6 /* i */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            aastore
        16: .line 1928
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* numIfaces */
            if_icmplt 15
        end local 6 // int i
        18: .line 1932
            aconst_null
            astore 6 /* cl */
        start local 6 // java.lang.Class cl
        19: .line 1933
            aconst_null
            astore 7 /* resolveEx */
        start local 7 // java.lang.ClassNotFoundException resolveEx
        20: .line 1934
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        21: .line 1936
            aload 0 /* this */
            aload 5 /* ifaces */
            invokevirtual java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
            dup
            astore 6 /* cl */
            ifnonnull 24
        22: .line 1937
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 7 /* resolveEx */
        23: .line 1938
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack:
        24: aload 6 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 26
        25: .line 1939
            new java.io.InvalidClassException
            dup
            ldc "Not a proxy"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1945
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        27: .line 1946
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
        28: .line 1944
            invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
        29: .line 1948
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException top int int java.lang.Class[]
      StackMap stack:
        30: aload 11
            iload 9
            aaload
            astore 8 /* clazz */
        start local 8 // java.lang.Class clazz
        31: .line 1949
            aload 0 /* this */
            aload 8 /* clazz */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        end local 8 // java.lang.Class clazz
        32: .line 1948
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 30
        34: .line 1952
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack: java.lang.ClassNotFoundException
        35: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        36: .line 1953
            aload 8 /* ex */
            astore 7 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        37: .line 1957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        38: .line 1959
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        39: .line 1962
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        40: .line 1963
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        41: .line 1964
            aload 2 /* desc */
            aload 6 /* cl */
            aload 7 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        42: .line 1965
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 8
        44: .line 1966
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        45: .line 1967
            aload 8
            athrow
        46: .line 1966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        47: .line 1969
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        48: .line 1970
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        49: .line 1971
            aload 2 /* desc */
            areturn
        end local 7 // java.lang.ClassNotFoundException resolveEx
        end local 6 // java.lang.Class cl
        end local 5 // java.lang.String[] ifaces
        end local 4 // int numIfaces
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0        this  Ljava/io/ObjectInputStream;
            0   50     1    unshared  Z
            3   50     2        desc  Ljava/io/ObjectStreamClass;
            6   50     3  descHandle  I
            8   50     4   numIfaces  I
           13   50     5      ifaces  [Ljava/lang/String;
           14   18     6           i  I
           19   50     6          cl  Ljava/lang/Class<*>;
           20   50     7   resolveEx  Ljava/lang/ClassNotFoundException;
           31   32     8       clazz  Ljava/lang/Class<*>;
           36   37     8          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          21    34      35  Class java.lang.ClassNotFoundException
          39    43      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readNonProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1983
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 114
            if_icmpeq 2
         1: .line 1984
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1987
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1988
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1989
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1993
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
            astore 4 /* readDesc */
        start local 4 // java.io.ObjectStreamClass readDesc
         8: .line 1994
            goto 15
        end local 4 // java.io.ObjectStreamClass readDesc
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int
      StackMap stack: java.lang.ClassNotFoundException
         9: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        10: .line 1995
            new java.io.InvalidClassException
            dup
        11: .line 1996
            ldc "failed to read class descriptor"
        12: .line 1995
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
        13: .line 1996
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        14: .line 1995
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.ClassNotFoundException ex
        start local 4 // java.io.ObjectStreamClass readDesc
        15: .line 1999
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aconst_null
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        16: .line 2000
            aconst_null
            astore 6 /* resolveEx */
        start local 6 // java.lang.ClassNotFoundException resolveEx
        17: .line 2001
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        18: .line 2002
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
            istore 7 /* checksRequired */
        start local 7 // boolean checksRequired
        19: .line 2004
            aload 0 /* this */
            aload 4 /* readDesc */
            invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
            dup
            astore 5 /* cl */
            ifnonnull 22
        20: .line 2005
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 6 /* resolveEx */
        21: .line 2006
            goto 27
      StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
      StackMap stack:
        22: iload 7 /* checksRequired */
            ifeq 27
        23: .line 2007
            aload 5 /* cl */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        24: .line 2009
            goto 27
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        25: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        26: .line 2010
            aload 8 /* ex */
            astore 6 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        27: .line 2014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        28: .line 2016
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        29: .line 2019
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        30: .line 2020
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        31: .line 2021
            aload 2 /* desc */
            aload 4 /* readDesc */
            aload 5 /* cl */
            aload 6 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        32: .line 2022
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 8
        34: .line 2023
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        35: .line 2024
            aload 8
            athrow
        36: .line 2023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        37: .line 2026
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        38: .line 2027
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        39: .line 2029
            aload 2 /* desc */
            areturn
        end local 7 // boolean checksRequired
        end local 6 // java.lang.ClassNotFoundException resolveEx
        end local 5 // java.lang.Class cl
        end local 4 // java.io.ObjectStreamClass readDesc
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Ljava/io/ObjectInputStream;
            0   40     1        unshared  Z
            3   40     2            desc  Ljava/io/ObjectStreamClass;
            6   40     3      descHandle  I
            8    9     4        readDesc  Ljava/io/ObjectStreamClass;
           15   40     4        readDesc  Ljava/io/ObjectStreamClass;
           10   15     5              ex  Ljava/lang/ClassNotFoundException;
           16   40     5              cl  Ljava/lang/Class<*>;
           17   40     6       resolveEx  Ljava/lang/ClassNotFoundException;
           19   40     7  checksRequired  Z
           26   27     8              ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.ClassNotFoundException
          19    24      25  Class java.lang.ClassNotFoundException
          29    33      33  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.String readString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2038
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            istore 3 /* tc */
        start local 3 // byte tc
         1: .line 2039
            iload 3 /* tc */
            lookupswitch { // 2
                  116: 2
                  124: 4
              default: 6
          }
         2: .line 2041
      StackMap locals: java.io.ObjectInputStream int top int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 2042
            goto 9
        end local 2 // java.lang.String str
         4: .line 2045
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         5: .line 2046
            goto 9
        end local 2 // java.lang.String str
         6: .line 2049
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         7: .line 2050
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 2049
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String str
         9: .line 2052
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 10
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 11
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        10: aload 2 /* str */
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        11: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        12: .line 2053
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        13: .line 2054
            aload 2 /* str */
            areturn
        end local 3 // byte tc
        end local 2 // java.lang.String str
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/io/ObjectInputStream;
            0   14     1  unshared  Z
            3    4     2       str  Ljava/lang/String;
            5    6     2       str  Ljava/lang/String;
            9   14     2       str  Ljava/lang/String;
            1   14     3        tc  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readArray(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2062
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 117
            if_icmpeq 2
         1: .line 2063
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2067
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 3 /* len */
        start local 3 // int len
         4: .line 2069
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 2071
            aconst_null
            astore 4 /* array */
        start local 4 // java.lang.Object array
         6: .line 2072
            aconst_null
            astore 6 /* ccl */
        start local 6 // java.lang.Class ccl
         7: .line 2073
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            dup
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
         8: ifnull 11
         9: .line 2074
            aload 5 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* ccl */
        10: .line 2075
            aload 6 /* ccl */
            iload 3 /* len */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* array */
        11: .line 2078
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 12
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 13
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
        12: aload 4 /* array */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
        13: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 7 /* arrayHandle */
        start local 7 // int arrayHandle
        14: .line 2079
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 8 /* resolveEx */
        start local 8 // java.lang.ClassNotFoundException resolveEx
        15: .line 2080
            aload 8 /* resolveEx */
            ifnull 17
        16: .line 2081
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 8 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        17: .line 2084
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 6 /* ccl */
            ifnonnull 24
        18: .line 2085
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 2086
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        21: .line 2085
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* len */
            if_icmplt 20
        end local 9 // int i
        23: .line 2088
            goto 57
      StackMap locals:
      StackMap stack:
        24: aload 6 /* ccl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 50
        25: .line 2089
            aload 6 /* ccl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 2090
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast int[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInts:([III)V
        27: .line 2091
            goto 57
      StackMap locals:
      StackMap stack:
        28: aload 6 /* ccl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 31
        29: .line 2092
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast byte[]
            iconst_0
            iload 3 /* len */
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
        30: .line 2093
            goto 57
      StackMap locals:
      StackMap stack:
        31: aload 6 /* ccl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 34
        32: .line 2094
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast long[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongs:([JII)V
        33: .line 2095
            goto 57
      StackMap locals:
      StackMap stack:
        34: aload 6 /* ccl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 37
        35: .line 2096
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast float[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloats:([FII)V
        36: .line 2097
            goto 57
      StackMap locals:
      StackMap stack:
        37: aload 6 /* ccl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 40
        38: .line 2098
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast double[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDoubles:([DII)V
        39: .line 2099
            goto 57
      StackMap locals:
      StackMap stack:
        40: aload 6 /* ccl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 43
        41: .line 2100
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast short[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShorts:([SII)V
        42: .line 2101
            goto 57
      StackMap locals:
      StackMap stack:
        43: aload 6 /* ccl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 46
        44: .line 2102
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast char[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChars:([CII)V
        45: .line 2103
            goto 57
      StackMap locals:
      StackMap stack:
        46: aload 6 /* ccl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 49
        47: .line 2104
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast boolean[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBooleans:([ZII)V
        48: .line 2105
            goto 57
        49: .line 2106
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        50: .line 2109
      StackMap locals:
      StackMap stack:
            aload 4 /* array */
            checkcast java.lang.Object[]
            astore 9 /* oa */
        start local 9 // java.lang.Object[] oa
        51: .line 2110
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        52: goto 56
        53: .line 2111
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 9 /* oa */
            iload 10 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        54: .line 2112
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        55: .line 2110
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 10 /* i */
            iload 3 /* len */
            if_icmplt 53
        end local 10 // int i
        end local 9 // java.lang.Object[] oa
        57: .line 2116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        58: .line 2117
            aload 0 /* this */
            iload 7 /* arrayHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        59: .line 2118
            aload 4 /* array */
            areturn
        end local 8 // java.lang.ClassNotFoundException resolveEx
        end local 7 // int arrayHandle
        end local 6 // java.lang.Class ccl
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.Object array
        end local 3 // int len
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   60     0         this  Ljava/io/ObjectInputStream;
            0   60     1     unshared  Z
            3   60     2         desc  Ljava/io/ObjectStreamClass;
            4   60     3          len  I
            6   60     4        array  Ljava/lang/Object;
            8   60     5           cl  Ljava/lang/Class<*>;
            7   60     6          ccl  Ljava/lang/Class<*>;
           14   60     7  arrayHandle  I
           15   60     8    resolveEx  Ljava/lang/ClassNotFoundException;
           19   23     9            i  I
           51   57     9           oa  [Ljava/lang/Object;
           52   57    10            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Enum<?> readEnum(boolean);
    descriptor: (Z)Ljava/lang/Enum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2126
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 126
            if_icmpeq 2
         1: .line 2127
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2131
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isEnum:()Z
            ifne 5
         4: .line 2132
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "non-enum class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2135
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 6
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 7
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
         6: aconst_null
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         7: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* enumHandle */
        start local 3 // int enumHandle
         8: .line 2136
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         9: .line 2137
            aload 4 /* resolveEx */
            ifnull 11
        10: .line 2138
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        11: .line 2141
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        12: .line 2142
            aconst_null
            astore 6 /* result */
        start local 6 // java.lang.Enum result
        13: .line 2143
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
        14: .line 2144
            aload 7 /* cl */
            ifnull 28
        15: .line 2147
            aload 7 /* cl */
            aload 5 /* name */
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 8 /* en */
        start local 8 // java.lang.Enum en
        16: .line 2148
            aload 8 /* en */
            astore 6 /* result */
        end local 8 // java.lang.Enum en
        17: .line 2149
            goto 26
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.ClassNotFoundException java.lang.String java.lang.Enum java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
        18: astore 8 /* ex */
        start local 8 // java.lang.IllegalArgumentException ex
        19: .line 2150
            new java.io.InvalidObjectException
            dup
        20: .line 2151
            new java.lang.StringBuilder
            dup
            ldc "enum constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 2152
            aload 7 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        22: .line 2151
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 2150
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
        24: .line 2152
            aload 8 /* ex */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        25: .line 2150
            checkcast java.io.IOException
            athrow
        end local 8 // java.lang.IllegalArgumentException ex
        26: .line 2154
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifne 28
        27: .line 2155
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 6 /* result */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        28: .line 2159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        29: .line 2160
            aload 0 /* this */
            iload 3 /* enumHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        30: .line 2161
            aload 6 /* result */
            areturn
        end local 7 // java.lang.Class cl
        end local 6 // java.lang.Enum result
        end local 5 // java.lang.String name
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // int enumHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Ljava/io/ObjectInputStream;
            0   31     1    unshared  Z
            3   31     2        desc  Ljava/io/ObjectStreamClass;
            8   31     3  enumHandle  I
            9   31     4   resolveEx  Ljava/lang/ClassNotFoundException;
           12   31     5        name  Ljava/lang/String;
           13   31     6      result  Ljava/lang/Enum<*>;
           14   31     7          cl  Ljava/lang/Class<*>;
           16   17     8          en  Ljava/lang/Enum<*>;
           19   26     8          ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          15    17      18  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Enum<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private static boolean isRecord(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class cls
         0: .line 2166
            aload 0 /* cls */
            invokevirtual java.lang.Class.isRecord:()Z
            ireturn
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   cls  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      cls   

  private java.lang.Object readOrdinaryObject(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2179
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 115
            if_icmpeq 2
         1: .line 2180
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2184
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.checkDeserialize:()V
         4: .line 2186
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         5: .line 2187
            aload 3 /* cl */
            ldc Ljava/lang/String;
            if_acmpeq 7
            aload 3 /* cl */
            ldc Ljava/lang/Class;
            if_acmpeq 7
         6: .line 2188
            aload 3 /* cl */
            ldc Ljava/io/ObjectStreamClass;
            if_acmpne 8
         7: .line 2189
      StackMap locals: java.io.ObjectStreamClass java.lang.Class
      StackMap stack:
            new java.io.InvalidClassException
            dup
            ldc "invalid class descriptor"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2194
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isInstantiable:()Z
            ifeq 9
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.newInstance:()Ljava/lang/Object;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 4 /* obj */
        start local 4 // java.lang.Object obj
        11: .line 2195
            goto 19
        end local 4 // java.lang.Object obj
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        13: .line 2196
            new java.io.InvalidClassException
            dup
        14: .line 2197
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 2198
            ldc "unable to create instance"
        16: .line 2196
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 2198
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 2196
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // java.lang.Object obj
        19: .line 2201
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 20
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 21
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        20: aload 4 /* obj */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        21: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        22: .line 2202
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 5 /* resolveEx */
        start local 5 // java.lang.ClassNotFoundException resolveEx
        23: .line 2203
            aload 5 /* resolveEx */
            ifnull 25
        24: .line 2204
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        25: .line 2207
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 3 /* cl */
            ifnull 26
            aload 3 /* cl */
            invokestatic java.io.ObjectInputStream.isRecord:(Ljava/lang/Class;)Z
            ifeq 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 6 /* isRecord */
        start local 6 // boolean isRecord
        28: .line 2208
            iload 6 /* isRecord */
            ifeq 33
        29: .line 2209
            getstatic java.io.ObjectInputStream.$assertionsDisabled:Z
            ifne 30
            aload 4 /* obj */
            ifnull 30
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        30: .line 2210
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readRecord:(Ljava/io/ObjectStreamClass;)Ljava/lang/Object;
            astore 4 /* obj */
        31: .line 2211
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        32: .line 2212
            goto 37
      StackMap locals:
      StackMap stack:
        33: aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
            ifeq 36
        34: .line 2213
            aload 0 /* this */
            aload 4 /* obj */
            checkcast java.io.Externalizable
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
        35: .line 2214
            goto 37
        36: .line 2215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* obj */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        37: .line 2218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        38: .line 2220
            aload 4 /* obj */
            ifnull 51
        39: .line 2221
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 51
        40: .line 2222
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
            ifeq 51
        41: .line 2224
            aload 2 /* desc */
            aload 4 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* rep */
        start local 7 // java.lang.Object rep
        42: .line 2225
            iload 1 /* unshared */
            ifeq 44
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 44
        43: .line 2226
            aload 7 /* rep */
            invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* rep */
        44: .line 2228
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* rep */
            aload 4 /* obj */
            if_acmpeq 51
        45: .line 2230
            aload 7 /* rep */
            ifnull 50
        46: .line 2231
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 49
        47: .line 2232
            aload 0 /* this */
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 7 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        48: .line 2233
            goto 50
        49: .line 2234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        50: .line 2237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 7 /* rep */
            dup
            astore 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        end local 7 // java.lang.Object rep
        51: .line 2241
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            areturn
        end local 6 // boolean isRecord
        end local 5 // java.lang.ClassNotFoundException resolveEx
        end local 4 // java.lang.Object obj
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   52     0       this  Ljava/io/ObjectInputStream;
            0   52     1   unshared  Z
            3   52     2       desc  Ljava/io/ObjectStreamClass;
            5   52     3         cl  Ljava/lang/Class<*>;
           11   12     4        obj  Ljava/lang/Object;
           19   52     4        obj  Ljava/lang/Object;
           13   19     5         ex  Ljava/lang/Exception;
           23   52     5  resolveEx  Ljava/lang/ClassNotFoundException;
           28   52     6   isRecord  Z
           42   51     7        rep  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private void readExternalData(java.io.Externalizable, java.io.ObjectStreamClass);
    descriptor: (Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.Externalizable obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2253
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 3 /* oldContext */
        start local 3 // java.io.SerialCallbackContext oldContext
         1: .line 2254
            aload 3 /* oldContext */
            ifnull 3
         2: .line 2255
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
         3: .line 2256
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
         4: .line 2258
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasBlockExternalData:()Z
            istore 4 /* blocked */
        start local 4 // boolean blocked
         5: .line 2259
            iload 4 /* blocked */
            ifeq 7
         6: .line 2260
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         7: .line 2262
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ifnull 12
         8: .line 2264
            aload 1 /* obj */
            aload 0 /* this */
            invokeinterface java.io.Externalizable.readExternal:(Ljava/io/ObjectInput;)V
         9: .line 2265
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 2273
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 5 // java.lang.ClassNotFoundException ex
        12: .line 2276
      StackMap locals:
      StackMap stack:
            iload 4 /* blocked */
            ifeq 20
        13: .line 2277
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        end local 4 // boolean blocked
        14: .line 2279
            goto 20
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack: java.lang.Throwable
        15: astore 6
        16: .line 2280
            aload 3 /* oldContext */
            ifnull 18
        17: .line 2281
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        18: .line 2282
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        19: .line 2283
            aload 6
            athrow
        20: .line 2280
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack:
            aload 3 /* oldContext */
            ifnull 22
        21: .line 2281
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        22: .line 2282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        23: .line 2296
            return
        end local 3 // java.io.SerialCallbackContext oldContext
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.io.Externalizable obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/io/ObjectInputStream;
            0   24     1         obj  Ljava/io/Externalizable;
            0   24     2        desc  Ljava/io/ObjectStreamClass;
            1   24     3  oldContext  Ljava/io/SerialCallbackContext;
            5   14     4     blocked  Z
           11   12     5          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
           4    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private java.lang.Object readRecord(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 2300
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 2 /* slots */
        start local 2 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2301
            aload 2 /* slots */
            arraylength
            iconst_1
            if_icmpeq 9
         2: .line 2303
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 2304
      StackMap locals: java.io.ObjectStreamClass$ClassDataSlot[] int
      StackMap stack:
            aload 2 /* slots */
            iload 3 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 4 /* slotDesc */
        start local 4 // java.io.ObjectStreamClass slotDesc
         5: .line 2305
            aload 2 /* slots */
            iload 3 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 7
         6: .line 2306
            aload 0 /* this */
            aconst_null
            aload 4 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            pop
        end local 4 // java.io.ObjectStreamClass slotDesc
         7: .line 2303
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* slots */
            arraylength
            iconst_1
            isub
            if_icmplt 4
        end local 3 // int i
         9: .line 2311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* desc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 3 /* fieldValues */
        start local 3 // java.io.ObjectInputStream$FieldValues fieldValues
        10: .line 2314
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getRecordConstructor:()Ljava/lang/invoke/MethodHandle;
            astore 4 /* ctrMH */
        start local 4 // java.lang.invoke.MethodHandle ctrMH
        11: .line 2317
            aload 4 /* ctrMH */
            aload 1 /* desc */
            aload 3 /* fieldValues */
            invokestatic java.io.ObjectStreamClass$RecordSupport.bindCtrValues:(Ljava/lang/invoke/MethodHandle;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* ctrMH */
        12: .line 2320
            aload 4 /* ctrMH */
            invokevirtual java.lang.invoke.MethodHandle.invoke:()Ljava/lang/Object;
        13: areturn
        14: .line 2321
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues java.lang.invoke.MethodHandle
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        15: .line 2322
            new java.io.InvalidObjectException
            dup
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            astore 6 /* ioe */
        start local 6 // java.io.InvalidObjectException ioe
        16: .line 2323
            aload 6 /* ioe */
            aload 5 /* e */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 2324
            aload 6 /* ioe */
            athrow
        end local 6 // java.io.InvalidObjectException ioe
        end local 5 // java.lang.Exception e
        18: .line 2325
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 5 /* e */
        start local 5 // java.lang.Error e
        19: .line 2326
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Error e
        20: .line 2327
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        21: .line 2328
            new java.io.InvalidObjectException
            dup
        22: .line 2329
            ldc "ReflectiveOperationException during deserialization"
        23: .line 2328
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            astore 6 /* ose */
        start local 6 // java.io.ObjectStreamException ose
        24: .line 2330
            aload 6 /* ose */
            aload 5 /* t */
            invokevirtual java.io.ObjectStreamException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        25: .line 2331
            aload 6 /* ose */
            athrow
        end local 6 // java.io.ObjectStreamException ose
        end local 5 // java.lang.Throwable t
        end local 4 // java.lang.invoke.MethodHandle ctrMH
        end local 3 // java.io.ObjectInputStream$FieldValues fieldValues
        end local 2 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Ljava/io/ObjectInputStream;
            0   26     1         desc  Ljava/io/ObjectStreamClass;
            1   26     2        slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            3    9     3            i  I
            5    7     4     slotDesc  Ljava/io/ObjectStreamClass;
           10   26     3  fieldValues  Ljava/io/ObjectInputStream$FieldValues;
           11   26     4        ctrMH  Ljava/lang/invoke/MethodHandle;
           15   18     5            e  Ljava/lang/Exception;
           16   18     6          ioe  Ljava/io/InvalidObjectException;
           19   20     5            e  Ljava/lang/Error;
           21   26     5            t  Ljava/lang/Throwable;
           24   26     6          ose  Ljava/io/ObjectStreamException;
      Exception table:
        from    to  target  type
          12    13      14  Class java.lang.Exception
          12    13      18  Class java.lang.Error
          12    13      20  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      desc  

  private void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2344
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 3 /* slots */
        start local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2350
            aconst_null
            astore 4 /* slotValues */
        start local 4 // java.io.ObjectInputStream$FieldValues[] slotValues
         2: .line 2352
            iconst_0
            istore 5 /* hasSpecialReadMethod */
        start local 5 // boolean hasSpecialReadMethod
         3: .line 2353
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 11
         5: .line 2354
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int
      StackMap stack:
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 7 /* slotDesc */
        start local 7 // java.io.ObjectStreamClass slotDesc
         6: .line 2355
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifne 8
         7: .line 2356
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 10
         8: .line 2357
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            iconst_1
            istore 5 /* hasSpecialReadMethod */
         9: .line 2358
            goto 12
        end local 7 // java.io.ObjectStreamClass slotDesc
        10: .line 2353
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 5
        end local 6 // int i
        12: .line 2362
      StackMap locals:
      StackMap stack:
            iload 5 /* hasSpecialReadMethod */
            ifne 14
        13: .line 2363
            aload 3 /* slots */
            arraylength
            anewarray java.io.ObjectInputStream$FieldValues
            astore 4 /* slotValues */
        14: .line 2365
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 87
        16: .line 2366
      StackMap locals: int
      StackMap stack:
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 7 /* slotDesc */
        start local 7 // java.io.ObjectStreamClass slotDesc
        17: .line 2368
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 82
        18: .line 2369
            aload 1 /* obj */
            ifnull 19
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 21
        19: .line 2370
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            pop
        20: .line 2371
            goto 77
      StackMap locals:
      StackMap stack:
        21: aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifeq 70
        22: .line 2372
            aconst_null
            astore 8 /* t */
        start local 8 // java.lang.ThreadDeath t
        23: .line 2373
            iconst_0
            istore 9 /* reset */
        start local 9 // boolean reset
        24: .line 2374
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 10 /* oldContext */
        start local 10 // java.io.SerialCallbackContext oldContext
        25: .line 2375
            aload 10 /* oldContext */
            ifnull 27
        26: .line 2376
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        27: .line 2378
      StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            new java.io.SerialCallbackContext
            dup
            aload 1 /* obj */
            aload 7 /* slotDesc */
            invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        28: .line 2380
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 2381
            aload 7 /* slotDesc */
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
        30: .line 2382
            goto 57
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        31: astore 11 /* ex */
        start local 11 // java.lang.ClassNotFoundException ex
        32: .line 2390
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 11 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 11 // java.lang.ClassNotFoundException ex
        33: .line 2394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        34: .line 2395
            aload 10 /* oldContext */
            ifnull 36
        35: .line 2396
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        36: .line 2397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        37: .line 2398
            iconst_1
            istore 9 /* reset */
        38: .line 2399
            goto 41
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        39: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        40: .line 2400
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        41: .line 2402
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 33
        42: .line 2403
            aload 8 /* t */
            ifnull 68
        43: .line 2404
            aload 8 /* t */
            athrow
        44: .line 2391
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        45: .line 2394
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        46: .line 2395
            aload 10 /* oldContext */
            ifnull 48
        47: .line 2396
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        48: .line 2397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        49: .line 2398
            iconst_1
            istore 9 /* reset */
        50: .line 2399
            goto 53
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        51: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        52: .line 2400
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        53: .line 2402
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 45
        54: .line 2403
            aload 8 /* t */
            ifnull 56
        55: .line 2404
            aload 8 /* t */
            athrow
        56: .line 2405
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        57: .line 2394
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        58: .line 2395
            aload 10 /* oldContext */
            ifnull 60
        59: .line 2396
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        60: .line 2397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        61: .line 2398
            iconst_1
            istore 9 /* reset */
        62: .line 2399
            goto 65
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        63: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        64: .line 2400
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        65: .line 2402
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 57
        66: .line 2403
            aload 8 /* t */
            ifnull 68
        67: .line 2404
            aload 8 /* t */
            athrow
        68: .line 2412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        end local 10 // java.io.SerialCallbackContext oldContext
        end local 9 // boolean reset
        end local 8 // java.lang.ThreadDeath t
        69: .line 2413
            goto 77
        70: .line 2414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 8 /* vals */
        start local 8 // java.io.ObjectInputStream$FieldValues vals
        71: .line 2415
            aload 4 /* slotValues */
            ifnull 74
        72: .line 2416
            aload 4 /* slotValues */
            iload 6 /* i */
            aload 8 /* vals */
            aastore
        73: .line 2417
            goto 77
      StackMap locals: java.io.ObjectInputStream$FieldValues
      StackMap stack:
        74: aload 1 /* obj */
            ifnull 77
        75: .line 2418
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            aload 8 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        76: .line 2419
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            aload 8 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        end local 8 // java.io.ObjectInputStream$FieldValues vals
        77: .line 2423
      StackMap locals:
      StackMap stack:
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifeq 80
        78: .line 2424
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        79: .line 2425
            goto 86
        80: .line 2426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        81: .line 2428
            goto 86
        82: .line 2429
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 86
        83: .line 2430
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 86
        84: .line 2431
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 86
        85: .line 2433
            aload 7 /* slotDesc */
            aload 1 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
        end local 7 // java.io.ObjectStreamClass slotDesc
        86: .line 2365
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 16
        end local 6 // int i
        88: .line 2438
            aload 1 /* obj */
            ifnull 101
            aload 4 /* slotValues */
            ifnull 101
        89: .line 2441
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        90: goto 94
        91: .line 2442
      StackMap locals:
      StackMap stack:
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            ifnull 93
        92: .line 2443
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        93: .line 2441
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 91
        end local 6 // int i
        95: .line 2445
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        96: goto 100
        97: .line 2446
      StackMap locals:
      StackMap stack:
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            ifnull 99
        98: .line 2447
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        99: .line 2445
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 97
        end local 6 // int i
       101: .line 2450
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hasSpecialReadMethod
        end local 4 // java.io.ObjectInputStream$FieldValues[] slotValues
        end local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  102     0                  this  Ljava/io/ObjectInputStream;
            0  102     1                   obj  Ljava/lang/Object;
            0  102     2                  desc  Ljava/io/ObjectStreamClass;
            1  102     3                 slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            2  102     4            slotValues  [Ljava/io/ObjectInputStream$FieldValues;
            3  102     5  hasSpecialReadMethod  Z
            4   12     6                     i  I
            6   10     7              slotDesc  Ljava/io/ObjectStreamClass;
           15   88     6                     i  I
           17   86     7              slotDesc  Ljava/io/ObjectStreamClass;
           23   69     8                     t  Ljava/lang/ThreadDeath;
           24   69     9                 reset  Z
           25   69    10            oldContext  Ljava/io/SerialCallbackContext;
           32   33    11                    ex  Ljava/lang/ClassNotFoundException;
           40   41    13                     x  Ljava/lang/ThreadDeath;
           52   53    13                     x  Ljava/lang/ThreadDeath;
           64   65    13                     x  Ljava/lang/ThreadDeath;
           71   77     8                  vals  Ljava/io/ObjectInputStream$FieldValues;
           90   95     6                     i  I
           96  101     6                     i  I
      Exception table:
        from    to  target  type
          27    30      31  Class java.lang.ClassNotFoundException
          33    38      39  Class java.lang.ThreadDeath
          27    33      44  any
          45    50      51  Class java.lang.ThreadDeath
          57    62      63  Class java.lang.ThreadDeath
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void skipCustomData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2457
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 2459
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            ifeq 4
         2: .line 2460
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBlockData:()V
         3: .line 2461
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         4: .line 2463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            tableswitch { // 119 - 122
                  119: 5
                  120: 7
                  121: 10
                  122: 5
              default: 10
          }
         5: .line 2466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 2467
            goto 1
         7: .line 2470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
         8: .line 2471
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         9: .line 2472
            return
        10: .line 2475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        11: .line 2458
            goto 1
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            1   12     1  oldHandle  I
    Exceptions:
      throws java.io.IOException

  private java.io.ObjectInputStream$FieldValues defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2499
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         1: .line 2500
            aload 3 /* cl */
            ifnull 3
            aload 1 /* obj */
            ifnull 3
            aload 3 /* cl */
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 2501
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         3: .line 2504
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            astore 4 /* primVals */
        start local 4 // byte[] primVals
         4: .line 2505
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
            istore 5 /* primDataSize */
        start local 5 // int primDataSize
         5: .line 2506
            iload 5 /* primDataSize */
            ifle 8
         6: .line 2507
            iload 5 /* primDataSize */
            newarray 8
            astore 4 /* primVals */
         7: .line 2508
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* primVals */
            iconst_0
            iload 5 /* primDataSize */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         8: .line 2511
      StackMap locals: byte[] int
      StackMap stack:
            aconst_null
            astore 6 /* objVals */
        start local 6 // java.lang.Object[] objVals
         9: .line 2512
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
            istore 7 /* numObjFields */
        start local 7 // int numObjFields
        10: .line 2513
            iload 7 /* numObjFields */
            ifle 24
        11: .line 2514
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 8 /* objHandle */
        start local 8 // int objHandle
        12: .line 2515
            aload 2 /* desc */
            iconst_0
            invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
            astore 9 /* fields */
        start local 9 // java.io.ObjectStreamField[] fields
        13: .line 2516
            iload 7 /* numObjFields */
            anewarray java.lang.Object
            astore 6 /* objVals */
        14: .line 2517
            aload 9 /* fields */
            arraylength
            aload 6 /* objVals */
            arraylength
            isub
            istore 10 /* numPrimFields */
        start local 10 // int numPrimFields
        15: .line 2518
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        16: goto 22
        17: .line 2519
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int int java.io.ObjectStreamField[] int int
      StackMap stack:
            aload 9 /* fields */
            iload 10 /* numPrimFields */
            iload 11 /* i */
            iadd
            aaload
            astore 12 /* f */
        start local 12 // java.io.ObjectStreamField f
        18: .line 2520
            aload 6 /* objVals */
            iload 11 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            aload 12 /* f */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        19: .line 2521
            aload 12 /* f */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 21
        20: .line 2522
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 8 /* objHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        end local 12 // java.io.ObjectStreamField f
        21: .line 2518
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 11 /* i */
            aload 6 /* objVals */
            arraylength
            if_icmplt 17
        end local 11 // int i
        23: .line 2525
            aload 0 /* this */
            iload 8 /* objHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        end local 10 // int numPrimFields
        end local 9 // java.io.ObjectStreamField[] fields
        end local 8 // int objHandle
        24: .line 2528
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int
      StackMap stack:
            new java.io.ObjectInputStream$FieldValues
            dup
            aload 0 /* this */
            aload 4 /* primVals */
            aload 6 /* objVals */
            invokespecial java.io.ObjectInputStream$FieldValues.<init>:(Ljava/io/ObjectInputStream;[B[Ljava/lang/Object;)V
            areturn
        end local 7 // int numObjFields
        end local 6 // java.lang.Object[] objVals
        end local 5 // int primDataSize
        end local 4 // byte[] primVals
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljava/io/ObjectInputStream;
            0   25     1            obj  Ljava/lang/Object;
            0   25     2           desc  Ljava/io/ObjectStreamClass;
            1   25     3             cl  Ljava/lang/Class<*>;
            4   25     4       primVals  [B
            5   25     5   primDataSize  I
            9   25     6        objVals  [Ljava/lang/Object;
           10   25     7   numObjFields  I
           12   24     8      objHandle  I
           13   24     9         fields  [Ljava/io/ObjectStreamField;
           15   24    10  numPrimFields  I
           16   23    11              i  I
           18   21    12              f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void defaultCheckFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
        start local 3 // java.io.ObjectInputStream$FieldValues values
         0: .line 2534
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            astore 4 /* objectValues */
        start local 4 // java.lang.Object[] objectValues
         1: .line 2535
            aload 4 /* objectValues */
            ifnull 3
         2: .line 2536
            aload 2 /* desc */
            aload 1 /* obj */
            aload 4 /* objectValues */
            invokevirtual java.io.ObjectStreamClass.checkObjFieldValueTypes:(Ljava/lang/Object;[Ljava/lang/Object;)V
         3: .line 2537
      StackMap locals: java.lang.Object[]
      StackMap stack:
            return
        end local 4 // java.lang.Object[] objectValues
        end local 3 // java.io.ObjectInputStream$FieldValues values
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/io/ObjectInputStream;
            0    4     1           obj  Ljava/lang/Object;
            0    4     2          desc  Ljava/io/ObjectStreamClass;
            0    4     3        values  Ljava/io/ObjectInputStream$FieldValues;
            1    4     4  objectValues  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      obj     
      desc    
      values  

  private void defaultSetFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
        start local 3 // java.io.ObjectInputStream$FieldValues values
         0: .line 2542
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.primValues:[B
            astore 4 /* primValues */
        start local 4 // byte[] primValues
         1: .line 2543
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            astore 5 /* objectValues */
        start local 5 // java.lang.Object[] objectValues
         2: .line 2545
            aload 4 /* primValues */
            ifnull 4
         3: .line 2546
            aload 2 /* desc */
            aload 1 /* obj */
            aload 4 /* primValues */
            invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
         4: .line 2547
      StackMap locals: byte[] java.lang.Object[]
      StackMap stack:
            aload 5 /* objectValues */
            ifnull 6
         5: .line 2548
            aload 2 /* desc */
            aload 1 /* obj */
            aload 5 /* objectValues */
            invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
         6: .line 2549
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Object[] objectValues
        end local 4 // byte[] primValues
        end local 3 // java.io.ObjectInputStream$FieldValues values
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljava/io/ObjectInputStream;
            0    7     1           obj  Ljava/lang/Object;
            0    7     2          desc  Ljava/io/ObjectStreamClass;
            0    7     3        values  Ljava/io/ObjectInputStream$FieldValues;
            1    7     4    primValues  [B
            2    7     5  objectValues  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      obj     
      desc    
      values  

  private java.io.IOException readFatalException();
    descriptor: ()Ljava/io/IOException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2557
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 123
            if_icmpeq 2
         1: .line 2558
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 2561
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            checkcast java.io.IOException
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private void handleReset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2570
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifle 4
         1: .line 2571
            new java.io.StreamCorruptedException
            dup
         2: .line 2572
            new java.lang.StringBuilder
            dup
            ldc "unexpected reset; recursion depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2571
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         5: .line 2575
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.StreamCorruptedException

  private static java.lang.ClassLoader latestUserDefinedLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2584
            invokestatic jdk.internal.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void freeze();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2963
            getstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
            invokevirtual jdk.internal.misc.Unsafe.storeFence:()V
         1: .line 2964
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;

  private static java.lang.Object cloneArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object array
         0: .line 4147
            aload 0 /* array */
            instanceof java.lang.Object[]
            ifeq 2
         1: .line 4148
            aload 0 /* array */
            checkcast java.lang.Object[]
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            areturn
         2: .line 4149
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof boolean[]
            ifeq 4
         3: .line 4150
            aload 0 /* array */
            checkcast boolean[]
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            areturn
         4: .line 4151
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof byte[]
            ifeq 6
         5: .line 4152
            aload 0 /* array */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
         6: .line 4153
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof char[]
            ifeq 8
         7: .line 4154
            aload 0 /* array */
            checkcast char[]
            invokevirtual char[].clone:()Ljava/lang/Object;
            areturn
         8: .line 4155
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof double[]
            ifeq 10
         9: .line 4156
            aload 0 /* array */
            checkcast double[]
            invokevirtual double[].clone:()Ljava/lang/Object;
            areturn
        10: .line 4157
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof float[]
            ifeq 12
        11: .line 4158
            aload 0 /* array */
            checkcast float[]
            invokevirtual float[].clone:()Ljava/lang/Object;
            areturn
        12: .line 4159
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof int[]
            ifeq 14
        13: .line 4160
            aload 0 /* array */
            checkcast int[]
            invokevirtual int[].clone:()Ljava/lang/Object;
            areturn
        14: .line 4161
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof long[]
            ifeq 16
        15: .line 4162
            aload 0 /* array */
            checkcast long[]
            invokevirtual long[].clone:()Ljava/lang/Object;
            areturn
        16: .line 4163
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof short[]
            ifeq 18
        17: .line 4164
            aload 0 /* array */
            checkcast short[]
            invokevirtual short[].clone:()Ljava/lang/Object;
            areturn
        18: .line 4166
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  
}
SourceFile: "ObjectInputStream.java"
NestMembers:
  java.io.ObjectInputStream$1  java.io.ObjectInputStream$BlockDataInputStream  java.io.ObjectInputStream$Caches  java.io.ObjectInputStream$FieldValues  java.io.ObjectInputStream$FilterValues  java.io.ObjectInputStream$GetField  java.io.ObjectInputStream$GetFieldImpl  java.io.ObjectInputStream$HandleTable  java.io.ObjectInputStream$HandleTable$HandleList  java.io.ObjectInputStream$Logging  java.io.ObjectInputStream$PeekInputStream  java.io.ObjectInputStream$ValidationList  java.io.ObjectInputStream$ValidationList$1  java.io.ObjectInputStream$ValidationList$Callback
InnerClasses:
  public final Config = java.io.ObjectInputFilter$Config of java.io.ObjectInputFilter
  public abstract FilterInfo = java.io.ObjectInputFilter$FilterInfo of java.io.ObjectInputFilter
  public final Status = java.io.ObjectInputFilter$Status of java.io.ObjectInputFilter
  java.io.ObjectInputStream$1
  private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
  private Caches = java.io.ObjectInputStream$Caches of java.io.ObjectInputStream
  FieldValues = java.io.ObjectInputStream$FieldValues of java.io.ObjectInputStream
  FilterValues = java.io.ObjectInputStream$FilterValues of java.io.ObjectInputStream
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  private GetFieldImpl = java.io.ObjectInputStream$GetFieldImpl of java.io.ObjectInputStream
  private HandleTable = java.io.ObjectInputStream$HandleTable of java.io.ObjectInputStream
  private Logging = java.io.ObjectInputStream$Logging of java.io.ObjectInputStream
  private PeekInputStream = java.io.ObjectInputStream$PeekInputStream of java.io.ObjectInputStream
  private ValidationList = java.io.ObjectInputStream$ValidationList of java.io.ObjectInputStream
  ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
  final RecordSupport = java.io.ObjectStreamClass$RecordSupport of java.io.ObjectStreamClass
  WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles