public class android.net.wifi.ParcelUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.net.wifi.ParcelUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.wifi.ParcelUtil this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.net.wifi.ParcelUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/wifi/ParcelUtil;

  public static void writePrivateKey(android.os.Parcel, java.security.PrivateKey);
    descriptor: (Landroid/os/Parcel;Ljava/security/PrivateKey;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Parcel dest
        start local 1 // java.security.PrivateKey key
         0: .line 54
            aload 1 /* key */
            ifnonnull 3
         1: .line 55
            aload 0 /* dest */
            aconst_null
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         2: .line 56
            return
         3: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* dest */
            aload 1 /* key */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         4: .line 60
            aload 0 /* dest */
            aload 1 /* key */
            invokeinterface java.security.PrivateKey.getEncoded:()[B
            invokevirtual android.os.Parcel.writeByteArray:([B)V
         5: .line 61
            return
        end local 1 // java.security.PrivateKey key
        end local 0 // android.os.Parcel dest
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  dest  Landroid/os/Parcel;
            0    6     1   key  Ljava/security/PrivateKey;
    MethodParameters:
      Name  Flags
      dest  
      key   

  public static java.security.PrivateKey readPrivateKey(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)Ljava/security/PrivateKey;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.os.Parcel in
         0: .line 72
            aload 0 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 1 /* algorithm */
        start local 1 // java.lang.String algorithm
         1: .line 73
            aload 1 /* algorithm */
            ifnonnull 3
         2: .line 74
            aconst_null
            areturn
         3: .line 77
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* in */
            invokevirtual android.os.Parcel.createByteArray:()[B
            astore 2 /* userKeyBytes */
        start local 2 // byte[] userKeyBytes
         4: .line 79
            aload 1 /* algorithm */
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
            astore 3 /* keyFactory */
        start local 3 // java.security.KeyFactory keyFactory
         5: .line 80
            aload 3 /* keyFactory */
            new java.security.spec.PKCS8EncodedKeySpec
            dup
            aload 2 /* userKeyBytes */
            invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
            invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
         6: areturn
        end local 3 // java.security.KeyFactory keyFactory
         7: .line 81
      StackMap locals: android.os.Parcel java.lang.String byte[]
      StackMap stack: java.security.GeneralSecurityException
            pop
         8: .line 82
            aconst_null
            areturn
        end local 2 // byte[] userKeyBytes
        end local 1 // java.lang.String algorithm
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0            in  Landroid/os/Parcel;
            1    9     1     algorithm  Ljava/lang/String;
            4    9     2  userKeyBytes  [B
            5    7     3    keyFactory  Ljava/security/KeyFactory;
      Exception table:
        from    to  target  type
           4     6       7  Class java.security.NoSuchAlgorithmException
           4     6       7  Class java.security.spec.InvalidKeySpecException
    MethodParameters:
      Name  Flags
      in    

  public static void writeCertificate(android.os.Parcel, java.security.cert.X509Certificate);
    descriptor: (Landroid/os/Parcel;Ljava/security/cert/X509Certificate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.os.Parcel dest
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 94
            aconst_null
            astore 2 /* certBytes */
        start local 2 // byte[] certBytes
         1: .line 95
            aload 1 /* cert */
            ifnull 5
         2: .line 97
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* certBytes */
         3: .line 98
            goto 5
      StackMap locals: android.os.Parcel java.security.cert.X509Certificate byte[]
      StackMap stack: java.security.cert.CertificateEncodingException
         4: pop
         5: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* dest */
            aload 2 /* certBytes */
            invokevirtual android.os.Parcel.writeByteArray:([B)V
         6: .line 103
            return
        end local 2 // byte[] certBytes
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // android.os.Parcel dest
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       dest  Landroid/os/Parcel;
            0    7     1       cert  Ljava/security/cert/X509Certificate;
            1    7     2  certBytes  [B
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.cert.CertificateEncodingException
    MethodParameters:
      Name  Flags
      dest  
      cert  

  public static java.security.cert.X509Certificate readCertificate(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)Ljava/security/cert/X509Certificate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.os.Parcel in
         0: .line 112
            aload 0 /* in */
            invokevirtual android.os.Parcel.createByteArray:()[B
            astore 1 /* certBytes */
        start local 1 // byte[] certBytes
         1: .line 113
            aload 1 /* certBytes */
            ifnonnull 3
         2: .line 114
            aconst_null
            areturn
         3: .line 118
      StackMap locals: byte[]
      StackMap stack:
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 2 /* cFactory */
        start local 2 // java.security.cert.CertificateFactory cFactory
         4: .line 119
            aload 2 /* cFactory */
         5: .line 120
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* certBytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
         6: .line 119
            checkcast java.security.cert.X509Certificate
         7: areturn
        end local 2 // java.security.cert.CertificateFactory cFactory
         8: .line 121
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            pop
         9: .line 122
            aconst_null
            areturn
        end local 1 // byte[] certBytes
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0         in  Landroid/os/Parcel;
            1   10     1  certBytes  [B
            4    8     2   cFactory  Ljava/security/cert/CertificateFactory;
      Exception table:
        from    to  target  type
           3     7       8  Class java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      in    

  public static void writeCertificates(android.os.Parcel, java.security.cert.X509Certificate[]);
    descriptor: (Landroid/os/Parcel;[Ljava/security/cert/X509Certificate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.os.Parcel dest
        start local 1 // java.security.cert.X509Certificate[] certs
         0: .line 136
            aload 1 /* certs */
            ifnull 1
            aload 1 /* certs */
            arraylength
            ifne 3
         1: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* dest */
            iconst_0
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 138
            return
         3: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* dest */
            aload 1 /* certs */
            arraylength
            invokevirtual android.os.Parcel.writeInt:(I)V
         4: .line 142
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 8
         6: .line 143
      StackMap locals: int
      StackMap stack:
            aload 0 /* dest */
            aload 1 /* certs */
            iload 2 /* i */
            aaload
            invokestatic android.net.wifi.ParcelUtil.writeCertificate:(Landroid/os/Parcel;Ljava/security/cert/X509Certificate;)V
         7: .line 142
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* certs */
            arraylength
            if_icmplt 6
        end local 2 // int i
         9: .line 145
            return
        end local 1 // java.security.cert.X509Certificate[] certs
        end local 0 // android.os.Parcel dest
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   dest  Landroid/os/Parcel;
            0   10     1  certs  [Ljava/security/cert/X509Certificate;
            5    9     2      i  I
    MethodParameters:
       Name  Flags
      dest   
      certs  

  public static java.security.cert.X509Certificate[] readCertificates(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)[Ljava/security/cert/X509Certificate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.os.Parcel in
         0: .line 154
            aload 0 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 155
            iload 1 /* length */
            ifne 3
         2: .line 156
            aconst_null
            areturn
         3: .line 159
      StackMap locals: int
      StackMap stack:
            iload 1 /* length */
            anewarray java.security.cert.X509Certificate
            astore 2 /* certs */
        start local 2 // java.security.cert.X509Certificate[] certs
         4: .line 160
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 161
      StackMap locals: java.security.cert.X509Certificate[] int
      StackMap stack:
            aload 2 /* certs */
            iload 3 /* i */
            aload 0 /* in */
            invokestatic android.net.wifi.ParcelUtil.readCertificate:(Landroid/os/Parcel;)Ljava/security/cert/X509Certificate;
            aastore
         7: .line 160
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 6
        end local 3 // int i
         9: .line 163
            aload 2 /* certs */
            areturn
        end local 2 // java.security.cert.X509Certificate[] certs
        end local 1 // int length
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0      in  Landroid/os/Parcel;
            1   10     1  length  I
            4   10     2   certs  [Ljava/security/cert/X509Certificate;
            5    9     3       i  I
    MethodParameters:
      Name  Flags
      in    
}
SourceFile: "ParcelUtil.java"