final class com.microsoft.sqlserver.jdbc.DDC
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.DDC
  super_class: java.lang.Object
{
  private static final java.math.BigInteger maxRPCDecimalValue;
    descriptor: Ljava/math/BigInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$StreamType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType$Category;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 35
            ldc Lcom/microsoft/sqlserver/jdbc/DDC;
            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 com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
         3: .line 1371
            new java.math.BigInteger
            dup
            ldc "99999999999999999999999999999999999999"
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
            putstatic com.microsoft.sqlserver.jdbc.DDC.maxRPCDecimalValue:Ljava/math/BigInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.DDC this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.microsoft.sqlserver.jdbc.DDC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/DDC;

  static final java.lang.Object convertIntegerToObject(int, int, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // int intValue
        start local 1 // int valueLength
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 52
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 15
                    3: 5
                    4: 9
                    5: 3
                    7: 3
                   13: 6
                   15: 7
                   16: 7
                   17: 1
                   25: 6
                   28: 8
                   31: 2
                   38: 2
                   41: 6
                   42: 6
                   47: 10
              default: 16
          }
         1: .line 54
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         2: .line 57
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            i2s
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         3: .line 60
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            ifeq 4
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         5: .line 62
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         6: .line 67
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            iload 0 /* intValue */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
         7: .line 70
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            i2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         8: .line 72
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            i2f
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         9: .line 74
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            iload 1 /* valueLength */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntToBytes:(II)[B
            areturn
        10: .line 79
      StackMap locals:
      StackMap stack:
            iload 1 /* valueLength */
            iconst_1
            if_icmpne 13
        11: .line 80
            iload 0 /* intValue */
            ifeq 12
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        13: .line 81
      StackMap locals:
      StackMap stack:
            iload 1 /* valueLength */
            iconst_3
            if_icmpeq 14
            iload 1 /* valueLength */
            iconst_4
            if_icmpne 15
        14: .line 82
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            i2s
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
        15: .line 84
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        16: .line 87
      StackMap locals:
      StackMap stack:
            iload 0 /* intValue */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // int valueLength
        end local 0 // int intValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0     intValue  I
            0   17     1  valueLength  I
            0   17     2     jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   17     3   streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    MethodParameters:
             Name  Flags
      intValue     
      valueLength  
      jdbcType     
      streamType   

  static final java.lang.Object convertLongToObject(long, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.SSType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (JLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // long longVal
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.SSType baseSSType
        start local 4 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 105
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 16
                    3: 1
                    4: 9
                    5: 4
                    7: 4
                   13: 6
                   15: 7
                   16: 7
                   17: 2
                   25: 6
                   28: 8
                   31: 3
                   38: 3
                   39: 36
                   41: 6
                   42: 6
                   47: 1
              default: 47
          }
         1: .line 108
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         2: .line 110
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         3: .line 113
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2i
            i2s
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         4: .line 116
      StackMap locals:
      StackMap stack:
            lconst_0
            lload 0 /* longVal */
            lcmp
            ifeq 5
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         6: .line 121
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            lload 0 /* longVal */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
         7: .line 124
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         8: .line 126
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2f
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         9: .line 128
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertLongToBytes:(J)[B
            astore 5 /* convertedBytes */
        start local 5 // byte[] convertedBytes
        10: .line 132
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 3 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 2 - 6
                    2: 11
                    3: 11
                    4: 17
                    5: 23
                    6: 29
              default: 35
          }
        11: .line 135
      StackMap locals: byte[]
      StackMap stack:
            iconst_1
            istore 6 /* bytesToReturnLength */
        start local 6 // int bytesToReturnLength
        12: .line 136
            iload 6 /* bytesToReturnLength */
            newarray 8
            astore 7 /* bytesToReturn */
        start local 7 // byte[] bytesToReturn
        13: .line 137
            aload 5 /* convertedBytes */
            aload 5 /* convertedBytes */
            arraylength
            iload 6 /* bytesToReturnLength */
            isub
            aload 7 /* bytesToReturn */
            iconst_0
        14: .line 138
            iload 6 /* bytesToReturnLength */
        15: .line 137
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 139
            aload 7 /* bytesToReturn */
            areturn
        end local 7 // byte[] bytesToReturn
        end local 6 // int bytesToReturnLength
        17: .line 141
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 6 /* bytesToReturnLength */
        start local 6 // int bytesToReturnLength
        18: .line 142
            iload 6 /* bytesToReturnLength */
            newarray 8
            astore 7 /* bytesToReturn */
        start local 7 // byte[] bytesToReturn
        19: .line 143
            aload 5 /* convertedBytes */
            aload 5 /* convertedBytes */
            arraylength
            iload 6 /* bytesToReturnLength */
            isub
            aload 7 /* bytesToReturn */
            iconst_0
        20: .line 144
            iload 6 /* bytesToReturnLength */
        21: .line 143
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 145
            aload 7 /* bytesToReturn */
            areturn
        end local 7 // byte[] bytesToReturn
        end local 6 // int bytesToReturnLength
        23: .line 147
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 6 /* bytesToReturnLength */
        start local 6 // int bytesToReturnLength
        24: .line 148
            iload 6 /* bytesToReturnLength */
            newarray 8
            astore 7 /* bytesToReturn */
        start local 7 // byte[] bytesToReturn
        25: .line 149
            aload 5 /* convertedBytes */
            aload 5 /* convertedBytes */
            arraylength
            iload 6 /* bytesToReturnLength */
            isub
            aload 7 /* bytesToReturn */
            iconst_0
        26: .line 150
            iload 6 /* bytesToReturnLength */
        27: .line 149
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        28: .line 151
            aload 7 /* bytesToReturn */
            areturn
        end local 7 // byte[] bytesToReturn
        end local 6 // int bytesToReturnLength
        29: .line 153
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 6 /* bytesToReturnLength */
        start local 6 // int bytesToReturnLength
        30: .line 154
            iload 6 /* bytesToReturnLength */
            newarray 8
            astore 7 /* bytesToReturn */
        start local 7 // byte[] bytesToReturn
        31: .line 155
            aload 5 /* convertedBytes */
            aload 5 /* convertedBytes */
            arraylength
            iload 6 /* bytesToReturnLength */
            isub
            aload 7 /* bytesToReturn */
            iconst_0
        32: .line 156
            iload 6 /* bytesToReturnLength */
        33: .line 155
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 157
            aload 7 /* bytesToReturn */
            areturn
        end local 7 // byte[] bytesToReturn
        end local 6 // int bytesToReturnLength
        35: .line 159
      StackMap locals:
      StackMap stack:
            aload 5 /* convertedBytes */
            areturn
        end local 5 // byte[] convertedBytes
        36: .line 163
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 3 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 2 - 30
                    2: 39
                    3: 40
                    4: 39
                    5: 38
                    6: 37
                    7: 43
                    8: 44
                    9: 46
                   10: 46
                   11: 46
                   12: 46
                   13: 46
                   14: 46
                   15: 42
                   16: 42
                   17: 46
                   18: 46
                   19: 46
                   20: 46
                   21: 46
                   22: 46
                   23: 46
                   24: 46
                   25: 45
                   26: 46
                   27: 46
                   28: 46
                   29: 42
                   30: 42
              default: 46
          }
        37: .line 165
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        38: .line 167
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        39: .line 170
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2i
            i2s
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
        40: .line 172
      StackMap locals:
      StackMap stack:
            lconst_0
            lload 0 /* longVal */
            lcmp
            ifeq 41
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
        41: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        42: .line 177
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            lload 0 /* longVal */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
        43: .line 179
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2d
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        44: .line 181
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            l2f
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
        45: .line 183
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertLongToBytes:(J)[B
            areturn
        46: .line 185
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            areturn
        47: .line 188
      StackMap locals:
      StackMap stack:
            lload 0 /* longVal */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 3 // com.microsoft.sqlserver.jdbc.SSType baseSSType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // long longVal
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   48     0              longVal  J
            0   48     2             jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   48     3           baseSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
            0   48     4           streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
           10   36     5       convertedBytes  [B
           12   17     6  bytesToReturnLength  I
           18   23     6  bytesToReturnLength  I
           24   29     6  bytesToReturnLength  I
           30   35     6  bytesToReturnLength  I
           13   17     7        bytesToReturn  [B
           19   23     7        bytesToReturn  [B
           25   29     7        bytesToReturn  [B
           31   35     7        bytesToReturn  [B
    MethodParameters:
            Name  Flags
      longVal     
      jdbcType    
      baseSSType  
      streamType  

  static final byte[] convertIntToBytes(int, int);
    descriptor: (II)[B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // int intValue
        start local 1 // int valueLength
         0: .line 202
            iload 1 /* valueLength */
            newarray 8
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 203
            iload 1 /* valueLength */
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 204
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* i */
            iload 0 /* intValue */
            sipush 255
            iand
            i2b
            bastore
         4: .line 205
            iload 0 /* intValue */
            bipush 8
            ishr
            istore 0 /* intValue */
         5: .line 203
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iinc 3 /* i */ -1
            ifgt 3
        end local 3 // int i
         6: .line 207
            aload 2 /* bytes */
            areturn
        end local 2 // byte[] bytes
        end local 1 // int valueLength
        end local 0 // int intValue
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0     intValue  I
            0    7     1  valueLength  I
            1    7     2        bytes  [B
            2    6     3            i  I
    MethodParameters:
             Name  Flags
      intValue     
      valueLength  

  static final java.lang.Object convertFloatToObject(float, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (FLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // float floatVal
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 2 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 222
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 15
                    3: 6
                    4: 9
                    5: 4
                    7: 4
                   13: 7
                   15: 8
                   16: 8
                   17: 2
                   25: 7
                   28: 1
                   31: 3
                   38: 3
                   41: 7
                   42: 7
                   47: 1
              default: 10
          }
         1: .line 225
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         2: .line 227
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            f2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         3: .line 230
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            f2i
            i2s
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         4: .line 233
      StackMap locals:
      StackMap stack:
            fconst_0
            fload 0 /* floatVal */
            invokestatic java.lang.Float.compare:(FF)I
            ifeq 5
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         6: .line 235
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            f2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         7: .line 240
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            fload 0 /* floatVal */
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
         8: .line 243
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokevirtual java.lang.Float.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         9: .line 245
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntToBytes:(II)[B
            areturn
        10: .line 247
      StackMap locals:
      StackMap stack:
            fload 0 /* floatVal */
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            areturn
        end local 2 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // float floatVal
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0    floatVal  F
            0   11     1    jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   11     2  streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    MethodParameters:
            Name  Flags
      floatVal    
      jdbcType    
      streamType  

  static final byte[] convertLongToBytes(long);
    descriptor: (J)[B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // long longValue
         0: .line 259
            bipush 8
            newarray 8
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 260
            bipush 8
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 261
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* i */
            lload 0 /* longValue */
            ldc 255
            land
            l2i
            i2b
            bastore
         4: .line 262
            lload 0 /* longValue */
            bipush 8
            lshr
            lstore 0 /* longValue */
         5: .line 260
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iinc 3 /* i */ -1
            ifgt 3
        end local 3 // int i
         6: .line 264
            aload 2 /* bytes */
            areturn
        end local 2 // byte[] bytes
        end local 0 // long longValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  longValue  J
            1    7     2      bytes  [B
            2    6     3          i  I
    MethodParameters:
           Name  Flags
      longValue  

  static final java.lang.Object convertDoubleToObject(double, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (DLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // double doubleVal
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 279
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 15
                    3: 7
                    4: 9
                    5: 5
                    7: 5
                   13: 8
                   15: 1
                   16: 1
                   17: 3
                   25: 8
                   28: 2
                   31: 4
                   38: 4
                   41: 8
                   42: 8
                   47: 1
              default: 10
          }
         1: .line 283
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         2: .line 285
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual java.lang.Double.floatValue:()F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         3: .line 287
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            d2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         4: .line 290
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            d2i
            i2s
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         5: .line 293
      StackMap locals:
      StackMap stack:
            dconst_0
            dload 0 /* doubleVal */
            invokestatic java.lang.Double.compare:(DD)I
            ifeq 6
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         7: .line 295
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            d2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         8: .line 300
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            dload 0 /* doubleVal */
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
         9: .line 302
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertLongToBytes:(J)[B
            areturn
        10: .line 304
      StackMap locals:
      StackMap stack:
            dload 0 /* doubleVal */
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // double doubleVal
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0   doubleVal  D
            0   11     2    jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   11     3  streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    MethodParameters:
            Name  Flags
      doubleVal   
      jdbcType    
      streamType  

  static final byte[] convertBigDecimalToBytes(java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigDecimal;I)[B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.math.BigDecimal bigDecimalVal
        start local 1 // int scale
         0: .line 311
            aload 0 /* bigDecimalVal */
            ifnonnull 5
         1: .line 312
            iconst_2
            newarray 8
            astore 2 /* valueBytes */
        start local 2 // byte[] valueBytes
         2: .line 313
            aload 2 /* valueBytes */
            iconst_0
            iload 1 /* scale */
            i2b
            bastore
         3: .line 314
            aload 2 /* valueBytes */
            iconst_1
            iconst_0
            bastore
         4: .line 315
            goto 26
        end local 2 // byte[] valueBytes
         5: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.signum:()I
            ifge 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* isNegative */
        start local 3 // boolean isNegative
         8: .line 319
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.scale:()I
            ifge 10
         9: .line 320
            aload 0 /* bigDecimalVal */
            iconst_0
            invokevirtual java.math.BigDecimal.setScale:(I)Ljava/math/BigDecimal;
            astore 0 /* bigDecimalVal */
        10: .line 322
      StackMap locals: java.math.BigDecimal int top int
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            astore 4 /* bi */
        start local 4 // java.math.BigInteger bi
        11: .line 324
            iload 3 /* isNegative */
            ifeq 13
        12: .line 325
            aload 4 /* bi */
            invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
            astore 4 /* bi */
        13: .line 327
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 4 /* bi */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 5 /* unscaledBytes */
        start local 5 // byte[] unscaledBytes
        14: .line 329
            aload 5 /* unscaledBytes */
            arraylength
            iconst_3
            iadd
            newarray 8
            astore 2 /* valueBytes */
        start local 2 // byte[] valueBytes
        15: .line 330
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        16: .line 331
            aload 2 /* valueBytes */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.scale:()I
            i2b
            bastore
        17: .line 332
            aload 2 /* valueBytes */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 5 /* unscaledBytes */
            arraylength
            iconst_1
            iadd
            i2b
            bastore
        18: .line 333
            aload 2 /* valueBytes */
            iload 6 /* j */
            iinc 6 /* j */ 1
            iload 3 /* isNegative */
            ifeq 19
            iconst_0
            goto 20
      StackMap locals: java.math.BigDecimal int byte[] int java.math.BigInteger byte[] int
      StackMap stack: byte[] int
        19: iconst_1
      StackMap locals: java.math.BigDecimal int byte[] int java.math.BigInteger byte[] int
      StackMap stack: byte[] int int
        20: i2b
            bastore
        21: .line 334
            aload 5 /* unscaledBytes */
            arraylength
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        22: goto 25
        23: .line 335
      StackMap locals: int
      StackMap stack:
            aload 2 /* valueBytes */
            iload 6 /* j */
            iinc 6 /* j */ 1
            aload 5 /* unscaledBytes */
            iload 7 /* i */
            baload
            bastore
        24: .line 334
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            ifge 23
        end local 7 // int i
        end local 6 // int j
        end local 5 // byte[] unscaledBytes
        end local 4 // java.math.BigInteger bi
        end local 3 // boolean isNegative
        26: .line 338
      StackMap locals: java.math.BigDecimal int byte[]
      StackMap stack:
            aload 2 /* valueBytes */
            areturn
        end local 2 // byte[] valueBytes
        end local 1 // int scale
        end local 0 // java.math.BigDecimal bigDecimalVal
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0  bigDecimalVal  Ljava/math/BigDecimal;
            0   27     1          scale  I
            2    5     2     valueBytes  [B
           15   27     2     valueBytes  [B
            8   26     3     isNegative  Z
           11   26     4             bi  Ljava/math/BigInteger;
           14   26     5  unscaledBytes  [B
           16   26     6              j  I
           22   26     7              i  I
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      scale          

  static final byte[] convertMoneyToBytes(java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigDecimal;I)[B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.math.BigDecimal bigDecimalVal
        start local 1 // int bLength
         0: .line 342
            iload 1 /* bLength */
            newarray 8
            astore 2 /* valueBytes */
        start local 2 // byte[] valueBytes
         1: .line 344
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            astore 3 /* bi */
        start local 3 // java.math.BigInteger bi
         2: .line 346
            iload 1 /* bLength */
            bipush 8
            if_icmpne 8
         3: .line 348
            iload 1 /* bLength */
            newarray 8
            astore 4 /* longbArray */
        start local 4 // byte[] longbArray
         4: .line 349
            aload 3 /* bi */
            invokevirtual java.math.BigInteger.longValue:()J
            aload 4 /* longbArray */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeLong:(J[BI)V
         5: .line 355
            aload 4 /* longbArray */
            iconst_0
            aload 2 /* valueBytes */
            iconst_4
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 356
            aload 4 /* longbArray */
            iconst_4
            aload 2 /* valueBytes */
            iconst_0
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 4 // byte[] longbArray
         7: .line 357
            goto 9
         8: .line 359
      StackMap locals: byte[] java.math.BigInteger
      StackMap stack:
            aload 3 /* bi */
            invokevirtual java.math.BigInteger.intValue:()I
            aload 2 /* valueBytes */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeInt:(I[BI)V
         9: .line 362
      StackMap locals:
      StackMap stack:
            aload 2 /* valueBytes */
            areturn
        end local 3 // java.math.BigInteger bi
        end local 2 // byte[] valueBytes
        end local 1 // int bLength
        end local 0 // java.math.BigDecimal bigDecimalVal
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0  bigDecimalVal  Ljava/math/BigDecimal;
            0   10     1        bLength  I
            1   10     2     valueBytes  [B
            2   10     3             bi  Ljava/math/BigInteger;
            4    7     4     longbArray  [B
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      bLength        

  static final java.lang.Object convertBigDecimalToObject(java.math.BigDecimal, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.math.BigDecimal bigDecimalVal
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 2 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 377
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 15
                    3: 8
                    4: 9
                    5: 6
                    7: 6
                   13: 1
                   15: 2
                   16: 2
                   17: 4
                   25: 1
                   28: 3
                   31: 5
                   38: 5
                   41: 1
                   42: 1
                   47: 1
              default: 10
          }
         1: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            areturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         3: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.floatValue:()F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         4: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         5: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.shortValue:()S
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         6: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            lconst_0
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
            ifeq 7
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         8: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         9: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.scale:()I
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToBytes:(Ljava/math/BigDecimal;I)[B
            areturn
        10: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.toString:()Ljava/lang/String;
            areturn
        end local 2 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // java.math.BigDecimal bigDecimalVal
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0  bigDecimalVal  Ljava/math/BigDecimal;
            0   11     1       jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   11     2     streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      jdbcType       
      streamType     

  static final java.lang.Object convertMoneyToObject(java.math.BigDecimal, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType, int);
    descriptor: (Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;I)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.math.BigDecimal bigDecimalVal
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 2 // com.microsoft.sqlserver.jdbc.StreamType streamType
        start local 3 // int numberOfBytes
         0: .line 421
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 14
                    3: 8
                    4: 9
                    5: 6
                    7: 6
                   13: 1
                   15: 2
                   16: 2
                   17: 4
                   25: 1
                   28: 3
                   31: 5
                   38: 5
                   41: 1
                   42: 1
              default: 10
          }
         1: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            areturn
         2: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         3: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.floatValue:()F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         4: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         5: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.shortValue:()S
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         6: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            lconst_0
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
            ifeq 7
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
         8: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
         9: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.scale:()I
            iload 3 /* numberOfBytes */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertToBytes:(Ljava/math/BigDecimal;II)[B
            areturn
        10: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.toString:()Ljava/lang/String;
            areturn
        end local 3 // int numberOfBytes
        end local 2 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // java.math.BigDecimal bigDecimalVal
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0  bigDecimalVal  Ljava/math/BigDecimal;
            0   11     1       jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   11     2     streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
            0   11     3  numberOfBytes  I
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      jdbcType       
      streamType     
      numberOfBytes  

  private static byte[] convertToBytes(java.math.BigDecimal, int, int);
    descriptor: (Ljava/math/BigDecimal;II)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.math.BigDecimal value
        start local 1 // int scale
        start local 2 // int numBytes
         0: .line 451
            aload 0 /* value */
            invokevirtual java.math.BigDecimal.signum:()I
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* isNeg */
        start local 3 // boolean isNeg
         3: .line 453
            aload 0 /* value */
            iload 1 /* scale */
            invokevirtual java.math.BigDecimal.setScale:(I)Ljava/math/BigDecimal;
            astore 0 /* value */
         4: .line 455
            aload 0 /* value */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            astore 4 /* bigInt */
        start local 4 // java.math.BigInteger bigInt
         5: .line 457
            aload 4 /* bigInt */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 5 /* unscaledBytes */
        start local 5 // byte[] unscaledBytes
         6: .line 459
            iload 2 /* numBytes */
            newarray 8
            astore 6 /* ret */
        start local 6 // byte[] ret
         7: .line 460
            aload 5 /* unscaledBytes */
            arraylength
            iload 2 /* numBytes */
            if_icmpge 15
         8: .line 461
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 14
        10: .line 462
      StackMap locals: java.math.BigDecimal int int int java.math.BigInteger byte[] byte[] int
      StackMap stack:
            aload 6 /* ret */
            iload 7 /* i */
            iload 3 /* isNeg */
            ifeq 11
            iconst_m1
            goto 12
      StackMap locals: java.math.BigDecimal int int int java.math.BigInteger byte[] byte[] int
      StackMap stack: byte[] int
        11: iconst_0
      StackMap locals: java.math.BigDecimal int int int java.math.BigInteger byte[] byte[] int
      StackMap stack: byte[] int int
        12: i2b
            bastore
        13: .line 461
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iload 2 /* numBytes */
            aload 5 /* unscaledBytes */
            arraylength
            isub
            if_icmplt 10
        end local 7 // int i
        15: .line 465
      StackMap locals:
      StackMap stack:
            iload 2 /* numBytes */
            aload 5 /* unscaledBytes */
            arraylength
            isub
            istore 7 /* offset */
        start local 7 // int offset
        16: .line 466
            aload 5 /* unscaledBytes */
            iconst_0
            aload 6 /* ret */
            iload 7 /* offset */
            iload 2 /* numBytes */
            iload 7 /* offset */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 467
            aload 6 /* ret */
            areturn
        end local 7 // int offset
        end local 6 // byte[] ret
        end local 5 // byte[] unscaledBytes
        end local 4 // java.math.BigInteger bigInt
        end local 3 // boolean isNeg
        end local 2 // int numBytes
        end local 1 // int scale
        end local 0 // java.math.BigDecimal value
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0          value  Ljava/math/BigDecimal;
            0   18     1          scale  I
            0   18     2       numBytes  I
            3   18     3          isNeg  Z
            5   18     4         bigInt  Ljava/math/BigInteger;
            6   18     5  unscaledBytes  [B
            7   18     6            ret  [B
            9   15     7              i  I
           16   18     7         offset  I
    MethodParameters:
          Name  Flags
      value     
      scale     
      numBytes  

  static final java.lang.Object convertBytesToObject(byte[], com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.TypeInfo);
    descriptor: ([BLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/TypeInfo;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // byte[] bytesValue
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 2 // com.microsoft.sqlserver.jdbc.TypeInfo baseTypeInfo
         0: .line 485
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 4
                    4: 9
                    8: 1
                   20: 9
                   39: 9
              default: 14
          }
         1: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* bytesValue */
            aload 0 /* bytesValue */
            arraylength
            invokestatic com.microsoft.sqlserver.jdbc.Util.bytesToHexString:([BI)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         2: .line 489
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 8
            aload 3 /* str */
            invokevirtual java.lang.String.length:()I
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            iconst_2
            imul
            if_icmpge 8
         3: .line 491
            new java.lang.StringBuilder
            dup
            aload 3 /* str */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* strbuf */
        start local 4 // java.lang.StringBuilder strbuf
         4: .line 493
            goto 6
         5: .line 494
      StackMap locals: java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 4 /* strbuf */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 493
      StackMap locals:
      StackMap stack:
            aload 4 /* strbuf */
            invokevirtual java.lang.StringBuilder.length:()I
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            iconst_2
            imul
            if_icmplt 5
         7: .line 496
            aload 4 /* strbuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder strbuf
         8: .line 498
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            areturn
        end local 3 // java.lang.String str
         9: .line 503
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 13
            aload 0 /* bytesValue */
            arraylength
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            if_icmpge 13
        10: .line 505
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            newarray 8
            astore 4 /* newBytes */
        start local 4 // byte[] newBytes
        11: .line 506
            aload 0 /* bytesValue */
            iconst_0
            aload 4 /* newBytes */
            iconst_0
            aload 0 /* bytesValue */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 507
            aload 4 /* newBytes */
            areturn
        end local 4 // byte[] newBytes
        13: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* bytesValue */
            areturn
        14: .line 513
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        15: .line 514
            ldc "R_unsupportedConversionFromTo"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        16: .line 513
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        17: .line 515
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.name:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* jdbcType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        18: .line 516
            aconst_null
            iconst_0
            aconst_null
        19: .line 515
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 4 // java.text.MessageFormat form
        end local 2 // com.microsoft.sqlserver.jdbc.TypeInfo baseTypeInfo
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // byte[] bytesValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0    bytesValue  [B
            0   20     1      jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   20     2  baseTypeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            2    9     3           str  Ljava/lang/String;
            4    8     4        strbuf  Ljava/lang/StringBuilder;
           11   13     4      newBytes  [B
           17   20     4          form  Ljava/text/MessageFormat;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      bytesValue    
      jdbcType      
      baseTypeInfo  

  static final java.lang.Object convertStringToObject(java.lang.String, java.nio.charset.Charset, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.StreamType);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.String stringVal
        start local 1 // java.nio.charset.Charset charset
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
         0: .line 533
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 18
                    3: 12
                    4: 25
                    5: 6
                    7: 6
                   11: 15
                   13: 1
                   15: 2
                   16: 2
                   17: 4
                   25: 1
                   28: 3
                   31: 5
                   34: 16
                   36: 13
                   38: 5
                   41: 1
                   42: 1
                   50: 14
              default: 26
          }
         1: .line 539
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
         2: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            areturn
         3: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
            areturn
         4: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            areturn
         5: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
            areturn
         6: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* trimmedString */
        start local 4 // java.lang.String trimmedString
         7: .line 553
            iconst_1
            aload 4 /* trimmedString */
            invokevirtual java.lang.String.length:()I
            if_icmpne 10
            bipush 49
            aload 4 /* trimmedString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 8
            iconst_1
            goto 9
      StackMap locals: java.lang.String
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            goto 11
        10: .line 554
      StackMap locals:
      StackMap stack:
            aload 4 /* trimmedString */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
        11: .line 553
      StackMap locals:
      StackMap stack: java.lang.Boolean
            areturn
        end local 4 // java.lang.String trimmedString
        12: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            areturn
        13: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            areturn
        14: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DDC.parseStringIntoLDT:(Ljava/lang/String;)Ljava/time/LocalDateTime;
            areturn
        15: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DDC.getDatePart:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.sql.Date.valueOf:(Ljava/lang/String;)Ljava/sql/Date;
            areturn
        16: .line 575
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "1970-01-01 "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* stringVal */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DDC.getTimePart:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
        17: .line 574
            astore 5 /* ts */
        start local 5 // java.sql.Timestamp ts
        18: .line 576
            new java.util.GregorianCalendar
            dup
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/Locale;)V
            astore 6 /* cal */
        start local 6 // java.util.GregorianCalendar cal
        19: .line 577
            aload 6 /* cal */
            invokevirtual java.util.GregorianCalendar.clear:()V
        20: .line 578
            aload 6 /* cal */
            aload 5 /* ts */
            invokevirtual java.sql.Timestamp.getTime:()J
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        21: .line 579
            aload 5 /* ts */
            invokevirtual java.sql.Timestamp.getNanos:()I
            ldc 1000000
            irem
            ldc 500000
            if_icmplt 23
        22: .line 580
            aload 6 /* cal */
            bipush 14
            iconst_1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        23: .line 581
      StackMap locals: java.lang.String java.nio.charset.Charset com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.StreamType top java.sql.Timestamp java.util.GregorianCalendar
      StackMap stack:
            aload 6 /* cal */
            sipush 1970
            iconst_0
            iconst_1
            invokevirtual java.util.GregorianCalendar.set:(III)V
        24: .line 582
            new java.sql.Time
            dup
            aload 6 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Time.<init>:(J)V
            areturn
        end local 6 // java.util.GregorianCalendar cal
        end local 5 // java.sql.Timestamp ts
        25: .line 586
      StackMap locals: java.lang.String java.nio.charset.Charset com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.StreamType
      StackMap stack:
            aload 0 /* stringVal */
            aload 1 /* charset */
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            areturn
        26: .line 590
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$StreamType:()[I
            aload 3 /* streamType */
            invokevirtual com.microsoft.sqlserver.jdbc.StreamType.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 28
                    3: 29
                    4: 27
              default: 30
          }
        27: .line 592
      StackMap locals:
      StackMap stack:
            new java.io.StringReader
            dup
            aload 0 /* stringVal */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            areturn
        28: .line 594
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* stringVal */
            getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            areturn
        29: .line 596
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* stringVal */
            invokevirtual java.lang.String.getBytes:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            areturn
        30: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* stringVal */
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.StreamType streamType
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // java.nio.charset.Charset charset
        end local 0 // java.lang.String stringVal
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0      stringVal  Ljava/lang/String;
            0   31     1        charset  Ljava/nio/charset/Charset;
            0   31     2       jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   31     3     streamType  Lcom/microsoft/sqlserver/jdbc/StreamType;
            7   12     4  trimmedString  Ljava/lang/String;
           18   25     5             ts  Ljava/sql/Timestamp;
           19   25     6            cal  Ljava/util/GregorianCalendar;
    Exceptions:
      throws java.io.UnsupportedEncodingException, java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      stringVal   
      charset     
      jdbcType    
      streamType  

  private static java.time.LocalDateTime parseStringIntoLDT(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/time/LocalDateTime;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=19, args_size=1
        start local 0 // java.lang.String s
         0: .line 617
            iconst_0
            istore 1 /* year */
        start local 1 // int year
         1: .line 618
            iconst_0
            istore 2 /* month */
        start local 2 // int month
         2: .line 619
            iconst_0
            istore 3 /* day */
        start local 3 // int day
         3: .line 623
            iconst_0
            istore 7 /* a_nanos */
        start local 7 // int a_nanos
         4: .line 630
            ldc "Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]"
            astore 14 /* formatError */
        start local 14 // java.lang.String formatError
         5: .line 632
            aload 0 /* s */
            ifnonnull 7
         6: .line 633
            new java.lang.IllegalArgumentException
            dup
            ldc "null string"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 636
      StackMap locals: java.lang.String int int int top top top int top top top top top top java.lang.String
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* s */
         8: .line 637
            aload 0 /* s */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 10 /* dividingSpace */
        start local 10 // int dividingSpace
         9: .line 638
            iload 10 /* dividingSpace */
            ifge 11
        10: .line 639
            new java.lang.IllegalArgumentException
            dup
            aload 14 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 643
      StackMap locals: java.lang.String int int int top top top int top top int top top top java.lang.String
      StackMap stack:
            aload 0 /* s */
            bipush 45
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* firstDash */
        start local 8 // int firstDash
        12: .line 644
            aload 0 /* s */
            bipush 45
            iload 8 /* firstDash */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 9 /* secondDash */
        start local 9 // int secondDash
        13: .line 647
            aload 0 /* s */
            bipush 58
            iload 10 /* dividingSpace */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 11 /* firstColon */
        start local 11 // int firstColon
        14: .line 648
            aload 0 /* s */
            bipush 58
            iload 11 /* firstColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 12 /* secondColon */
        start local 12 // int secondColon
        15: .line 649
            aload 0 /* s */
            bipush 46
            iload 12 /* secondColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 13 /* period */
        start local 13 // int period
        16: .line 652
            iconst_0
            istore 15 /* parsedDate */
        start local 15 // boolean parsedDate
        17: .line 653
            iload 8 /* firstDash */
            ifle 25
            iload 9 /* secondDash */
            ifle 25
            iload 9 /* secondDash */
            iload 10 /* dividingSpace */
            iconst_1
            isub
            if_icmpge 25
        18: .line 654
            iload 8 /* firstDash */
            iconst_4
            if_icmpne 25
            iload 9 /* secondDash */
            iload 8 /* firstDash */
            isub
            iconst_1
            if_icmple 25
            iload 9 /* secondDash */
            iload 8 /* firstDash */
            isub
            iconst_3
            if_icmpgt 25
        19: .line 655
            iload 10 /* dividingSpace */
            iload 9 /* secondDash */
            isub
            iconst_1
            if_icmple 25
            iload 10 /* dividingSpace */
            iload 9 /* secondDash */
            isub
            iconst_3
            if_icmpgt 25
        20: .line 656
            aload 0 /* s */
            iconst_0
            iload 8 /* firstDash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* year */
        21: .line 657
            aload 0 /* s */
            iload 8 /* firstDash */
            iconst_1
            iadd
            iload 9 /* secondDash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* month */
        22: .line 658
            aload 0 /* s */
            iload 9 /* secondDash */
            iconst_1
            iadd
            iload 10 /* dividingSpace */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* day */
        23: .line 660
            iload 2 /* month */
            iconst_1
            if_icmplt 25
            iload 2 /* month */
            bipush 12
            if_icmpgt 25
            iload 3 /* day */
            iconst_1
            if_icmplt 25
            iload 3 /* day */
            bipush 31
            if_icmpgt 25
        24: .line 661
            iconst_1
            istore 15 /* parsedDate */
        25: .line 665
      StackMap locals: java.lang.String int int int top top top int int int int int int int java.lang.String int
      StackMap stack:
            iload 15 /* parsedDate */
            ifne 27
        26: .line 666
            new java.lang.IllegalArgumentException
            dup
            aload 14 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 16 /* len */
        start local 16 // int len
        28: .line 671
            iload 11 /* firstColon */
            ifle 49
            iload 12 /* secondColon */
            ifle 49
            iload 12 /* secondColon */
            iload 16 /* len */
            iconst_1
            isub
            if_icmpge 49
        29: .line 672
            aload 0 /* s */
            iload 10 /* dividingSpace */
            iconst_1
            iadd
            iload 11 /* firstColon */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* hour */
        start local 4 // int hour
        30: .line 673
            aload 0 /* s */
            iload 11 /* firstColon */
            iconst_1
            iadd
            iload 12 /* secondColon */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 5 /* minute */
        start local 5 // int minute
        31: .line 674
            iload 13 /* period */
            ifle 45
            iload 13 /* period */
            iload 16 /* len */
            iconst_1
            isub
            if_icmpge 45
        32: .line 675
            aload 0 /* s */
            iload 12 /* secondColon */
            iconst_1
            iadd
            iload 13 /* period */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 6 /* second */
        start local 6 // int second
        33: .line 676
            iload 16 /* len */
            iload 13 /* period */
            iconst_1
            iadd
            isub
            istore 17 /* nanoPrecision */
        start local 17 // int nanoPrecision
        34: .line 677
            iload 17 /* nanoPrecision */
            bipush 9
            if_icmple 36
        35: .line 678
            new java.lang.IllegalArgumentException
            dup
            aload 14 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 679
      StackMap locals: java.lang.String int int int int int int int int int int int int int java.lang.String int int int
      StackMap stack:
            aload 0 /* s */
            iload 13 /* period */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 38
        37: .line 680
            new java.lang.IllegalArgumentException
            dup
            aload 14 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 13 /* period */
            iconst_1
            iadd
            iload 16 /* len */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 18 /* tmpNanos */
        start local 18 // int tmpNanos
        39: .line 682
            goto 42
        40: .line 683
      StackMap locals: int
      StackMap stack:
            iload 18 /* tmpNanos */
            bipush 10
            imul
            istore 18 /* tmpNanos */
        41: .line 684
            iinc 17 /* nanoPrecision */ 1
        42: .line 682
      StackMap locals:
      StackMap stack:
            iload 17 /* nanoPrecision */
            bipush 9
            if_icmplt 40
        43: .line 686
            iload 18 /* tmpNanos */
            istore 7 /* a_nanos */
        end local 18 // int tmpNanos
        end local 17 // int nanoPrecision
        44: .line 687
            goto 50
        end local 6 // int second
      StackMap locals: java.lang.String int int int int int top int int int int int int int java.lang.String int int
      StackMap stack:
        45: iload 13 /* period */
            ifle 47
        46: .line 688
            new java.lang.IllegalArgumentException
            dup
            aload 14 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 12 /* secondColon */
            iconst_1
            iadd
            iload 16 /* len */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 6 /* second */
        start local 6 // int second
        48: .line 692
            goto 50
        end local 6 // int second
        end local 5 // int minute
        end local 4 // int hour
        49: .line 693
      StackMap locals: java.lang.String int int int top top top int int int int int int int java.lang.String int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 14 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // int hour
        start local 5 // int minute
        start local 6 // int second
        50: .line 695
      StackMap locals: java.lang.String int int int int int int int int int int int int int java.lang.String int int
      StackMap stack:
            iload 1 /* year */
            iload 2 /* month */
            iload 3 /* day */
            iload 4 /* hour */
            iload 5 /* minute */
            iload 6 /* second */
            iload 7 /* a_nanos */
            invokestatic java.time.LocalDateTime.of:(IIIIIII)Ljava/time/LocalDateTime;
            areturn
        end local 16 // int len
        end local 15 // boolean parsedDate
        end local 14 // java.lang.String formatError
        end local 13 // int period
        end local 12 // int secondColon
        end local 11 // int firstColon
        end local 10 // int dividingSpace
        end local 9 // int secondDash
        end local 8 // int firstDash
        end local 7 // int a_nanos
        end local 6 // int second
        end local 5 // int minute
        end local 4 // int hour
        end local 3 // int day
        end local 2 // int month
        end local 1 // int year
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   51     0              s  Ljava/lang/String;
            1   51     1           year  I
            2   51     2          month  I
            3   51     3            day  I
           30   49     4           hour  I
           50   51     4           hour  I
           31   49     5         minute  I
           50   51     5         minute  I
           33   45     6         second  I
           48   49     6         second  I
           50   51     6         second  I
            4   51     7        a_nanos  I
           12   51     8      firstDash  I
           13   51     9     secondDash  I
            9   51    10  dividingSpace  I
           14   51    11     firstColon  I
           15   51    12    secondColon  I
           16   51    13         period  I
            5   51    14    formatError  Ljava/lang/String;
           17   51    15     parsedDate  Z
           28   51    16            len  I
           34   44    17  nanoPrecision  I
           39   44    18       tmpNanos  I
    MethodParameters:
      Name  Flags
      s     

  static final java.lang.Object convertStreamToObject(com.microsoft.sqlserver.jdbc.BaseInputStream, com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.InputStreamGetterArgs);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.BaseInputStream stream
        start local 1 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs getterArgs
         0: .line 702
            aload 0 /* stream */
            ifnonnull 2
         1: .line 703
            aconst_null
            areturn
         2: .line 705
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 3
            aload 1 /* typeInfo */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 706
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 4
            aload 3 /* getterArgs */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 708
      StackMap locals:
      StackMap stack:
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 4 /* ssType */
        start local 4 // com.microsoft.sqlserver.jdbc.SSType ssType
         5: .line 711
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 13
                    4: 12
                    6: 12
                    8: 20
                    9: 6
                   19: 20
                   20: 12
                   21: 20
                   22: 20
                   23: 8
                   26: 20
                   32: 10
                   39: 12
                   40: 20
              default: 20
          }
         6: .line 713
      StackMap locals: com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerClob
            dup
            aload 0 /* stream */
            aload 1 /* typeInfo */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerClob.<init>:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;)V
         7: areturn
         8: .line 715
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerNClob
            dup
            aload 0 /* stream */
            aload 1 /* typeInfo */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerNClob.<init>:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;)V
         9: areturn
        10: .line 717
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerSQLXML
            dup
            aload 0 /* stream */
            aload 3 /* getterArgs */
            aload 1 /* typeInfo */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerSQLXML.<init>:(Ljava/io/InputStream;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/TypeInfo;)V
        11: areturn
        12: .line 723
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.StreamType.BINARY:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpne 15
        13: .line 724
            aload 0 /* stream */
        14: areturn
        15: .line 725
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 18
        16: .line 726
            new com.microsoft.sqlserver.jdbc.SQLServerBlob
            dup
            aload 0 /* stream */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBlob.<init>:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;)V
        17: areturn
        18: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* stream */
            invokevirtual com.microsoft.sqlserver.jdbc.BaseInputStream.getBytes:()[B
        19: areturn
        20: .line 738
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 22
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 22
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARYMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 22
        21: .line 739
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 22
            getstatic com.microsoft.sqlserver.jdbc.SSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 22
            getstatic com.microsoft.sqlserver.jdbc.SSType.UDT:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 51
        22: .line 740
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.StreamType.ASCII:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpne 25
        23: .line 741
            aload 0 /* stream */
        24: areturn
        25: .line 743
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 27
            getstatic com.microsoft.sqlserver.jdbc.StreamType.CHARACTER:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpeq 27
        26: .line 744
            getstatic com.microsoft.sqlserver.jdbc.StreamType.NONE:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* stream */
            invokevirtual com.microsoft.sqlserver.jdbc.BaseInputStream.getBytes:()[B
            astore 5 /* byteValue */
        start local 5 // byte[] byteValue
        28: .line 747
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GUID:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 31
        29: .line 748
            aload 5 /* byteValue */
            invokestatic com.microsoft.sqlserver.jdbc.Util.readGUID:([B)Ljava/lang/String;
        30: areturn
        31: .line 749
      StackMap locals: byte[]
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GEOMETRY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 38
        32: .line 750
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSTypeName:()Ljava/lang/String;
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 36
        33: .line 751
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSTypeName:()Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
        34: .line 752
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
        35: .line 751
            invokestatic com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError:(Ljava/lang/String;Ljava/lang/String;)V
        36: .line 754
      StackMap locals:
      StackMap stack:
            aload 5 /* byteValue */
            invokestatic com.microsoft.sqlserver.jdbc.Geometry.STGeomFromWKB:([B)Lcom/microsoft/sqlserver/jdbc/Geometry;
        37: areturn
        38: .line 755
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GEOGRAPHY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 45
        39: .line 756
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSTypeName:()Ljava/lang/String;
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 43
        40: .line 757
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSTypeName:()Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
        41: .line 758
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
        42: .line 757
            invokestatic com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError:(Ljava/lang/String;Ljava/lang/String;)V
        43: .line 760
      StackMap locals:
      StackMap stack:
            aload 5 /* byteValue */
            invokestatic com.microsoft.sqlserver.jdbc.Geography.STGeomFromWKB:([B)Lcom/microsoft/sqlserver/jdbc/Geography;
        44: areturn
        45: .line 762
      StackMap locals:
      StackMap stack:
            aload 5 /* byteValue */
            aload 5 /* byteValue */
            arraylength
            invokestatic com.microsoft.sqlserver.jdbc.Util.bytesToHexString:([BI)Ljava/lang/String;
            astore 6 /* hexString */
        start local 6 // java.lang.String hexString
        46: .line 764
            getstatic com.microsoft.sqlserver.jdbc.StreamType.NONE:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpne 49
        47: .line 765
            aload 6 /* hexString */
        48: areturn
        49: .line 767
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.StringReader
            dup
            aload 6 /* hexString */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
        50: areturn
        end local 6 // java.lang.String hexString
        end local 5 // byte[] byteValue
        51: .line 773
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.StreamType.ASCII:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpne 64
        52: .line 775
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.supportsFastAsciiConversion:()Z
            ifeq 55
        53: .line 776
            new com.microsoft.sqlserver.jdbc.AsciiFilteredInputStream
            dup
            aload 0 /* stream */
            invokespecial com.microsoft.sqlserver.jdbc.AsciiFilteredInputStream.<init>:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;)V
        54: areturn
        55: .line 779
      StackMap locals:
      StackMap stack:
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.isAdaptive:Z
            ifeq 60
        56: .line 780
            aload 0 /* stream */
        57: .line 781
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 0 /* stream */
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        58: .line 780
            invokestatic com.microsoft.sqlserver.jdbc.AsciiFilteredUnicodeInputStream.MakeAsciiFilteredUnicodeInputStream:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Ljava/io/Reader;)Lcom/microsoft/sqlserver/jdbc/AsciiFilteredUnicodeInputStream;
        59: areturn
        60: .line 783
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
        61: .line 784
            new java.lang.String
            dup
            aload 0 /* stream */
            invokevirtual com.microsoft.sqlserver.jdbc.BaseInputStream.getBytes:()[B
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        62: .line 783
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        63: areturn
        64: .line 786
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.StreamType.CHARACTER:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpeq 66
        65: .line 787
            getstatic com.microsoft.sqlserver.jdbc.StreamType.NCHARACTER:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            if_acmpne 71
        66: .line 788
      StackMap locals:
      StackMap stack:
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.isAdaptive:Z
            ifeq 69
        67: .line 789
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 0 /* stream */
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        68: areturn
        69: .line 791
      StackMap locals:
      StackMap stack:
            new java.io.StringReader
            dup
            new java.lang.String
            dup
            aload 0 /* stream */
            invokevirtual com.microsoft.sqlserver.jdbc.BaseInputStream.getBytes:()[B
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
        70: areturn
        71: .line 796
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* stream */
            invokevirtual com.microsoft.sqlserver.jdbc.BaseInputStream.getBytes:()[B
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
        72: .line 797
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            aload 2 /* jdbcType */
            aload 3 /* getterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        73: .line 796
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStringToObject:(Ljava/lang/String;Ljava/nio/charset/Charset;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
        74: areturn
        75: .line 809
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 5 /* e */
        start local 5 // java.lang.IllegalArgumentException e
        76: .line 810
            new java.text.MessageFormat
            dup
            ldc "R_errorConvertingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        77: .line 811
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            dup
            iconst_1
            aload 2 /* jdbcType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 5 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 6 // java.text.MessageFormat form
        end local 5 // java.lang.IllegalArgumentException e
        78: .line 812
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
        79: .line 813
            new java.text.MessageFormat
            dup
            ldc "R_errorConvertingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        80: .line 814
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            dup
            iconst_1
            aload 2 /* jdbcType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 5 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 6 // java.text.MessageFormat form
        end local 5 // java.io.UnsupportedEncodingException e
        end local 4 // com.microsoft.sqlserver.jdbc.SSType ssType
        end local 3 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs getterArgs
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 0 // com.microsoft.sqlserver.jdbc.BaseInputStream stream
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   81     0      stream  Lcom/microsoft/sqlserver/jdbc/BaseInputStream;
            0   81     1    typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0   81     2    jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   81     3  getterArgs  Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;
            5   81     4      ssType  Lcom/microsoft/sqlserver/jdbc/SSType;
           28   51     5   byteValue  [B
           46   51     6   hexString  Ljava/lang/String;
           76   78     5           e  Ljava/lang/IllegalArgumentException;
           77   78     6        form  Ljava/text/MessageFormat;
           79   81     5           e  Ljava/io/UnsupportedEncodingException;
           80   81     6        form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
           5     7      75  Class java.lang.IllegalArgumentException
           8     9      75  Class java.lang.IllegalArgumentException
          10    11      75  Class java.lang.IllegalArgumentException
          12    14      75  Class java.lang.IllegalArgumentException
          15    17      75  Class java.lang.IllegalArgumentException
          18    19      75  Class java.lang.IllegalArgumentException
          20    24      75  Class java.lang.IllegalArgumentException
          25    30      75  Class java.lang.IllegalArgumentException
          31    37      75  Class java.lang.IllegalArgumentException
          38    44      75  Class java.lang.IllegalArgumentException
          45    48      75  Class java.lang.IllegalArgumentException
          49    50      75  Class java.lang.IllegalArgumentException
          51    54      75  Class java.lang.IllegalArgumentException
          55    59      75  Class java.lang.IllegalArgumentException
          60    63      75  Class java.lang.IllegalArgumentException
          64    68      75  Class java.lang.IllegalArgumentException
          69    70      75  Class java.lang.IllegalArgumentException
          71    74      75  Class java.lang.IllegalArgumentException
           5     7      78  Class java.io.UnsupportedEncodingException
           8     9      78  Class java.io.UnsupportedEncodingException
          10    11      78  Class java.io.UnsupportedEncodingException
          12    14      78  Class java.io.UnsupportedEncodingException
          15    17      78  Class java.io.UnsupportedEncodingException
          18    19      78  Class java.io.UnsupportedEncodingException
          20    24      78  Class java.io.UnsupportedEncodingException
          25    30      78  Class java.io.UnsupportedEncodingException
          31    37      78  Class java.io.UnsupportedEncodingException
          38    44      78  Class java.io.UnsupportedEncodingException
          45    48      78  Class java.io.UnsupportedEncodingException
          49    50      78  Class java.io.UnsupportedEncodingException
          51    54      78  Class java.io.UnsupportedEncodingException
          55    59      78  Class java.io.UnsupportedEncodingException
          60    63      78  Class java.io.UnsupportedEncodingException
          64    68      78  Class java.io.UnsupportedEncodingException
          69    70      78  Class java.io.UnsupportedEncodingException
          71    74      78  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      stream      
      typeInfo    
      jdbcType    
      getterArgs  

  private static java.lang.String getDatePart(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 821
            aload 0 /* s */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* sp */
        start local 1 // int sp
         1: .line 822
            iconst_m1
            iload 1 /* sp */
            if_icmpne 3
         2: .line 823
            aload 0 /* s */
            areturn
         3: .line 824
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iconst_0
            iload 1 /* sp */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int sp
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
            1    4     1    sp  I
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String getTimePart(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 830
            aload 0 /* s */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* sp */
        start local 1 // int sp
         1: .line 831
            iconst_m1
            iload 1 /* sp */
            if_icmpne 3
         2: .line 832
            aload 0 /* s */
            areturn
         3: .line 833
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* sp */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // int sp
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
            1    4     1    sp  I
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String fractionalSecondsString(long, int);
    descriptor: (JI)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long subSecondNanos
        start local 2 // int scale
         0: .line 839
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 2
            lconst_0
            lload 0 /* subSecondNanos */
            lcmp
            ifgt 1
            lload 0 /* subSecondNanos */
            ldc 1000000000
            lcmp
            iflt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 840
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 4
            iload 2 /* scale */
            iflt 3
            iload 2 /* scale */
            bipush 7
            if_icmple 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 844
      StackMap locals:
      StackMap stack:
            iload 2 /* scale */
            ifne 6
         5: .line 845
            ldc ""
            areturn
         6: .line 847
      StackMap locals:
      StackMap stack:
            lload 0 /* subSecondNanos */
            ldc 1000000000
            lrem
            bipush 9
            invokestatic java.math.BigDecimal.valueOf:(JI)Ljava/math/BigDecimal;
            iload 2 /* scale */
            invokevirtual java.math.BigDecimal.setScale:(I)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.toPlainString:()Ljava/lang/String;
         7: .line 848
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
         8: .line 847
            areturn
        end local 2 // int scale
        end local 0 // long subSecondNanos
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0  subSecondNanos  J
            0    9     2           scale  I
    MethodParameters:
                Name  Flags
      subSecondNanos  
      scale           

  static final java.lang.Object convertTemporalToObject(com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.SSType, java.util.Calendar, int, long, int);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=8, locals=18, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 1 // com.microsoft.sqlserver.jdbc.SSType ssType
        start local 2 // java.util.Calendar timeZoneCalendar
        start local 3 // int daysSinceBaseDate
        start local 4 // long ticksSinceMidnight
        start local 6 // int fractionalSecondsScale
         0: .line 896
            aload 2 /* timeZoneCalendar */
            ifnonnull 4
         1: .line 897
            aload 0 /* jdbcType */
            aload 1 /* ssType */
            iload 3 /* daysSinceBaseDate */
            lload 4 /* ticksSinceMidnight */
         2: .line 898
            iload 6 /* fractionalSecondsScale */
         3: .line 897
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;IJI)Ljava/lang/Object;
            areturn
         4: .line 903
      StackMap locals:
      StackMap stack:
            aload 2 /* timeZoneCalendar */
            invokevirtual java.util.Calendar.getTimeZone:()Ljava/util/TimeZone;
            astore 7 /* localTimeZone */
        start local 7 // java.util.TimeZone localTimeZone
         5: .line 909
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* ssType */
            if_acmpne 6
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            goto 7
      StackMap locals: java.util.TimeZone
      StackMap stack:
         6: aload 7 /* localTimeZone */
      StackMap locals:
      StackMap stack: java.util.TimeZone
         7: astore 8 /* componentTimeZone */
        start local 8 // java.util.TimeZone componentTimeZone
         8: .line 915
            new java.util.GregorianCalendar
            dup
            aload 8 /* componentTimeZone */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 10 /* cal */
        start local 10 // java.util.GregorianCalendar cal
         9: .line 919
            aload 10 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        10: .line 923
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.clear:()V
        11: .line 927
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 1 /* ssType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 10 - 14
                   10: 42
                   11: 16
                   12: 12
                   13: 16
                   14: 16
              default: 46
          }
        12: .line 939
      StackMap locals: com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SSType java.util.Calendar int long int java.util.TimeZone java.util.TimeZone top java.util.GregorianCalendar
      StackMap stack:
            aload 10 /* cal */
            sipush 1900
            iconst_0
            iconst_1
            iconst_0
            iconst_0
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(IIIIII)V
        13: .line 940
            aload 10 /* cal */
            bipush 14
            lload 4 /* ticksSinceMidnight */
            ldc 1000000
            ldiv
            l2i
            invokevirtual java.util.GregorianCalendar.set:(II)V
        14: .line 942
            lload 4 /* ticksSinceMidnight */
            ldc 1000000000
            lrem
            l2i
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        15: .line 943
            goto 47
        end local 9 // int subSecondNanos
        16: .line 955
      StackMap locals:
      StackMap stack:
            iload 3 /* daysSinceBaseDate */
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.DAYS_SINCE_BASE_DATE_HINT:I
            if_icmplt 22
        17: .line 961
            aload 10 /* cal */
            iconst_1
            iconst_0
            iconst_1
            iload 3 /* daysSinceBaseDate */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.EXTRA_DAYS_TO_BE_ADDED:I
            iadd
            iconst_0
            iconst_0
        18: .line 962
            iconst_0
        19: .line 961
            invokevirtual java.util.GregorianCalendar.set:(IIIIII)V
        20: .line 963
            aload 10 /* cal */
            bipush 14
            lload 4 /* ticksSinceMidnight */
            ldc 1000000
            ldiv
            l2i
            invokevirtual java.util.GregorianCalendar.set:(II)V
        21: .line 964
            goto 35
        22: .line 976
      StackMap locals:
      StackMap stack:
            aload 10 /* cal */
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.PURE_CHANGE_DATE:Ljava/util/Date;
            invokevirtual java.util.GregorianCalendar.setGregorianChange:(Ljava/util/Date;)V
        23: .line 982
            aload 10 /* cal */
            iconst_1
            iconst_0
            iconst_1
            iload 3 /* daysSinceBaseDate */
            iadd
            iconst_0
            iconst_0
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(IIIIII)V
        24: .line 983
            aload 10 /* cal */
            bipush 14
            lload 4 /* ticksSinceMidnight */
            ldc 1000000
            ldiv
            l2i
            invokevirtual java.util.GregorianCalendar.set:(II)V
        25: .line 988
            aload 10 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 11 /* year */
        start local 11 // int year
        26: .line 989
            aload 10 /* cal */
            iconst_2
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 12 /* month */
        start local 12 // int month
        27: .line 990
            aload 10 /* cal */
            iconst_5
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 13 /* date */
        start local 13 // int date
        28: .line 991
            aload 10 /* cal */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 14 /* hour */
        start local 14 // int hour
        29: .line 992
            aload 10 /* cal */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 15 /* minute */
        start local 15 // int minute
        30: .line 993
            aload 10 /* cal */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 16 /* second */
        start local 16 // int second
        31: .line 994
            aload 10 /* cal */
            bipush 14
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 17 /* millis */
        start local 17 // int millis
        32: .line 996
            aload 10 /* cal */
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.STANDARD_CHANGE_DATE:Ljava/util/Date;
            invokevirtual java.util.GregorianCalendar.setGregorianChange:(Ljava/util/Date;)V
        33: .line 997
            aload 10 /* cal */
            iload 11 /* year */
            iload 12 /* month */
            iload 13 /* date */
            iload 14 /* hour */
            iload 15 /* minute */
            iload 16 /* second */
            invokevirtual java.util.GregorianCalendar.set:(IIIIII)V
        34: .line 998
            aload 10 /* cal */
            bipush 14
            iload 17 /* millis */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        end local 17 // int millis
        end local 16 // int second
        end local 15 // int minute
        end local 14 // int hour
        end local 13 // int date
        end local 12 // int month
        end local 11 // int year
        35: .line 1007
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* ssType */
            if_acmpne 40
            aload 8 /* componentTimeZone */
            aload 7 /* localTimeZone */
            invokevirtual java.util.TimeZone.hasSameRules:(Ljava/util/TimeZone;)Z
            ifne 40
        36: .line 1008
            new java.util.GregorianCalendar
            dup
            aload 7 /* localTimeZone */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 11 /* localCalendar */
        start local 11 // java.util.GregorianCalendar localCalendar
        37: .line 1009
            aload 11 /* localCalendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        38: .line 1010
            aload 11 /* localCalendar */
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        39: .line 1011
            aload 11 /* localCalendar */
            astore 10 /* cal */
        end local 11 // java.util.GregorianCalendar localCalendar
        40: .line 1014
      StackMap locals:
      StackMap stack:
            lload 4 /* ticksSinceMidnight */
            ldc 1000000000
            lrem
            l2i
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        41: .line 1015
            goto 47
        end local 9 // int subSecondNanos
        42: .line 1029
      StackMap locals:
      StackMap stack:
            aload 10 /* cal */
            sipush 1900
            iconst_0
            iconst_1
            iload 3 /* daysSinceBaseDate */
            iadd
            iconst_0
            iconst_0
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(IIIIII)V
        43: .line 1030
            aload 10 /* cal */
            bipush 14
            lload 4 /* ticksSinceMidnight */
            l2i
            invokevirtual java.util.GregorianCalendar.set:(II)V
        44: .line 1032
            lload 4 /* ticksSinceMidnight */
            ldc 1000000
            lmul
            ldc 1000000000
            lrem
            l2i
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        45: .line 1033
            goto 47
        end local 9 // int subSecondNanos
        46: .line 1037
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ssType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 9 // int subSecondNanos
        47: .line 1040
      StackMap locals: com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SSType java.util.Calendar int long int java.util.TimeZone java.util.TimeZone int java.util.GregorianCalendar
      StackMap stack:
            aload 2 /* timeZoneCalendar */
            bipush 15
            invokevirtual java.util.Calendar.get:(I)I
            istore 11 /* localMillisOffset */
        start local 11 // int localMillisOffset
        48: .line 1043
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType$Category:()[I
            aload 0 /* jdbcType */
            getfield com.microsoft.sqlserver.jdbc.JDBCType.category:Lcom/microsoft/sqlserver/jdbc/JDBCType$Category;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType$Category.ordinal:()I
            iaload
            lookupswitch { // 7
                    1: 87
                    7: 49
                   11: 68
                   12: 73
                   13: 77
                   16: 82
                   21: 49
              default: 108
          }
        49: .line 1046
      StackMap locals: int
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 1 /* ssType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 10 - 14
                   10: 55
                   11: 50
                   12: 63
                   13: 55
                   14: 58
              default: 67
          }
        50: .line 1050
      StackMap locals:
      StackMap stack:
            aload 10 /* cal */
            bipush 11
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        51: .line 1051
            aload 10 /* cal */
            bipush 12
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        52: .line 1052
            aload 10 /* cal */
            bipush 13
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        53: .line 1053
            aload 10 /* cal */
            bipush 14
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        54: .line 1054
            new java.sql.Date
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Date.<init>:(J)V
            areturn
        55: .line 1059
      StackMap locals:
      StackMap stack:
            new java.sql.Timestamp
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 12 /* ts */
        start local 12 // java.sql.Timestamp ts
        56: .line 1060
            aload 12 /* ts */
            iload 9 /* subSecondNanos */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        57: .line 1061
            aload 12 /* ts */
            areturn
        end local 12 // java.sql.Timestamp ts
        58: .line 1067
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 59
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* ssType */
            if_acmpeq 59
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        59: .line 1074
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 60
            iload 11 /* localMillisOffset */
            ldc 60000
            irem
            ifeq 60
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        60: .line 1076
      StackMap locals:
      StackMap stack:
            new java.sql.Timestamp
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 12 /* ts */
        start local 12 // java.sql.Timestamp ts
        61: .line 1077
            aload 12 /* ts */
            iload 9 /* subSecondNanos */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        62: .line 1078
            aload 12 /* ts */
            iload 11 /* localMillisOffset */
            ldc 60000
            idiv
            invokestatic microsoft.sql.DateTimeOffset.valueOf:(Ljava/sql/Timestamp;I)Lmicrosoft/sql/DateTimeOffset;
            areturn
        end local 12 // java.sql.Timestamp ts
        63: .line 1086
      StackMap locals:
      StackMap stack:
            iload 9 /* subSecondNanos */
            ldc 1000000
            irem
            ldc 500000
            if_icmplt 65
        64: .line 1087
            aload 10 /* cal */
            bipush 14
            iconst_1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        65: .line 1093
      StackMap locals:
      StackMap stack:
            aload 10 /* cal */
            sipush 1970
            iconst_0
            iconst_1
            invokevirtual java.util.GregorianCalendar.set:(III)V
        66: .line 1095
            new java.sql.Time
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Time.<init>:(J)V
            areturn
        67: .line 1099
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ssType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        68: .line 1106
      StackMap locals:
      StackMap stack:
            aload 10 /* cal */
            bipush 11
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        69: .line 1107
            aload 10 /* cal */
            bipush 12
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        70: .line 1108
            aload 10 /* cal */
            bipush 13
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        71: .line 1109
            aload 10 /* cal */
            bipush 14
            iconst_0
            invokevirtual java.util.GregorianCalendar.set:(II)V
        72: .line 1110
            new java.sql.Date
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Date.<init>:(J)V
            areturn
        73: .line 1118
      StackMap locals:
      StackMap stack:
            iload 9 /* subSecondNanos */
            ldc 1000000
            irem
            ldc 500000
            if_icmplt 75
        74: .line 1119
            aload 10 /* cal */
            bipush 14
            iconst_1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        75: .line 1125
      StackMap locals:
      StackMap stack:
            aload 10 /* cal */
            sipush 1970
            iconst_0
            iconst_1
            invokevirtual java.util.GregorianCalendar.set:(III)V
        76: .line 1127
            new java.sql.Time
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Time.<init>:(J)V
            areturn
        77: .line 1131
      StackMap locals:
      StackMap stack:
            new java.sql.Timestamp
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 12 /* ts */
        start local 12 // java.sql.Timestamp ts
        78: .line 1132
            aload 12 /* ts */
            iload 9 /* subSecondNanos */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        79: .line 1133
            aload 0 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LOCALDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpne 81
        80: .line 1134
            aload 12 /* ts */
            invokevirtual java.sql.Timestamp.toLocalDateTime:()Ljava/time/LocalDateTime;
            areturn
        81: .line 1136
      StackMap locals: java.sql.Timestamp
      StackMap stack:
            aload 12 /* ts */
            areturn
        end local 12 // java.sql.Timestamp ts
        82: .line 1142
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 83
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* ssType */
            if_acmpeq 83
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        83: .line 1149
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.DDC.$assertionsDisabled:Z
            ifne 84
            iload 11 /* localMillisOffset */
            ldc 60000
            irem
            ifeq 84
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        84: .line 1151
      StackMap locals:
      StackMap stack:
            new java.sql.Timestamp
            dup
            aload 10 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 12 /* ts */
        start local 12 // java.sql.Timestamp ts
        85: .line 1152
            aload 12 /* ts */
            iload 9 /* subSecondNanos */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        86: .line 1153
            aload 12 /* ts */
            iload 11 /* localMillisOffset */
            ldc 60000
            idiv
            invokestatic microsoft.sql.DateTimeOffset.valueOf:(Ljava/sql/Timestamp;I)Lmicrosoft/sql/DateTimeOffset;
            areturn
        end local 12 // java.sql.Timestamp ts
        87: .line 1157
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.DDC.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 1 /* ssType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 10 - 14
                   10: 106
                   11: 88
                   12: 91
                   13: 94
                   14: 97
              default: 107
          }
        88: .line 1159
      StackMap locals:
      StackMap stack:
            getstatic java.util.Locale.US:Ljava/util/Locale;
            ldc "%1$tF"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        89: .line 1160
            aload 10 /* cal */
            aastore
        90: .line 1159
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        91: .line 1164
      StackMap locals:
      StackMap stack:
            getstatic java.util.Locale.US:Ljava/util/Locale;
            ldc "%1$tT%2$s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        92: .line 1165
            aload 10 /* cal */
            aastore
            dup
            iconst_1
            iload 9 /* subSecondNanos */
            i2l
            iload 6 /* fractionalSecondsScale */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.fractionalSecondsString:(JI)Ljava/lang/String;
            aastore
        93: .line 1164
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        94: .line 1169
      StackMap locals:
      StackMap stack:
            getstatic java.util.Locale.US:Ljava/util/Locale;
            ldc "%1$tF %1$tT%2$s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        95: .line 1170
            aload 10 /* cal */
            aastore
            dup
            iconst_1
            iload 9 /* subSecondNanos */
            i2l
            iload 6 /* fractionalSecondsScale */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.fractionalSecondsString:(JI)Ljava/lang/String;
            aastore
        96: .line 1169