public class org.bouncycastle.asn1.DERBitString extends org.bouncycastle.asn1.ASN1Object implements org.bouncycastle.asn1.DERString
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.asn1.DERBitString
  super_class: org.bouncycastle.asn1.ASN1Object
{
  private static final char[] table;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected byte[] data;
    descriptor: [B
    flags: (0x0004) ACC_PROTECTED

  protected int padBits;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 12
            bipush 16
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
            putstatic org.bouncycastle.asn1.DERBitString.table:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected static int getPadBits(int);
    descriptor: (I)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int bitString
         0: .line 24
            iconst_0
            istore 1 /* val */
        start local 1 // int val
         1: .line 25
            iconst_3
            istore 2 /* i */
        start local 2 // int i
         2: goto 11
         3: .line 31
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            ifeq 7
         4: .line 33
            iload 0 /* bitString */
            iload 2 /* i */
            bipush 8
            imul
            ishr
            ifeq 10
         5: .line 35
            iload 0 /* bitString */
            iload 2 /* i */
            bipush 8
            imul
            ishr
            sipush 255
            iand
            istore 1 /* val */
         6: .line 36
            goto 12
         7: .line 41
      StackMap locals:
      StackMap stack:
            iload 0 /* bitString */
            ifeq 10
         8: .line 43
            iload 0 /* bitString */
            sipush 255
            iand
            istore 1 /* val */
         9: .line 44
            goto 12
        10: .line 25
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            ifge 3
        end local 2 // int i
        12: .line 49
      StackMap locals:
      StackMap stack:
            iload 1 /* val */
            ifne 14
        13: .line 51
            bipush 7
            ireturn
        14: .line 55
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* bits */
        start local 2 // int bits
        15: .line 57
            goto 17
        16: .line 59
      StackMap locals: int
      StackMap stack:
            iinc 2 /* bits */ 1
        17: .line 57
      StackMap locals:
      StackMap stack:
            iload 1 /* val */
            iconst_1
            ishl
            dup
            istore 1 /* val */
            sipush 255
            iand
            ifne 16
        18: .line 62
            bipush 8
            iload 2 /* bits */
            isub
            ireturn
        end local 2 // int bits
        end local 1 // int val
        end local 0 // int bitString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0  bitString  I
            1   19     1        val  I
            2   12     2          i  I
           15   19     2       bits  I
    MethodParameters:
           Name  Flags
      bitString  

  protected static byte[] getBytes(int);
    descriptor: (I)[B
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // int bitString
         0: .line 71
            iconst_4
            istore 1 /* bytes */
        start local 1 // int bytes
         1: .line 72
            iconst_3
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 74
      StackMap locals: int int
      StackMap stack:
            iload 0 /* bitString */
            sipush 255
            iload 2 /* i */
            bipush 8
            imul
            ishl
            iand
            ifeq 5
         4: .line 76
            goto 8
         5: .line 78
      StackMap locals:
      StackMap stack:
            iinc 1 /* bytes */ -1
         6: .line 72
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iconst_1
            if_icmpge 3
        end local 2 // int i
         8: .line 81
      StackMap locals:
      StackMap stack:
            iload 1 /* bytes */
            newarray 8
            astore 2 /* result */
        start local 2 // byte[] result
         9: .line 82
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 13
        11: .line 84
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            iload 0 /* bitString */
            iload 3 /* i */
            bipush 8
            imul
            ishr
            sipush 255
            iand
            i2b
            bastore
        12: .line 82
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 1 /* bytes */
            if_icmplt 11
        end local 3 // int i
        14: .line 87
            aload 2 /* result */
            areturn
        end local 2 // byte[] result
        end local 1 // int bytes
        end local 0 // int bitString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0  bitString  I
            1   15     1      bytes  I
            2    8     2          i  I
            9   15     2     result  [B
           10   14     3          i  I
    MethodParameters:
           Name  Flags
      bitString  

  public static org.bouncycastle.asn1.DERBitString getInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERBitString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 98
            aload 0 /* obj */
            ifnull 1
            aload 0 /* obj */
            instanceof org.bouncycastle.asn1.DERBitString
            ifeq 2
         1: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            checkcast org.bouncycastle.asn1.DERBitString
            areturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal object in getInstance: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static org.bouncycastle.asn1.DERBitString getInstance(org.bouncycastle.asn1.ASN1TaggedObject, boolean);
    descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERBitString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1TaggedObject obj
        start local 1 // boolean explicit
         0: .line 119
            aload 0 /* obj */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getObject:()Lorg/bouncycastle/asn1/DERObject;
            astore 2 /* o */
        start local 2 // org.bouncycastle.asn1.DERObject o
         1: .line 121
            iload 1 /* explicit */
            ifne 2
            aload 2 /* o */
            instanceof org.bouncycastle.asn1.DERBitString
            ifeq 3
         2: .line 123
      StackMap locals: org.bouncycastle.asn1.DERObject
      StackMap stack:
            aload 2 /* o */
            invokestatic org.bouncycastle.asn1.DERBitString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERBitString;
            areturn
         3: .line 127
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            checkcast org.bouncycastle.asn1.ASN1OctetString
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            invokestatic org.bouncycastle.asn1.DERBitString.fromOctetString:([B)Lorg/bouncycastle/asn1/DERBitString;
            areturn
        end local 2 // org.bouncycastle.asn1.DERObject o
        end local 1 // boolean explicit
        end local 0 // org.bouncycastle.asn1.ASN1TaggedObject obj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       obj  Lorg/bouncycastle/asn1/ASN1TaggedObject;
            0    4     1  explicit  Z
            1    4     2         o  Lorg/bouncycastle/asn1/DERObject;
    MethodParameters:
          Name  Flags
      obj       
      explicit  

  protected void <init>(byte, int);
    descriptor: (BI)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.DERBitString this
        start local 1 // byte data
        start local 2 // int padBits
         0: .line 131
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
         1: .line 135
            aload 0 /* this */
            iconst_1
            newarray 8
            putfield org.bouncycastle.asn1.DERBitString.data:[B
         2: .line 136
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            iconst_0
            iload 1 /* data */
            bastore
         3: .line 137
            aload 0 /* this */
            iload 2 /* padBits */
            putfield org.bouncycastle.asn1.DERBitString.padBits:I
         4: .line 138
            return
        end local 2 // int padBits
        end local 1 // byte data
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/bouncycastle/asn1/DERBitString;
            0    5     1     data  B
            0    5     2  padBits  I
    MethodParameters:
         Name  Flags
      data     
      padBits  

  public void <init>(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.DERBitString this
        start local 1 // byte[] data
        start local 2 // int padBits
         0: .line 144
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
         1: .line 148
            aload 0 /* this */
            aload 1 /* data */
            putfield org.bouncycastle.asn1.DERBitString.data:[B
         2: .line 149
            aload 0 /* this */
            iload 2 /* padBits */
            putfield org.bouncycastle.asn1.DERBitString.padBits:I
         3: .line 150
            return
        end local 2 // int padBits
        end local 1 // byte[] data
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/bouncycastle/asn1/DERBitString;
            0    4     1     data  [B
            0    4     2  padBits  I
    MethodParameters:
         Name  Flags
      data     
      padBits  

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.DERBitString this
        start local 1 // byte[] data
         0: .line 155
            aload 0 /* this */
            aload 1 /* data */
            iconst_0
            invokespecial org.bouncycastle.asn1.DERBitString.<init>:([BI)V
         1: .line 156
            return
        end local 1 // byte[] data
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/asn1/DERBitString;
            0    2     1  data  [B
    MethodParameters:
      Name  Flags
      data  

  public void <init>(org.bouncycastle.asn1.DEREncodable);
    descriptor: (Lorg/bouncycastle/asn1/DEREncodable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.DERBitString this
        start local 1 // org.bouncycastle.asn1.DEREncodable obj
         0: .line 158
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
         1: .line 163
            aload 0 /* this */
            aload 1 /* obj */
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            ldc "DER"
            invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:(Ljava/lang/String;)[B
            putfield org.bouncycastle.asn1.DERBitString.data:[B
         2: .line 164
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.asn1.DERBitString.padBits:I
         3: .line 165
            goto 6
         4: .line 166
      StackMap locals: org.bouncycastle.asn1.DERBitString org.bouncycastle.asn1.DEREncodable
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         5: .line 168
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error processing object : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException e
         6: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.asn1.DEREncodable obj
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/asn1/DERBitString;
            0    7     1   obj  Lorg/bouncycastle/asn1/DEREncodable;
            5    6     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public byte[] getBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.DERBitString this
         0: .line 174
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            areturn
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/DERBitString;

  public int getPadBits();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.DERBitString this
         0: .line 179
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.padBits:I
            ireturn
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/DERBitString;

  public int intValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.bouncycastle.asn1.DERBitString this
         0: .line 188
            iconst_0
            istore 1 /* value */
        start local 1 // int value
         1: .line 190
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 192
      StackMap locals: int int
      StackMap stack:
            iload 1 /* value */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            iload 2 /* i */
            baload
            sipush 255
            iand
            bipush 8
            iload 2 /* i */
            imul
            ishl
            ior
            istore 1 /* value */
         4: .line 190
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            arraylength
            if_icmpeq 6
            iload 2 /* i */
            iconst_4
            if_icmpne 3
        end local 2 // int i
         6: .line 195
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/bouncycastle/asn1/DERBitString;
            1    7     1  value  I
            2    6     2      i  I

  void encode(org.bouncycastle.asn1.DEROutputStream);
    descriptor: (Lorg/bouncycastle/asn1/DEROutputStream;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.DERBitString this
        start local 1 // org.bouncycastle.asn1.DEROutputStream out
         0: .line 202
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
            arraylength
            iconst_1
            iadd
            newarray 8
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 204
            aload 2 /* bytes */
            iconst_0
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.DERBitString.getPadBits:()I
            i2b
            bastore
         2: .line 205
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.DERBitString.getBytes:()[B
            iconst_0
            aload 2 /* bytes */
            iconst_1
            aload 2 /* bytes */
            arraylength
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 207
            aload 1 /* out */
            iconst_3
            aload 2 /* bytes */
            invokevirtual org.bouncycastle.asn1.DEROutputStream.writeEncoded:(I[B)V
         4: .line 208
            return
        end local 2 // byte[] bytes
        end local 1 // org.bouncycastle.asn1.DEROutputStream out
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/bouncycastle/asn1/DERBitString;
            0    5     1    out  Lorg/bouncycastle/asn1/DEROutputStream;
            1    5     2  bytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.DERBitString this
         0: .line 212
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.padBits:I
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            invokestatic org.bouncycastle.util.Arrays.hashCode:([B)I
            ixor
            ireturn
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/DERBitString;

  protected boolean asn1Equals(org.bouncycastle.asn1.DERObject);
    descriptor: (Lorg/bouncycastle/asn1/DERObject;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.DERBitString this
        start local 1 // org.bouncycastle.asn1.DERObject o
         0: .line 218
            aload 1 /* o */
            instanceof org.bouncycastle.asn1.DERBitString
            ifne 2
         1: .line 220
            iconst_0
            ireturn
         2: .line 223
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bouncycastle.asn1.DERBitString
            astore 2 /* other */
        start local 2 // org.bouncycastle.asn1.DERBitString other
         3: .line 225
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.padBits:I
            aload 2 /* other */
            getfield org.bouncycastle.asn1.DERBitString.padBits:I
            if_icmpne 6
         4: .line 226
            aload 0 /* this */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            aload 2 /* other */
            getfield org.bouncycastle.asn1.DERBitString.data:[B
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifeq 6
         5: .line 225
            iconst_1
            ireturn
      StackMap locals: org.bouncycastle.asn1.DERBitString
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.bouncycastle.asn1.DERBitString other
        end local 1 // org.bouncycastle.asn1.DERObject o
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/bouncycastle/asn1/DERBitString;
            0    7     1      o  Lorg/bouncycastle/asn1/DERObject;
            3    7     2  other  Lorg/bouncycastle/asn1/DERBitString;
    MethodParameters:
      Name  Flags
      o     

  public java.lang.String getString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.bouncycastle.asn1.DERBitString this
         0: .line 231
            new java.lang.StringBuffer
            dup
            ldc "#"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 232
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* bOut */
        start local 2 // java.io.ByteArrayOutputStream bOut
         2: .line 233
            new org.bouncycastle.asn1.ASN1OutputStream
            dup
            aload 2 /* bOut */
            invokespecial org.bouncycastle.asn1.ASN1OutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* aOut */
        start local 3 // org.bouncycastle.asn1.ASN1OutputStream aOut
         3: .line 237
            aload 3 /* aOut */
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1OutputStream.writeObject:(Ljava/lang/Object;)V
         4: .line 238
            goto 7
         5: .line 239
      StackMap locals: org.bouncycastle.asn1.DERBitString java.lang.StringBuffer java.io.ByteArrayOutputStream org.bouncycastle.asn1.ASN1OutputStream
      StackMap stack: java.io.IOException
            pop
         6: .line 241
            new java.lang.RuntimeException
            dup
            ldc "internal error encoding BitString"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 244
      StackMap locals:
      StackMap stack:
            aload 2 /* bOut */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 4 /* string */
        start local 4 // byte[] string
         8: .line 246
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 13
        10: .line 248
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* buf */
            getstatic org.bouncycastle.asn1.DERBitString.table:[C
            aload 4 /* string */
            iload 5 /* i */
            baload
            iconst_4
            iushr
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 249
            aload 1 /* buf */
            getstatic org.bouncycastle.asn1.DERBitString.table:[C
            aload 4 /* string */
            iload 5 /* i */
            baload
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 246
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 4 /* string */
            arraylength
            if_icmpne 10
        end local 5 // int i
        14: .line 252
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // byte[] string
        end local 3 // org.bouncycastle.asn1.ASN1OutputStream aOut
        end local 2 // java.io.ByteArrayOutputStream bOut
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/bouncycastle/asn1/DERBitString;
            1   15     1     buf  Ljava/lang/StringBuffer;
            2   15     2    bOut  Ljava/io/ByteArrayOutputStream;
            3   15     3    aOut  Lorg/bouncycastle/asn1/ASN1OutputStream;
            8   15     4  string  [B
            9   14     5       i  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.DERBitString this
         0: .line 257
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.DERBitString.getString:()Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.asn1.DERBitString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/DERBitString;

  static org.bouncycastle.asn1.DERBitString fromOctetString(byte[]);
    descriptor: ([B)Lorg/bouncycastle/asn1/DERBitString;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // byte[] bytes
         0: .line 262
            aload 0 /* bytes */
            arraylength
            iconst_1
            if_icmpge 2
         1: .line 264
            new java.lang.IllegalArgumentException
            dup
            ldc "truncated BIT STRING detected"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* bytes */
            iconst_0
            baload
            istore 1 /* padBits */
        start local 1 // int padBits
         3: .line 268
            aload 0 /* bytes */
            arraylength
            iconst_1
            isub
            newarray 8
            astore 2 /* data */
        start local 2 // byte[] data
         4: .line 270
            aload 2 /* data */
            arraylength
            ifeq 6
         5: .line 272
            aload 0 /* bytes */
            iconst_1
            aload 2 /* data */
            iconst_0
            aload 0 /* bytes */
            arraylength
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 275
      StackMap locals: int byte[]
      StackMap stack:
            new org.bouncycastle.asn1.DERBitString
            dup
            aload 2 /* data */
            iload 1 /* padBits */
            invokespecial org.bouncycastle.asn1.DERBitString.<init>:([BI)V
            areturn
        end local 2 // byte[] data
        end local 1 // int padBits
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0    bytes  [B
            3    7     1  padBits  I
            4    7     2     data  [B
    MethodParameters:
       Name  Flags
      bytes  
}
SourceFile: "DERBitString.java"