final class com.microsoft.sqlserver.jdbc.TDSWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.TDSWriter
  super_class: java.lang.Object
{
  private static java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final java.lang.String traceID;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.microsoft.sqlserver.jdbc.SQLServerConnection con;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private com.microsoft.sqlserver.jdbc.TDSCommand command;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSCommand;
    flags: (0x0002) ACC_PRIVATE

  private byte tdsMessageType;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private volatile int sendResetConnection;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private static final int TDS_PACKET_HEADER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final byte[] placeholderHeader;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private byte[] valueBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

  private static final int BYTES4;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int BYTES8;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int BYTES12;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int BYTES16;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int BIGDECIMAL_MAX_LENGTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

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

  private java.nio.ByteBuffer stagingBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer socketBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer logBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private char[] streamCharBuffer;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private byte[] streamByteBuffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMeta;
    descriptor: Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
    flags: (0x0002) ACC_PRIVATE

  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;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 3075
            ldc Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            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.TDSWriter.$assertionsDisabled:Z
         3: .line 3076
            ldc "com.microsoft.sqlserver.jdbc.internals.TDS.Writer"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
         4: .line 3123
            bipush 8
            newarray 8
            putstatic com.microsoft.sqlserver.jdbc.TDSWriter.placeholderHeader:[B
         5: .line 3138
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3080
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.traceID:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void setDataLoggable(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // boolean value
         0: .line 3093
            aload 0 /* this */
            iload 1 /* value */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
         1: .line 3094
            return
        end local 1 // boolean value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  com.microsoft.sqlserver.jdbc.SharedTimer getSharedTimer();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3097
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSharedTimer:()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  boolean isEOMSent();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3146
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void <init>(com.microsoft.sqlserver.jdbc.TDSChannel, com.microsoft.sqlserver.jdbc.SQLServerConnection);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
         0: .line 3161
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3090
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
         2: .line 3100
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
         3: .line 3107
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.sendResetConnection:I
         4: .line 3113
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
         5: .line 3128
            aload 0 /* this */
            sipush 256
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
         6: .line 3131
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
         7: .line 3143
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
         8: .line 3159
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         9: .line 3162
            aload 0 /* this */
            aload 1 /* tdsChannel */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
        10: .line 3163
            aload 0 /* this */
            aload 2 /* con */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        11: .line 3164
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "TDSWriter@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.traceID:Ljava/lang/String;
        12: .line 3165
            return
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        end local 1 // com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   13     1  tdsChannel  Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            0   13     2         con  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    MethodParameters:
            Name  Flags
      tdsChannel  
      con         

  boolean checkIfTdsMessageTypeIsBatchOrRPC();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3173
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            iconst_1
            if_icmpeq 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            iconst_3
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void preparePacket();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3179
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 3
         1: .line 3180
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            bipush -2
            invokestatic java.util.Arrays.fill:([BB)V
         2: .line 3181
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
         3: .line 3186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.placeholderHeader:[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         4: .line 3187
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void writeMessageHeader();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3196
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 1
            bipush 14
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 1
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 17
         1: .line 3197
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* includeTraceHeader */
        start local 1 // boolean includeTraceHeader
         2: .line 3198
            bipush 22
            istore 2 /* totalHeaderLength */
        start local 2 // int totalHeaderLength
         3: .line 3199
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 4
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 8
         4: .line 3200
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isDenaliOrLater:()Z
            ifeq 8
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 8
         5: .line 3201
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getCurrent:()Lcom/microsoft/sqlserver/jdbc/ActivityId;
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.isSentToServer:()Z
            ifne 8
         6: .line 3202
            iconst_1
            istore 1 /* includeTraceHeader */
         7: .line 3203
            iinc 2 /* totalHeaderLength */ 26
         8: .line 3206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* totalHeaderLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         9: .line 3207
            aload 0 /* this */
            bipush 18
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        10: .line 3208
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        11: .line 3209
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        12: .line 3210
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        13: .line 3211
            iload 1 /* includeTraceHeader */
            ifeq 17
        14: .line 3212
            aload 0 /* this */
            bipush 26
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        15: .line 3213
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTraceHeaderData:()V
        16: .line 3214
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.setCurrentActivityIdSentFlag:()V
        end local 2 // int totalHeaderLength
        end local 1 // boolean includeTraceHeader
        17: .line 3217
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            2   17     1  includeTraceHeader  Z
            3   17     2   totalHeaderLength  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void writeTraceHeaderData();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3220
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getCurrent:()Lcom/microsoft/sqlserver/jdbc/ActivityId;
            astore 1 /* activityId */
        start local 1 // com.microsoft.sqlserver.jdbc.ActivityId activityId
         1: .line 3221
            aload 1 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.getId:()Ljava/util/UUID;
            invokestatic com.microsoft.sqlserver.jdbc.Util.asGuidByteArray:(Ljava/util/UUID;)[B
            astore 2 /* actIdByteArray */
        start local 2 // byte[] actIdByteArray
         2: .line 3222
            aload 1 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.getSequence:()J
            lstore 3 /* seqNum */
        start local 3 // long seqNum
         3: .line 3223
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         4: .line 3224
            aload 0 /* this */
            aload 2 /* actIdByteArray */
            iconst_0
            aload 2 /* actIdByteArray */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
         5: .line 3225
            aload 0 /* this */
            lload 3 /* seqNum */
            l2i
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         6: .line 3227
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 8
         7: .line 3228
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Send Trace Header - ActivityID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         8: .line 3229
      StackMap locals: com.microsoft.sqlserver.jdbc.ActivityId byte[] long
      StackMap stack:
            return
        end local 3 // long seqNum
        end local 2 // byte[] actIdByteArray
        end local 1 // com.microsoft.sqlserver.jdbc.ActivityId activityId
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1    9     1      activityId  Lcom/microsoft/sqlserver/jdbc/ActivityId;
            2    9     2  actIdByteArray  [B
            3    9     3          seqNum  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void startMessage(com.microsoft.sqlserver.jdbc.TDSCommand, byte);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSCommand;B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
        start local 2 // byte tdsMessageType
         0: .line 3240
            aload 0 /* this */
            aload 1 /* command */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
         1: .line 3241
            aload 0 /* this */
            iload 2 /* tdsMessageType */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
         2: .line 3242
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
         3: .line 3243
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
         4: .line 3244
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
         5: .line 3249
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTDSPacketSize:()I
            istore 3 /* negotiatedPacketSize */
        start local 3 // int negotiatedPacketSize
         6: .line 3250
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            iload 3 /* negotiatedPacketSize */
            if_icmpeq 13
         7: .line 3251
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
         8: .line 3252
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
         9: .line 3253
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
        10: .line 3254
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
        11: .line 3255
            aload 0 /* this */
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            imul
            newarray 5
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
        12: .line 3256
            aload 0 /* this */
            iconst_4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            imul
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
        13: .line 3259
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.limit:()I
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        14: .line 3260
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
        15: .line 3262
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.preparePacket:()V
        16: .line 3263
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeMessageHeader:()V
        17: .line 3264
            return
        end local 3 // int negotiatedPacketSize
        end local 2 // byte tdsMessageType
        end local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1               command  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            0   18     2        tdsMessageType  B
            6   18     3  negotiatedPacketSize  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      command         
      tdsMessageType  

  final void endMessage();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3267
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 3268
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Finishing TDS message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         2: .line 3269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
         3: .line 3270
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final boolean ignoreMessage();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3276
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            ifgt 1
            bipush 7
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 6
         1: .line 3277
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3279
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         3: .line 3280
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Finishing TDS message by sending ignore bit and end of message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         4: .line 3281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
         5: .line 3282
            iconst_1
            ireturn
         6: .line 3284
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final void resetPooledConnection();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3288
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 3289
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " resetPooledConnection"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         2: .line 3290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.sendResetConnection:I
         3: .line 3291
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void writeByte(byte);
    descriptor: (B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte value
         0: .line 3296
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmplt 7
         1: .line 3297
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         2: .line 3298
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3299
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3300
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_1
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3304
            goto 9
         7: .line 3305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            iload 1 /* value */
            bastore
         8: .line 3306
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3308
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeCollationForSqlVariant(com.microsoft.sqlserver.jdbc.SqlVariant);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.SqlVariant variantType
         0: .line 3317
            aload 0 /* this */
            aload 1 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationInfo:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         1: .line 3318
            aload 0 /* this */
            aload 1 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationSortID:()I
            sipush 255
            iand
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 3319
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SqlVariant variantType
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    3     1  variantType  Lcom/microsoft/sqlserver/jdbc/SqlVariant;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      variantType  

  void writeChar(char);
    descriptor: (C)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // char value
         0: .line 3322
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmplt 7
         1: .line 3323
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
            pop
         2: .line 3324
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3325
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3326
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_2
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3330
            goto 9
         7: .line 3331
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            i2s
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeShort:(S[BI)V
         8: .line 3332
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3334
      StackMap locals:
      StackMap stack:
            return
        end local 1 // char value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  C
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeShort(short);
    descriptor: (S)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // short value
         0: .line 3337
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmplt 7
         1: .line 3338
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
         2: .line 3339
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3340
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3341
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_2
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3345
            goto 9
         7: .line 3346
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeShort:(S[BI)V
         8: .line 3347
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3349
      StackMap locals:
      StackMap stack:
            return
        end local 1 // short value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  S
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeInt(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // int value
         0: .line 3352
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmplt 7
         1: .line 3353
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         2: .line 3354
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3355
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3356
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_4
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3360
            goto 9
         7: .line 3361
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeInt:(I[BI)V
         8: .line 3362
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeReal(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // float value
         0: .line 3373
            aload 0 /* this */
            fload 1 /* value */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         1: .line 3374
            return
        end local 1 // float value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  value  F
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeDouble(double);
    descriptor: (D)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // double value
         0: .line 3383
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            if_icmplt 7
         1: .line 3384
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            dload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
         2: .line 3385
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 17
         3: .line 3386
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3387
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            dload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
            goto 17
         5: .line 3389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            bipush 8
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3391
            goto 17
         7: .line 3392
      StackMap locals:
      StackMap stack:
            dload 1 /* value */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 3 /* bits */
        start local 3 // long bits
         8: .line 3393
            ldc 255
            lstore 5 /* mask */
        start local 5 // long mask
         9: .line 3394
            iconst_0
            istore 7 /* nShift */
        start local 7 // int nShift
        10: .line 3395
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 16
        12: .line 3396
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter double long long int int
      StackMap stack:
            aload 0 /* this */
            lload 3 /* bits */
            lload 5 /* mask */
            land
            iload 7 /* nShift */
            lshr
            l2i
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        13: .line 3397
            iinc 7 /* nShift */ 8
        14: .line 3398
            lload 5 /* mask */
            bipush 8
            lshl
            lstore 5 /* mask */
        15: .line 3395
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            bipush 8
            if_icmplt 12
        end local 8 // int i
        end local 7 // int nShift
        end local 5 // long mask
        end local 3 // long bits
        17: .line 3401
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter double
      StackMap stack:
            return
        end local 1 // double value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1   value  D
            8   17     3    bits  J
            9   17     5    mask  J
           10   17     7  nShift  I
           11   17     8       i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeBigDecimal(java.math.BigDecimal, int, int, int);
    descriptor: (Ljava/math/BigDecimal;III)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.math.BigDecimal bigDecimalVal
        start local 2 // int srcJdbcType
        start local 3 // int precision
        start local 4 // int scale
         0: .line 3429
            aload 1 /* bigDecimalVal */
            iload 4 /* scale */
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            astore 1 /* bigDecimalVal */
         1: .line 3432
            bipush 17
            istore 5 /* bLength */
        start local 5 // int bLength
         2: .line 3433
            aload 0 /* this */
            iload 5 /* bLength */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 3436
            iload 5 /* bLength */
            newarray 8
            astore 6 /* bytes */
        start local 6 // byte[] bytes
         4: .line 3438
            aload 1 /* bigDecimalVal */
            iload 4 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToBytes:(Ljava/math/BigDecimal;I)[B
            astore 7 /* valueBytes */
        start local 7 // byte[] valueBytes
         5: .line 3440
            aload 7 /* valueBytes */
            iconst_2
            aload 6 /* bytes */
            iconst_0
            aload 7 /* valueBytes */
            arraylength
            iconst_2
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 3441
            aload 0 /* this */
            aload 6 /* bytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         7: .line 3442
            return
        end local 7 // byte[] valueBytes
        end local 6 // byte[] bytes
        end local 5 // int bLength
        end local 4 // int scale
        end local 3 // int precision
        end local 2 // int srcJdbcType
        end local 1 // java.math.BigDecimal bigDecimalVal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1  bigDecimalVal  Ljava/math/BigDecimal;
            0    8     2    srcJdbcType  I
            0    8     3      precision  I
            0    8     4          scale  I
            2    8     5        bLength  I
            4    8     6          bytes  [B
            5    8     7     valueBytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      srcJdbcType    
      precision      
      scale          

  void writeMoney(java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigDecimal;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.math.BigDecimal moneyVal
        start local 2 // int srcJdbcType
         0: .line 3454
            aload 1 /* moneyVal */
            iconst_4
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            astore 1 /* moneyVal */
         1: .line 3459
            iload 2 /* srcJdbcType */
            sipush -148
            if_icmpne 2
            bipush 8
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_4
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* bLength */
        start local 3 // int bLength
         4: .line 3460
            aload 0 /* this */
            iload 3 /* bLength */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 3462
            aload 1 /* moneyVal */
            iload 3 /* bLength */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertMoneyToBytes:(Ljava/math/BigDecimal;I)[B
            astore 4 /* valueBytes */
        start local 4 // byte[] valueBytes
         6: .line 3463
            aload 0 /* this */
            aload 4 /* valueBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         7: .line 3464
            return
        end local 4 // byte[] valueBytes
        end local 3 // int bLength
        end local 2 // int srcJdbcType
        end local 1 // java.math.BigDecimal moneyVal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1     moneyVal  Ljava/math/BigDecimal;
            0    8     2  srcJdbcType  I
            4    8     3      bLength  I
            6    8     4   valueBytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      moneyVal     
      srcJdbcType  

  void writeSqlVariantInternalBigDecimal(java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigDecimal;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.math.BigDecimal bigDecimalVal
        start local 2 // int srcJdbcType
         0: .line 3482
            aload 1 /* bigDecimalVal */
            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 /* isNegative */
        start local 3 // boolean isNegative
         3: .line 3483
            aload 1 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            astore 4 /* bi */
        start local 4 // java.math.BigInteger bi
         4: .line 3484
            iload 3 /* isNegative */
            ifeq 6
         5: .line 3485
            aload 4 /* bi */
            invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
            astore 4 /* bi */
         6: .line 3488
      StackMap locals: int java.math.BigInteger
      StackMap stack:
            bipush 16
            istore 5 /* bLength */
        start local 5 // int bLength
         7: .line 3490
            aload 0 /* this */
            iload 3 /* isNegative */
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.math.BigDecimal int int java.math.BigInteger int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
         8: iconst_1
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.math.BigDecimal int int java.math.BigInteger int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
         9: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        10: .line 3494
            aload 4 /* bi */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 6 /* unscaledBytes */
        start local 6 // byte[] unscaledBytes
        11: .line 3496
            aload 6 /* unscaledBytes */
            arraylength
            iload 5 /* bLength */
            if_icmple 17
        12: .line 3498
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        13: .line 3499
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        14: .line 3500
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
        15: .line 3501
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        16: .line 3500
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        17: .line 3505
      StackMap locals: byte[]
      StackMap stack:
            iload 5 /* bLength */
            newarray 8
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        18: .line 3509
            iload 5 /* bLength */
            aload 6 /* unscaledBytes */
            arraylength
            isub
            istore 8 /* remaining */
        start local 8 // int remaining
        19: .line 3513
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        20: aload 6 /* unscaledBytes */
            arraylength
            iconst_1
            isub
            istore 10 /* j */
        start local 10 // int j
        21: goto 23
        22: .line 3514
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.math.BigDecimal int int java.math.BigInteger int byte[] byte[] int int int
      StackMap stack:
            aload 7 /* bytes */
            iload 9 /* i */
            iinc 9 /* i */ 1
            aload 6 /* unscaledBytes */
            iload 10 /* j */
            iinc 10 /* j */ -1
            baload
            bastore
        23: .line 3513
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            aload 6 /* unscaledBytes */
            arraylength
            if_icmplt 22
        24: .line 3517
            goto 27
        25: .line 3518
      StackMap locals:
      StackMap stack:
            aload 7 /* bytes */
            iload 9 /* i */
            iconst_0
            bastore
        26: .line 3517
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* i */
            iload 8 /* remaining */
            if_icmplt 25
        28: .line 3520
            aload 0 /* this */
            aload 7 /* bytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        29: .line 3521
            return
        end local 10 // int j
        end local 9 // int i
        end local 8 // int remaining
        end local 7 // byte[] bytes
        end local 6 // byte[] unscaledBytes
        end local 5 // int bLength
        end local 4 // java.math.BigInteger bi
        end local 3 // boolean isNegative
        end local 2 // int srcJdbcType
        end local 1 // java.math.BigDecimal bigDecimalVal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   30     1  bigDecimalVal  Ljava/math/BigDecimal;
            0   30     2    srcJdbcType  I
            3   30     3     isNegative  Z
            4   30     4             bi  Ljava/math/BigInteger;
            7   30     5        bLength  I
           11   30     6  unscaledBytes  [B
           13   17     7           form  Ljava/text/MessageFormat;
           14   17     8        msgArgs  [Ljava/lang/Object;
           18   30     7          bytes  [B
           19   30     8      remaining  I
           20   30     9              i  I
           21   30    10              j  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      srcJdbcType    

  void writeSmalldatetime(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3524
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 3526
            aload 1 /* value */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            astore 5 /* timestampValue */
        start local 5 // java.sql.Timestamp timestampValue
         2: .line 3527
            aload 5 /* timestampValue */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 3 /* utcMillis */
        start local 3 // long utcMillis
         3: .line 3530
            aload 2 /* calendar */
            lload 3 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         4: .line 3533
            aload 2 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
         5: .line 3534
            aload 2 /* calendar */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
            sipush 1900
         6: .line 3533
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 6 /* daysSinceSQLBaseDate */
        start local 6 // int daysSinceSQLBaseDate
         7: .line 3537
            sipush 1000
            aload 2 /* calendar */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         8: .line 3538
            ldc 60000
            aload 2 /* calendar */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         9: .line 3537
            iadd
        10: .line 3539
            ldc 3600000
            aload 2 /* calendar */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        11: .line 3537
            iadd
            istore 7 /* millisSinceMidnight */
        start local 7 // int millisSinceMidnight
        12: .line 3543
            ldc 86399999
            iload 7 /* millisSinceMidnight */
            if_icmpgt 15
        13: .line 3544
            iinc 6 /* daysSinceSQLBaseDate */ 1
        14: .line 3545
            iconst_0
            istore 7 /* millisSinceMidnight */
        15: .line 3549
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.util.GregorianCalendar long java.sql.Timestamp int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* daysSinceSQLBaseDate */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        16: .line 3551
            iload 7 /* millisSinceMidnight */
            sipush 1000
            idiv
            istore 8 /* secondsSinceMidnight */
        start local 8 // int secondsSinceMidnight
        17: .line 3552
            iload 8 /* secondsSinceMidnight */
            bipush 60
            idiv
            istore 9 /* minutesSinceMidnight */
        start local 9 // int minutesSinceMidnight
        18: .line 3555
            iload 8 /* secondsSinceMidnight */
            bipush 60
            irem
            i2d
            ldc 29.998
            dcmpl
            ifle 19
            iload 9 /* minutesSinceMidnight */
            iconst_1
            iadd
            goto 20
      StackMap locals: int int
      StackMap stack:
        19: iload 9 /* minutesSinceMidnight */
      StackMap locals:
      StackMap stack: int
        20: istore 9 /* minutesSinceMidnight */
        21: .line 3558
            aload 0 /* this */
            iload 9 /* minutesSinceMidnight */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        22: .line 3559
            return
        end local 9 // int minutesSinceMidnight
        end local 8 // int secondsSinceMidnight
        end local 7 // int millisSinceMidnight
        end local 6 // int daysSinceSQLBaseDate
        end local 5 // java.sql.Timestamp timestampValue
        end local 3 // long utcMillis
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   23     1                 value  Ljava/lang/String;
            1   23     2              calendar  Ljava/util/GregorianCalendar;
            3   23     3             utcMillis  J
            2   23     5        timestampValue  Ljava/sql/Timestamp;
            7   23     6  daysSinceSQLBaseDate  I
           12   23     7   millisSinceMidnight  I
           17   23     8  secondsSinceMidnight  I
           18   23     9  minutesSinceMidnight  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeDatetime(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3562
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 3565
            aload 1 /* value */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            astore 6 /* timestampValue */
        start local 6 // java.sql.Timestamp timestampValue
         2: .line 3566
            aload 6 /* timestampValue */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 3 /* utcMillis */
        start local 3 // long utcMillis
         3: .line 3567
            aload 6 /* timestampValue */
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 5 /* subSecondNanos */
        start local 5 // int subSecondNanos
         4: .line 3570
            aload 2 /* calendar */
            lload 3 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         5: .line 3574
            aload 2 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
         6: .line 3575
            aload 2 /* calendar */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
            sipush 1900
         7: .line 3574
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 7 /* daysSinceSQLBaseDate */
        start local 7 // int daysSinceSQLBaseDate
         8: .line 3578
            iload 5 /* subSecondNanos */
            ldc 500000
            iadd
            ldc 1000000
            idiv
         9: .line 3581
            sipush 1000
            aload 2 /* calendar */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        10: .line 3578
            iadd
        11: .line 3582
            ldc 60000
            aload 2 /* calendar */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        12: .line 3578
            iadd
        13: .line 3583
            ldc 3600000
            aload 2 /* calendar */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        14: .line 3578
            iadd
            istore 8 /* millisSinceMidnight */
        start local 8 // int millisSinceMidnight
        15: .line 3587
            ldc 86399999
            iload 8 /* millisSinceMidnight */
            if_icmpgt 18
        16: .line 3588
            iinc 7 /* daysSinceSQLBaseDate */ 1
        17: .line 3589
            iconst_0
            istore 8 /* millisSinceMidnight */
        18: .line 3598
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.util.GregorianCalendar long int java.sql.Timestamp int int
      StackMap stack:
            iload 7 /* daysSinceSQLBaseDate */
            sipush 1753
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 20
        19: .line 3599
            iload 7 /* daysSinceSQLBaseDate */
            sipush 10000
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 25
        20: .line 3600
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        21: .line 3601
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            astore 10 /* msgArgs */
        start local 10 // java.lang.Object[] msgArgs
        22: .line 3602
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            aload 10 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        23: .line 3603
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        24: .line 3602
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.lang.Object[] msgArgs
        end local 9 // java.text.MessageFormat form
        25: .line 3607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* daysSinceSQLBaseDate */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        26: .line 3610
            aload 0 /* this */
            iconst_3
            iload 8 /* millisSinceMidnight */
            imul
            iconst_5
            iadd
            bipush 10
            idiv
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        27: .line 3611
            return
        end local 8 // int millisSinceMidnight
        end local 7 // int daysSinceSQLBaseDate
        end local 6 // java.sql.Timestamp timestampValue
        end local 5 // int subSecondNanos
        end local 3 // long utcMillis
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   28     1                 value  Ljava/lang/String;
            1   28     2              calendar  Ljava/util/GregorianCalendar;
            3   28     3             utcMillis  J
            4   28     5        subSecondNanos  I
            2   28     6        timestampValue  Ljava/sql/Timestamp;
            8   28     7  daysSinceSQLBaseDate  I
           15   28     8   millisSinceMidnight  I
           21   25     9                  form  Ljava/text/MessageFormat;
           22   25    10               msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeDate(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3614
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 3616
            aload 1 /* value */
            invokestatic java.sql.Date.valueOf:(Ljava/lang/String;)Ljava/sql/Date;
            astore 5 /* dateValue */
        start local 5 // java.sql.Date dateValue
         2: .line 3617
            aload 5 /* dateValue */
            invokevirtual java.sql.Date.getTime:()J
            lstore 3 /* utcMillis */
        start local 3 // long utcMillis
         3: .line 3620
            aload 2 /* calendar */
            lload 3 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         4: .line 3622
            aload 0 /* this */
            aload 2 /* calendar */
            iconst_0
         5: .line 3623
            iconst_0
         6: .line 3624
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
         7: .line 3622
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         8: .line 3625
            return
        end local 5 // java.sql.Date dateValue
        end local 3 // long utcMillis
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    9     1      value  Ljava/lang/String;
            1    9     2   calendar  Ljava/util/GregorianCalendar;
            3    9     3  utcMillis  J
            2    9     5  dateValue  Ljava/sql/Date;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeTime(java.sql.Timestamp, int);
    descriptor: (Ljava/sql/Timestamp;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.sql.Timestamp value
        start local 2 // int scale
         0: .line 3628
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 3 /* calendar */
        start local 3 // java.util.GregorianCalendar calendar
         1: .line 3631
            aload 1 /* value */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 4 /* utcMillis */
        start local 4 // long utcMillis
         2: .line 3632
            aload 1 /* value */
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 6 /* subSecondNanos */
        start local 6 // int subSecondNanos
         3: .line 3635
            aload 3 /* calendar */
            lload 4 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         4: .line 3637
            aload 0 /* this */
            aload 3 /* calendar */
            iload 6 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         5: .line 3638
            return
        end local 6 // int subSecondNanos
        end local 4 // long utcMillis
        end local 3 // java.util.GregorianCalendar calendar
        end local 2 // int scale
        end local 1 // java.sql.Timestamp value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    6     1           value  Ljava/sql/Timestamp;
            0    6     2           scale  I
            1    6     3        calendar  Ljava/util/GregorianCalendar;
            2    6     4       utcMillis  J
            3    6     6  subSecondNanos  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  
      scale  

  void writeDateTimeOffset(java.lang.Object, int, com.microsoft.sqlserver.jdbc.SSType);
    descriptor: (Ljava/lang/Object;ILcom/microsoft/sqlserver/jdbc/SSType;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=18, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.Object value
        start local 2 // int scale
        start local 3 // com.microsoft.sqlserver.jdbc.SSType destSSType
         0: .line 3652
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 41
         1: .line 3655
            aload 1 /* value */
            checkcast java.lang.String
            astore 8 /* stringValue */
        start local 8 // java.lang.String stringValue
         2: .line 3656
            aload 8 /* stringValue */
            bipush 58
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 9 /* lastColon */
        start local 9 // int lastColon
         3: .line 3658
            aload 8 /* stringValue */
            iload 9 /* lastColon */
            iconst_3
            isub
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* offsetString */
        start local 10 // java.lang.String offsetString
         4: .line 3666
            aload 10 /* offsetString */
            ldc "+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 10 /* offsetString */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         5: .line 3667
            iconst_0
            istore 7 /* minutesOffset */
        start local 7 // int minutesOffset
         6: .line 3668
            aload 8 /* stringValue */
            astore 11 /* timestampString */
        start local 11 // java.lang.String timestampString
         7: .line 3669
            goto 14
        end local 11 // java.lang.String timestampString
        end local 7 // int minutesOffset
         8: .line 3670
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType top top top top java.lang.String int java.lang.String
      StackMap stack:
            bipush 60
            aload 10 /* offsetString */
            iconst_1
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            imul
         9: .line 3671
            aload 10 /* offsetString */
            iconst_4
            bipush 6
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        10: .line 3670
            iadd
            istore 7 /* minutesOffset */
        start local 7 // int minutesOffset
        11: .line 3672
            aload 8 /* stringValue */
            iconst_0
            iload 9 /* lastColon */
            iconst_4
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* timestampString */
        start local 11 // java.lang.String timestampString
        12: .line 3674
            aload 10 /* offsetString */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 3675
            iload 7 /* minutesOffset */
            ineg
            istore 7 /* minutesOffset */
        14: .line 3684
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType top top top int java.lang.String int java.lang.String java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 3 /* destSSType */
            if_acmpne 15
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            goto 16
        15: .line 3685
      StackMap locals:
      StackMap stack:
            new java.util.SimpleTimeZone
            dup
            iload 7 /* minutesOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
        16: .line 3684
      StackMap locals:
      StackMap stack: java.util.TimeZone
            astore 5 /* timeZone */
        start local 5 // java.util.TimeZone timeZone
        17: .line 3687
            new java.util.GregorianCalendar
            dup
            aload 5 /* timeZone */
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
            astore 4 /* calendar */
        start local 4 // java.util.GregorianCalendar calendar
        18: .line 3689
            aload 11 /* timestampString */
            iconst_0
            iconst_4
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 12 /* year */
        start local 12 // int year
        19: .line 3690
            aload 11 /* timestampString */
            iconst_5
            bipush 7
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 13 /* month */
        start local 13 // int month
        20: .line 3691
            aload 11 /* timestampString */
            bipush 8
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 14 /* day */
        start local 14 // int day
        21: .line 3692
            aload 11 /* timestampString */
            bipush 11
            bipush 13
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 15 /* hour */
        start local 15 // int hour
        22: .line 3693
            aload 11 /* timestampString */
            bipush 14
            bipush 16
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 16 /* minute */
        start local 16 // int minute
        23: .line 3694
            aload 11 /* timestampString */
            bipush 17
            bipush 19
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 17 /* second */
        start local 17 // int second
        24: .line 3696
            bipush 19
            aload 11 /* timestampString */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            if_icmpne 26
            new java.math.BigDecimal
            dup
            aload 11 /* timestampString */
            bipush 19
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
        25: .line 3697
            bipush 9
            invokevirtual java.math.BigDecimal.scaleByPowerOfTen:(I)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.intValue:()I
            goto 27
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType java.util.GregorianCalendar java.util.TimeZone top int java.lang.String int java.lang.String java.lang.String int int int int int int
      StackMap stack:
        26: iconst_0
        27: .line 3696
      StackMap locals:
      StackMap stack: int
            istore 6 /* subSecondNanos */
        start local 6 // int subSecondNanos
        28: .line 3699
            aload 4 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        29: .line 3700
            aload 4 /* calendar */
            iconst_1
            iload 12 /* year */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        30: .line 3701
            aload 4 /* calendar */
            iconst_2
            iload 13 /* month */
            iconst_1
            isub
            invokevirtual java.util.GregorianCalendar.set:(II)V
        31: .line 3702
            aload 4 /* calendar */
            iconst_5
            iload 14 /* day */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        32: .line 3703
            aload 4 /* calendar */
            bipush 11
            iload 15 /* hour */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        33: .line 3704
            aload 4 /* calendar */
            bipush 12
            iload 16 /* minute */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        34: .line 3705
            aload 4 /* calendar */
            bipush 13
            iload 17 /* second */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        35: .line 3706
            aload 4 /* calendar */
            bipush 12
            iload 7 /* minutesOffset */
            ineg
            invokevirtual java.util.GregorianCalendar.add:(II)V
        end local 17 // int second
        end local 16 // int minute
        end local 15 // int hour
        end local 14 // int day
        end local 13 // int month
        end local 12 // int year
        end local 11 // java.lang.String timestampString
        end local 10 // java.lang.String offsetString
        end local 9 // int lastColon
        end local 8 // java.lang.String stringValue
        36: .line 3707
            goto 52
        end local 7 // int minutesOffset
        end local 6 // int subSecondNanos
        end local 5 // java.util.TimeZone timeZone
        end local 4 // java.util.GregorianCalendar calendar
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: java.lang.RuntimeException
        37: pop
        38: .line 3708
            new java.text.MessageFormat
            dup
            ldc "R_ParsingDataError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 8 /* form */
        start local 8 // java.text.MessageFormat form
        39: .line 3709
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            dup
            iconst_1
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
        40: .line 3710
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
        41: .line 3715
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            checkcast microsoft.sql.DateTimeOffset
            astore 10 /* dtoValue */
        start local 10 // microsoft.sql.DateTimeOffset dtoValue
        42: .line 3716
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getTimestamp:()Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 8 /* utcMillis */
        start local 8 // long utcMillis
        43: .line 3717
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getTimestamp:()Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 6 /* subSecondNanos */
        start local 6 // int subSecondNanos
        44: .line 3718
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getMinutesOffset:()I
            istore 7 /* minutesOffset */
        start local 7 // int minutesOffset
        45: .line 3726
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 3 /* destSSType */
            if_acmpne 46
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            goto 47
        46: .line 3727
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType top top int int long microsoft.sql.DateTimeOffset
      StackMap stack:
            new java.util.SimpleTimeZone
            dup
            iload 7 /* minutesOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
        47: .line 3726
      StackMap locals:
      StackMap stack: java.util.TimeZone
            astore 5 /* timeZone */
        start local 5 // java.util.TimeZone timeZone
        48: .line 3729
            new java.util.GregorianCalendar
            dup
            aload 5 /* timeZone */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 4 /* calendar */
        start local 4 // java.util.GregorianCalendar calendar
        49: .line 3730
            aload 4 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        50: .line 3731
            aload 4 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        51: .line 3732
            aload 4 /* calendar */
            lload 8 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        end local 10 // microsoft.sql.DateTimeOffset dtoValue
        end local 8 // long utcMillis
        52: .line 3735
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType java.util.GregorianCalendar java.util.TimeZone int int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* calendar */
            iload 6 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
        53: .line 3737
            aload 0 /* this */
            iload 7 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        54: .line 3738
            return
        end local 7 // int minutesOffset
        end local 6 // int subSecondNanos
        end local 5 // java.util.TimeZone timeZone
        end local 4 // java.util.GregorianCalendar calendar
        end local 3 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 2 // int scale
        end local 1 // java.lang.Object value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   55     0             this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   55     1            value  Ljava/lang/Object;
            0   55     2            scale  I
            0   55     3       destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
           18   37     4         calendar  Ljava/util/GregorianCalendar;
           49   55     4         calendar  Ljava/util/GregorianCalendar;
           17   37     5         timeZone  Ljava/util/TimeZone;
           48   55     5         timeZone  Ljava/util/TimeZone;
           28   37     6   subSecondNanos  I
           44   55     6   subSecondNanos  I
            6    8     7    minutesOffset  I
           11   37     7    minutesOffset  I
           45   55     7    minutesOffset  I
            2   36     8      stringValue  Ljava/lang/String;
            3   36     9        lastColon  I
            4   36    10     offsetString  Ljava/lang/String;
            7    8    11  timestampString  Ljava/lang/String;
           12   36    11  timestampString  Ljava/lang/String;
           19   36    12             year  I
           20   36    13            month  I
           21   36    14              day  I
           22   36    15             hour  I
           23   36    16           minute  I
           24   36    17           second  I
           39   41     8             form  Ljava/text/MessageFormat;
           40   41     9          msgArgs  [Ljava/lang/Object;
           43   52     8        utcMillis  J
           42   52    10         dtoValue  Lmicrosoft/sql/DateTimeOffset;
      Exception table:
        from    to  target  type
           1    36      37  Class java.lang.NumberFormatException
           1    36      37  Class java.lang.IndexOutOfBoundsException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      value       
      scale       
      destSSType  

  void writeOffsetDateTimeWithTimezone(java.time.OffsetDateTime, int);
    descriptor: (Ljava/time/OffsetDateTime;I)V
    flags: (0x0000) 
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.time.OffsetDateTime offsetDateTimeValue
        start local 2 // int scale
         0: .line 3745
            iconst_0
            istore 8 /* minutesOffset */
        start local 8 // int minutesOffset
         1: .line 3751
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getOffset:()Ljava/time/ZoneOffset;
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            bipush 60
            idiv
            istore 8 /* minutesOffset */
         2: .line 3752
            goto 8
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int top top top top top int
      StackMap stack: java.lang.Exception
         3: astore 9 /* e */
        start local 9 // java.lang.Exception e
         4: .line 3753
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_zoneOffsetError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
         5: .line 3757
            iconst_0
         6: .line 3758
            aload 9 /* e */
         7: .line 3753
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.Exception e
         8: .line 3760
      StackMap locals:
      StackMap stack:
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getNano:()I
            istore 7 /* subSecondNanos */
        start local 7 // int subSecondNanos
         9: .line 3765
            bipush 9
            iload 7 /* subSecondNanos */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            isub
            istore 9 /* padding */
        start local 9 // int padding
        10: .line 3766
            goto 13
        11: .line 3767
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int top top top top int int int
      StackMap stack:
            iload 7 /* subSecondNanos */
            bipush 10
            imul
            istore 7 /* subSecondNanos */
        12: .line 3768
            iinc 9 /* padding */ -1
        13: .line 3766
      StackMap locals:
      StackMap stack:
            iload 9 /* padding */
            ifgt 11
        14: .line 3772
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            astore 4 /* timeZone */
        start local 4 // java.util.TimeZone timeZone
        15: .line 3777
            new java.lang.StringBuilder
            dup
            ldc "%04d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getYear:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        16: .line 3778
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getMonthValue:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getDayOfMonth:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        17: .line 3779
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getHour:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getMinute:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        18: .line 3780
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getSecond:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 3777
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* offDateTimeStr */
        start local 10 // java.lang.String offDateTimeStr
        20: .line 3781
            aload 10 /* offDateTimeStr */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 5 /* utcMillis */
        start local 5 // long utcMillis
        21: .line 3782
            aload 0 /* this */
            aload 4 /* timeZone */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 3 /* calendar */
        start local 3 // java.util.GregorianCalendar calendar
        22: .line 3783
            aload 3 /* calendar */
            lload 5 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        23: .line 3786
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getRawOffset:()I
            ldc 60000
            idiv
            istore 11 /* minuteAdjustment */
        start local 11 // int minuteAdjustment
        24: .line 3788
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            aload 3 /* calendar */
            invokevirtual java.util.GregorianCalendar.getTime:()Ljava/util/Date;
            invokevirtual java.util.TimeZone.inDaylightTime:(Ljava/util/Date;)Z
            ifeq 26
        25: .line 3789
            iload 11 /* minuteAdjustment */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getDSTSavings:()I
            ldc 60000
            idiv
            iadd
            istore 11 /* minuteAdjustment */
        26: .line 3791
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack:
            iload 11 /* minuteAdjustment */
            iload 11 /* minuteAdjustment */
            ifge 27
            iload 8 /* minutesOffset */
            iconst_m1
            imul
            goto 28
      StackMap locals:
      StackMap stack: int
        27: iload 8 /* minutesOffset */
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack: int int
        28: iadd
            istore 11 /* minuteAdjustment */
        29: .line 3792
            aload 3 /* calendar */
            bipush 12
            iload 11 /* minuteAdjustment */
            invokevirtual java.util.GregorianCalendar.add:(II)V
        30: .line 3794
            aload 0 /* this */
            aload 3 /* calendar */
            iload 7 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
        31: .line 3795
            aload 0 /* this */
            iload 8 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        32: .line 3796
            return
        end local 11 // int minuteAdjustment
        end local 10 // java.lang.String offDateTimeStr
        end local 9 // int padding
        end local 8 // int minutesOffset
        end local 7 // int subSecondNanos
        end local 5 // long utcMillis
        end local 4 // java.util.TimeZone timeZone
        end local 3 // java.util.GregorianCalendar calendar
        end local 2 // int scale
        end local 1 // java.time.OffsetDateTime offsetDateTimeValue
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   33     1  offsetDateTimeValue  Ljava/time/OffsetDateTime;
            0   33     2                scale  I
           22   33     3             calendar  Ljava/util/GregorianCalendar;
           15   33     4             timeZone  Ljava/util/TimeZone;
           21   33     5            utcMillis  J
            9   33     7       subSecondNanos  I
            1   33     8        minutesOffset  I
            4    8     9                    e  Ljava/lang/Exception;
           10   33     9              padding  I
           20   33    10       offDateTimeStr  Ljava/lang/String;
           24   33    11     minuteAdjustment  I
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      offsetDateTimeValue  
      scale                

  void writeOffsetTimeWithTimezone(java.time.OffsetTime, int);
    descriptor: (Ljava/time/OffsetTime;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.time.OffsetTime offsetTimeValue
        start local 2 // int scale
         0: .line 3803
            iconst_0
            istore 8 /* minutesOffset */
        start local 8 // int minutesOffset
         1: .line 3809
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getOffset:()Ljava/time/ZoneOffset;
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            bipush 60
            idiv
            istore 8 /* minutesOffset */
         2: .line 3810
            goto 8
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int top top top top top int
      StackMap stack: java.lang.Exception
         3: astore 9 /* e */
        start local 9 // java.lang.Exception e
         4: .line 3811
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_zoneOffsetError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
         5: .line 3815
            iconst_0
         6: .line 3816
            aload 9 /* e */
         7: .line 3811
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.Exception e
         8: .line 3818
      StackMap locals:
      StackMap stack:
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getNano:()I
            istore 7 /* subSecondNanos */
        start local 7 // int subSecondNanos
         9: .line 3823
            bipush 9
            iload 7 /* subSecondNanos */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            isub
            istore 9 /* padding */
        start local 9 // int padding
        10: .line 3824
            goto 13
        11: .line 3825
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int top top top top int int int
      StackMap stack:
            iload 7 /* subSecondNanos */
            bipush 10
            imul
            istore 7 /* subSecondNanos */
        12: .line 3826
            iinc 9 /* padding */ -1
        13: .line 3824
      StackMap locals:
      StackMap stack:
            iload 9 /* padding */
            ifgt 11
        14: .line 3830
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            astore 4 /* timeZone */
        start local 4 // java.util.TimeZone timeZone
        15: .line 3836
            new java.lang.StringBuilder
            dup
            ldc "1900-01-01 "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getHour:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        16: .line 3837
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getMinute:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getSecond:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        17: .line 3836
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* offsetTimeStr */
        start local 10 // java.lang.String offsetTimeStr
        18: .line 3838
            aload 10 /* offsetTimeStr */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 5 /* utcMillis */
        start local 5 // long utcMillis
        19: .line 3840
            aload 0 /* this */
            aload 4 /* timeZone */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 3 /* calendar */
        start local 3 // java.util.GregorianCalendar calendar
        20: .line 3841
            aload 3 /* calendar */
            lload 5 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        21: .line 3843
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getRawOffset:()I
            ldc 60000
            idiv
            istore 11 /* minuteAdjustment */
        start local 11 // int minuteAdjustment
        22: .line 3845
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            aload 3 /* calendar */
            invokevirtual java.util.GregorianCalendar.getTime:()Ljava/util/Date;
            invokevirtual java.util.TimeZone.inDaylightTime:(Ljava/util/Date;)Z
            ifeq 24
        23: .line 3846
            iload 11 /* minuteAdjustment */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getDSTSavings:()I
            ldc 60000
            idiv
            iadd
            istore 11 /* minuteAdjustment */
        24: .line 3848
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack:
            iload 11 /* minuteAdjustment */
            iload 11 /* minuteAdjustment */
            ifge 25
            iload 8 /* minutesOffset */
            iconst_m1
            imul
            goto 26
      StackMap locals:
      StackMap stack: int
        25: iload 8 /* minutesOffset */
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack: int int
        26: iadd
            istore 11 /* minuteAdjustment */
        27: .line 3849
            aload 3 /* calendar */
            bipush 12
            iload 11 /* minuteAdjustment */
            invokevirtual java.util.GregorianCalendar.add:(II)V
        28: .line 3851
            aload 0 /* this */
            aload 3 /* calendar */
            iload 7 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
        29: .line 3852
            aload 0 /* this */
            iload 8 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        30: .line 3853
            return
        end local 11 // int minuteAdjustment
        end local 10 // java.lang.String offsetTimeStr
        end local 9 // int padding
        end local 8 // int minutesOffset
        end local 7 // int subSecondNanos
        end local 5 // long utcMillis
        end local 4 // java.util.TimeZone timeZone
        end local 3 // java.util.GregorianCalendar calendar
        end local 2 // int scale
        end local 1 // java.time.OffsetTime offsetTimeValue
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   31     1   offsetTimeValue  Ljava/time/OffsetTime;
            0   31     2             scale  I
           20   31     3          calendar  Ljava/util/GregorianCalendar;
           15   31     4          timeZone  Ljava/util/TimeZone;
           19   31     5         utcMillis  J
            9   31     7    subSecondNanos  I
            1   31     8     minutesOffset  I
            4    8     9                 e  Ljava/lang/Exception;
           10   31     9           padding  I
           18   31    10     offsetTimeStr  Ljava/lang/String;
           22   31    11  minuteAdjustment  I
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      offsetTimeValue  
      scale            

  void writeLong(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // long value
         0: .line 3856
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            if_icmplt 7
         1: .line 3857
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            lload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
         2: .line 3858
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3859
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3860
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            lload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            bipush 8
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3864
            goto 9
         7: .line 3865
      StackMap locals:
      StackMap stack:
            lload 1 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeLong:(J[BI)V
         8: .line 3866
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3868
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte[] value
         0: .line 3871
            aload 0 /* this */
            aload 1 /* value */
            iconst_0
            aload 1 /* value */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
         1: .line 3872
            return
        end local 1 // byte[] value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  value  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte[] value
        start local 2 // int offset
        start local 3 // int length
         0: .line 3875
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            iload 3 /* length */
            aload 1 /* value */
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3877
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* bytesWritten */
        start local 4 // int bytesWritten
         2: .line 3880
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 15
         3: .line 3881
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Writing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         4: .line 3884
            goto 15
        start local 5 // int bytesToWrite
         5: .line 3885
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 7
         6: .line 3886
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
         7: .line 3888
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesToWrite */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 9
         8: .line 3889
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* bytesToWrite */
         9: .line 3891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 2 /* offset */
            iload 4 /* bytesWritten */
            iadd
            iload 5 /* bytesToWrite */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        10: .line 3892
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 14
        11: .line 3893
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 13
        12: .line 3894
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 2 /* offset */
            iload 4 /* bytesWritten */
            iadd
            iload 5 /* bytesToWrite */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
            goto 14
        13: .line 3896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iload 5 /* bytesToWrite */
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        14: .line 3899
      StackMap locals:
      StackMap stack:
            iload 4 /* bytesWritten */
            iload 5 /* bytesToWrite */
            iadd
            istore 4 /* bytesWritten */
        end local 5 // int bytesToWrite
        15: .line 3884
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iload 4 /* bytesWritten */
            isub
            dup
            istore 5 /* bytesToWrite */
        start local 5 // int bytesToWrite
        16: ifgt 5
        17: .line 3901
            return
        end local 5 // int bytesToWrite
        end local 4 // int bytesWritten
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1         value  [B
            0   18     2        offset  I
            0   18     3        length  I
            2   18     4  bytesWritten  I
            5   15     5  bytesToWrite  I
           16   18     5  bytesToWrite  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      value   
      offset  
      length  

  void writeWrappedBytes(byte[], int);
    descriptor: ([BI)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte[] value
        start local 2 // int valueLength
         0: .line 3907
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            iload 2 /* valueLength */
            aload 1 /* value */
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 3 /* remaining */
        start local 3 // int remaining
         2: .line 3910
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 3
            iload 3 /* remaining */
            iload 2 /* valueLength */
            if_icmplt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3912
      StackMap locals: int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 4
            iload 2 /* valueLength */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            if_icmple 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 3 /* remaining */
         5: .line 3916
            iload 3 /* remaining */
            ifle 11
         6: .line 3917
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iconst_0
            iload 3 /* remaining */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
         7: .line 3918
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 11
         8: .line 3919
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 10
         9: .line 3920
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iconst_0
            iload 3 /* remaining */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
            goto 11
        10: .line 3922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iload 3 /* remaining */
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        11: .line 3926
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
        12: .line 3930
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 3 /* remaining */
            iload 2 /* valueLength */
            iload 3 /* remaining */
            isub
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        13: .line 3931
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 17
        14: .line 3932
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 16
        15: .line 3933
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 3 /* remaining */
            iload 2 /* valueLength */
            iload 3 /* remaining */
            isub
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
            goto 17
        16: .line 3935
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iload 3 /* remaining */
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 3937
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int remaining
        end local 2 // int valueLength
        end local 1 // byte[] value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1        value  [B
            0   18     2  valueLength  I
            2   18     3    remaining  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      value        
      valueLength  

  void writeString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3940
            iconst_0
            istore 2 /* charsCopied */
        start local 2 // int charsCopied
         1: .line 3941
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            istore 3 /* length */
        start local 3 // int length
         2: .line 3942
            goto 18
         3: .line 3943
      StackMap locals: int int
      StackMap stack:
            iconst_2
            iload 3 /* length */
            iload 2 /* charsCopied */
            isub
            imul
            istore 4 /* bytesToCopy */
        start local 4 // int bytesToCopy
         4: .line 3945
            iload 4 /* bytesToCopy */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            arraylength
            if_icmple 6
         5: .line 3946
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            arraylength
            istore 4 /* bytesToCopy */
         6: .line 3948
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* bytesCopied */
        start local 5 // int bytesCopied
         7: .line 3950
            goto 11
         8: .line 3951
      StackMap locals: int
      StackMap stack:
            aload 1 /* value */
            iload 2 /* charsCopied */
            iinc 2 /* charsCopied */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* ch */
        start local 6 // char ch
         9: .line 3952
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iload 5 /* bytesCopied */
            iinc 5 /* bytesCopied */ 1
            iload 6 /* ch */
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            bastore
        10: .line 3953
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iload 5 /* bytesCopied */
            iinc 5 /* bytesCopied */ 1
            iload 6 /* ch */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
        end local 6 // char ch
        11: .line 3950
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesCopied */
            iload 4 /* bytesToCopy */
            if_icmplt 8
        12: .line 3956
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            iload 5 /* bytesCopied */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        13: .line 3957
            goto 18
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        14: pop
        15: .line 3958
            new java.text.MessageFormat
            dup
            ldc "R_indexOutOfRange"
            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
        16: .line 3959
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* bytesCopied */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
        17: .line 3960
            aload 0 /* this */
            aload 6 /* form */
            aload 7 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 7 // java.lang.Object[] msgArgs
        end local 6 // java.text.MessageFormat form
        end local 5 // int bytesCopied
        end local 4 // int bytesToCopy
        18: .line 3942
      StackMap locals:
      StackMap stack:
            iload 2 /* charsCopied */
            iload 3 /* length */
            if_icmplt 3
        19: .line 3963
            return
        end local 3 // int length
        end local 2 // int charsCopied
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   20     1        value  Ljava/lang/String;
            1   20     2  charsCopied  I
            2   20     3       length  I
            4   18     4  bytesToCopy  I
            7   18     5  bytesCopied  I
            9   11     6           ch  C
           16   18     6         form  Ljava/text/MessageFormat;
           17   18     7      msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           7    13      14  Class java.lang.ArrayIndexOutOfBoundsException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeStream(java.io.InputStream, long, boolean);
    descriptor: (Ljava/io/InputStream;JZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.io.InputStream inputStream
        start local 2 // long advertisedLength
        start local 4 // boolean writeChunkSizes
         0: .line 3967
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            ldc -1
            lload 2 /* advertisedLength */
            lcmp
            ifeq 1
            lload 2 /* advertisedLength */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3969
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 5 /* actualLength */
        start local 5 // long actualLength
         2: .line 3970
            iconst_4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            imul
            newarray 8
            astore 7 /* streamByteBuffer */
        start local 7 // byte[] streamByteBuffer
         3: .line 3971
            iconst_0
            istore 8 /* bytesRead */
        start local 8 // int bytesRead
         4: .line 3975
      StackMap locals: long byte[] int
      StackMap stack:
            iconst_0
            istore 9 /* bytesToWrite */
        start local 9 // int bytesToWrite
         5: goto 21
         6: .line 3978
      StackMap locals: int
      StackMap stack:
            aload 1 /* inputStream */
            aload 7 /* streamByteBuffer */
            iload 9 /* bytesToWrite */
         7: .line 3979
            aload 7 /* streamByteBuffer */
            arraylength
            iload 9 /* bytesToWrite */
            isub
         8: .line 3978
            invokevirtual java.io.InputStream.read:([BII)I
            istore 8 /* bytesRead */
         9: .line 3980
            goto 14
      StackMap locals:
      StackMap stack: java.io.IOException
        10: astore 10 /* e */
        start local 10 // java.io.IOException e
        11: .line 3981
            new java.text.MessageFormat
            dup
            ldc "R_errorReadingStream"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        12: .line 3982
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aastore
            astore 12 /* msgArgs */
        start local 12 // java.lang.Object[] msgArgs
        13: .line 3983
            aload 0 /* this */
            aload 11 /* form */
            aload 12 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 12 // java.lang.Object[] msgArgs
        end local 11 // java.text.MessageFormat form
        end local 10 // java.io.IOException e
        14: .line 3986
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 8 /* bytesRead */
            if_icmpne 16
        15: .line 3987
            goto 22
        16: .line 3990
      StackMap locals:
      StackMap stack:
            iload 8 /* bytesRead */
            iflt 17
            iload 8 /* bytesRead */
            aload 7 /* streamByteBuffer */
            arraylength
            iload 9 /* bytesToWrite */
            isub
            if_icmple 20
        17: .line 3991
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_errorReadingStream"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        18: .line 3992
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "R_streamReadReturnedInvalidValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
        19: .line 3993
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
        20: .line 3976
      StackMap locals:
      StackMap stack:
            iload 9 /* bytesToWrite */
            iload 8 /* bytesRead */
            iadd
            istore 9 /* bytesToWrite */
        21: .line 3975
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 8 /* bytesRead */
            if_icmpeq 22
            iload 9 /* bytesToWrite */
            aload 7 /* streamByteBuffer */
            arraylength
            if_icmplt 6
        22: .line 3998
      StackMap locals:
      StackMap stack:
            iload 4 /* writeChunkSizes */
            ifeq 24
        23: .line 3999
            aload 0 /* this */
            iload 9 /* bytesToWrite */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        24: .line 4001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* streamByteBuffer */
            iconst_0
            iload 9 /* bytesToWrite */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        25: .line 4002
            lload 5 /* actualLength */
            iload 9 /* bytesToWrite */
            i2l
            ladd
            lstore 5 /* actualLength */
        26: .line 4003
            iconst_m1
            iload 8 /* bytesRead */
            if_icmpne 4
            iload 9 /* bytesToWrite */
        27: .line 3973
            ifgt 4
        28: .line 4007
            ldc -1
            lload 2 /* advertisedLength */
            lcmp
            ifeq 32
            lload 5 /* actualLength */
            lload 2 /* advertisedLength */
            lcmp
            ifeq 32
        29: .line 4008
            new java.text.MessageFormat
            dup
            ldc "R_mismatchedStreamLength"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        30: .line 4009
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* advertisedLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 5 /* actualLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
        31: .line 4010
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
        32: .line 4012
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int bytesToWrite
        end local 8 // int bytesRead
        end local 7 // byte[] streamByteBuffer
        end local 5 // long actualLength
        end local 4 // boolean writeChunkSizes
        end local 2 // long advertisedLength
        end local 1 // java.io.InputStream inputStream
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   33     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   33     1       inputStream  Ljava/io/InputStream;
            0   33     2  advertisedLength  J
            0   33     4   writeChunkSizes  Z
            2   33     5      actualLength  J
            3   33     7  streamByteBuffer  [B
            4   33     8         bytesRead  I
            5   33     9      bytesToWrite  I
           11   14    10                 e  Ljava/io/IOException;
           12   14    11              form  Ljava/text/MessageFormat;
           13   14    12           msgArgs  [Ljava/lang/Object;
           18   20    10              form  Ljava/text/MessageFormat;
           19   20    11           msgArgs  [Ljava/lang/Object;
           30   32    10              form  Ljava/text/MessageFormat;
           31   32    11           msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           6     9      10  Class java.io.IOException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      inputStream       
      advertisedLength  
      writeChunkSizes   

  void writeNonUnicodeReader(java.io.Reader, long, boolean, java.nio.charset.Charset);
    descriptor: (Ljava/io/Reader;JZLjava/nio/charset/Charset;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=15, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.io.Reader reader
        start local 2 // long advertisedLength
        start local 4 // boolean isDestBinary
        start local 5 // java.nio.charset.Charset charSet
         0: .line 4022
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            ldc -1
            lload 2 /* advertisedLength */
            lcmp
            ifeq 1
            lload 2 /* advertisedLength */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4024
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 6 /* actualLength */
        start local 6 // long actualLength
         2: .line 4025
            iconst_0
            istore 8 /* charsRead */
        start local 8 // int charsRead
         3: .line 4032
      StackMap locals: long int
      StackMap stack:
            iconst_0
            istore 9 /* charsToWrite */
        start local 9 // int charsToWrite
         4: goto 18
         5: .line 4035
      StackMap locals: int
      StackMap stack:
            aload 1 /* reader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iload 9 /* charsToWrite */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            iload 9 /* charsToWrite */
            isub
            invokevirtual java.io.Reader.read:([CII)I
            istore 8 /* charsRead */
         6: .line 4036
            goto 11
      StackMap locals:
      StackMap stack: java.io.IOException
         7: astore 12 /* e */
        start local 12 // java.io.IOException e
         8: .line 4037
            new java.text.MessageFormat
            dup
            ldc "R_errorReadingStream"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
         9: .line 4038
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
        10: .line 4039
            aload 0 /* this */
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
        end local 12 // java.io.IOException e
        11: .line 4042
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 8 /* charsRead */
            if_icmpne 13
        12: .line 4043
            goto 19
        13: .line 4046
      StackMap locals:
      StackMap stack:
            iload 8 /* charsRead */
            iflt 14
            iload 8 /* charsRead */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            iload 9 /* charsToWrite */
            isub
            if_icmple 17
        14: .line 4047
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_errorReadingStream"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        15: .line 4048
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "R_streamReadReturnedInvalidValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
        16: .line 4049
            aload 0 /* this */
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
        17: .line 4033
      StackMap locals:
      StackMap stack:
            iload 9 /* charsToWrite */
            iload 8 /* charsRead */
            iadd
            istore 9 /* charsToWrite */
        18: .line 4032
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 8 /* charsRead */
            if_icmpeq 19
            iload 9 /* charsToWrite */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            if_icmplt 5
        19: .line 4053
      StackMap locals:
      StackMap stack:
            iload 4 /* isDestBinary */
            ifne 33
        20: .line 4059
            aload 0 /* this */
            iload 9 /* charsToWrite */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        21: .line 4061
            iconst_0
            istore 12 /* charsCopied */
        start local 12 // int charsCopied
        22: goto 30
        23: .line 4062
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.io.Reader long int java.nio.charset.Charset long int int top top int
      StackMap stack:
            aload 5 /* charSet */
            ifnonnull 26
        24: .line 4063
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
            iload 12 /* charsCopied */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iload 12 /* charsCopied */
            caload
            sipush 255
            iand
            i2b
            bastore
        25: .line 4064
            goto 29
        26: .line 4066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
            iload 12 /* charsCopied */
            new java.lang.String
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iload 12 /* charsCopied */
            caload
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
        27: .line 4067
            aload 5 /* charSet */
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            iconst_0
            baload
        28: .line 4066
            bastore
        29: .line 4061
      StackMap locals:
      StackMap stack:
            iinc 12 /* charsCopied */ 1
      StackMap locals:
      StackMap stack:
        30: iload 12 /* charsCopied */
            iload 9 /* charsToWrite */
            if_icmplt 23
        end local 12 // int charsCopied
        31: .line 4070
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
            iconst_0
            iload 9 /* charsToWrite */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        32: .line 4071
            goto 40
        33: .line 4072
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.io.Reader long int java.nio.charset.Charset long int int
      StackMap stack:
            iload 9 /* charsToWrite */
            istore 10 /* bytesToWrite */
        start local 10 // int bytesToWrite
        34: .line 4073
            iload 9 /* charsToWrite */
            ifeq 36
        35: .line 4074
            iload 9 /* charsToWrite */
            iconst_2
            idiv
            istore 10 /* bytesToWrite */
        36: .line 4076
      StackMap locals: int
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            invokespecial java.lang.String.<init>:([CII)V
            astore 11 /* streamString */
        start local 11 // java.lang.String streamString
        37: .line 4077
            aload 11 /* streamString */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            astore 12 /* bytes */
        start local 12 // byte[] bytes
        38: .line 4078
            aload 0 /* this */
            iload 10 /* bytesToWrite */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        39: .line 4079
            aload 0 /* this */
            aload 12 /* bytes */
            iconst_0
            iload 10 /* bytesToWrite */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        end local 12 // byte[] bytes
        end local 11 // java.lang.String streamString
        end local 10 // int bytesToWrite
        40: .line 4081
      StackMap locals:
      StackMap stack:
            lload 6 /* actualLength */
            iload 9 /* charsToWrite */
            i2l
            ladd
            lstore 6 /* actualLength */
        41: .line 4082
            iconst_m1
            iload 8 /* charsRead */
            if_icmpne 3
            iload 9 /* charsToWrite */
        42: .line 4030
            ifgt 3
        43: .line 4086
            ldc -1
            lload 2 /* advertisedLength */
            lcmp
            ifeq 47
            lload 6 /* actualLength */
            lload 2 /* advertisedLength */
            lcmp
            ifeq 47
        44: .line 4087
            new java.text.MessageFormat
            dup
            ldc "R_mismatchedStreamLength"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        45: .line 4088
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* advertisedLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 6 /* actualLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
        46: .line 4089
            aload 0 /* this */
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
        47: .line 4091
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int charsToWrite
        end local 8 // int charsRead
        end local 6 // long actualLength
        end local 5 // java.nio.charset.Charset charSet
        end local 4 // boolean isDestBinary
        end local 2 // long advertisedLength
        end local 1 // java.io.Reader reader
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   48     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   48     1            reader  Ljava/io/Reader;
            0   48     2  advertisedLength  J
            0   48     4      isDestBinary  Z
            0   48     5           charSet  Ljava/nio/charset/Charset;
            2   48     6      actualLength  J
            3   48     8         charsRead  I
            4   48     9      charsToWrite  I
           34   40    10      bytesToWrite  I
           37   40    11      streamString  Ljava/lang/String;
            8   11    12                 e  Ljava/io/IOException;
            9   11    13              form  Ljava/text/MessageFormat;
           10   11    14           msgArgs  [Ljava/lang/Object;
           15   17    12              form  Ljava/text/MessageFormat;
           16   17    13           msgArgs  [Ljava/lang/Object;
           22   31    12       charsCopied  I
           38   40    12             bytes  [B
           45   47    12              form  Ljava/text/MessageFormat;
           46   47    13           msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      reader            
      advertisedLength  
      isDestBinary      
      charSet           

  void writeReader(java.io.Reader, long, boolean);
    descriptor: (Ljava/io/Reader;JZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.io.Reader reader
        start local 2 // long advertisedLength
        start local 4 // boolean writeChunkSizes
         0: .line 4099
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            ldc -1
            lload 2 /* advertisedLength */
            lcmp
            ifeq 1
            lload 2 /* advertisedLength */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4101
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 5 /* actualLength */
        start local 5 // long actualLength
         2: .line 4102
            iconst_0
            istore 7 /* charsRead */
        start local 7 // int charsRead
         3: .line 4106
      StackMap locals: long int
      StackMap stack:
            iconst_0
            istore 8 /* charsToWrite */
        start local 8 // int charsToWrite
         4: goto 18
         5: .line 4109
      StackMap locals: int
      StackMap stack:
            aload 1 /* reader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iload 8 /* charsToWrite */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            arraylength
            iload 8 /* charsToWrite */
            isub
            invokevirtual java.io.Reader.read:([CII)I
            istore 7 /* charsRead */
         6: .line 4110
            goto 11
      StackMap locals:
      StackMap stack: java.io.IOException
         7: astore 9 /* e */
        start local 9 // java.io.IOException e
         8: .line 4111
            new java.text.MessageFormat
            dup
            ldc "R_errorReadingStream"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
         9: .line 4112
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
        10: .line 4113
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
        end local 9 // java.io.IOException e
        11: .line 4116
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 7 /* charsRead */
            if_icmpne 13
        12: .line 4117
            goto 19
        13: .line 4120
      StackMap locals:
      StackMap stack:
            iload 7 /* charsRead */
            iflt 14
            iload 7 /* charsRead */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            arraylength
            iload 8 /* charsToWrite */
            isub
            if_icmple 17
        14: .line 4121
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_errorReadingStream"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        15: .line 4122
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "R_streamReadReturnedInvalidValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 10 /* msgArgs */
        start local 10 // java.lang.Object[] msgArgs
        16: .line 4123
            aload 0 /* this */
            aload 9 /* form */
            aload 10 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 10 // java.lang.Object[] msgArgs
        end local 9 // java.text.MessageFormat form
        17: .line 4107
      StackMap locals:
      StackMap stack:
            iload 8 /* charsToWrite */
            iload 7 /* charsRead */
            iadd
            istore 8 /* charsToWrite */
        18: .line 4106
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 7 /* charsRead */
            if_icmpeq 19
            iload 8 /* charsToWrite */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            arraylength
            if_icmplt 5
        19: .line 4128
      StackMap locals:
      StackMap stack:
            iload 4 /* writeChunkSizes */
            ifeq 21
        20: .line 4129
            aload 0 /* this */
            iconst_2
            iload 8 /* charsToWrite */
            imul
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        21: .line 4136
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* charsCopied */
        start local 9 // int charsCopied
        22: goto 26
        23: .line 4137
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
            iconst_2
            iload 9 /* charsCopied */
            imul
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iload 9 /* charsCopied */
            caload
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            bastore
        24: .line 4138
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
            iconst_2
            iload 9 /* charsCopied */
            imul
            iconst_1
            iadd
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
            iload 9 /* charsCopied */
            caload
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
        25: .line 4136
            iinc 9 /* charsCopied */ 1
      StackMap locals:
      StackMap stack:
        26: iload 9 /* charsCopied */
            iload 8 /* charsToWrite */
            if_icmplt 23
        end local 9 // int charsCopied
        27: .line 4141
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
            iconst_0
            iconst_2
            iload 8 /* charsToWrite */
            imul
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        28: .line 4142
            lload 5 /* actualLength */
            iload 8 /* charsToWrite */
            i2l
            ladd
            lstore 5 /* actualLength */
        29: .line 4143
            iconst_m1
            iload 7 /* charsRead */
            if_icmpne 3
            iload 8 /* charsToWrite */
        30: .line 4104
            ifgt 3
        31: .line 4147
            ldc -1
            lload 2 /* advertisedLength */
            lcmp
            ifeq 35
            lload 5 /* actualLength */
            lload 2 /* advertisedLength */
            lcmp
            ifeq 35
        32: .line 4148
            new java.text.MessageFormat
            dup
            ldc "R_mismatchedStreamLength"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        33: .line 4149
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* advertisedLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 5 /* actualLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 10 /* msgArgs */
        start local 10 // java.lang.Object[] msgArgs
        34: .line 4150
            aload 0 /* this */
            aload 9 /* form */
            aload 10 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.error:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
        end local 10 // java.lang.Object[] msgArgs
        end local 9 // java.text.MessageFormat form
        35: .line 4152
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int charsToWrite
        end local 7 // int charsRead
        end local 5 // long actualLength
        end local 4 // boolean writeChunkSizes
        end local 2 // long advertisedLength
        end local 1 // java.io.Reader reader
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   36     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   36     1            reader  Ljava/io/Reader;
            0   36     2  advertisedLength  J
            0   36     4   writeChunkSizes  Z
            2   36     5      actualLength  J
            3   36     7         charsRead  I
            4   36     8      charsToWrite  I
            8   11     9                 e  Ljava/io/IOException;
            9   11    10              form  Ljava/text/MessageFormat;
           10   11    11           msgArgs  [Ljava/lang/Object;
           15   17     9              form  Ljava/text/MessageFormat;
           16   17    10           msgArgs  [Ljava/lang/Object;
           22   27     9       charsCopied  I
           33   35     9              form  Ljava/text/MessageFormat;
           34   35    10           msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      reader            
      advertisedLength  
      writeChunkSizes   

  java.util.GregorianCalendar initializeCalender(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.util.TimeZone timeZone
         0: .line 4159
            new java.util.GregorianCalendar
            dup
            aload 1 /* timeZone */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 4163
            aload 2 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
         2: .line 4167
            aload 2 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
         3: .line 4169
            aload 2 /* calendar */
            areturn
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.util.TimeZone timeZone
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    4     1  timeZone  Ljava/util/TimeZone;
            1    4     2  calendar  Ljava/util/GregorianCalendar;
    MethodParameters:
          Name  Flags
      timeZone  

  final void error(java.lang.String, com.microsoft.sqlserver.jdbc.SQLState, com.microsoft.sqlserver.jdbc.DriverError);
    descriptor: (Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String reason
        start local 2 // com.microsoft.sqlserver.jdbc.SQLState sqlState
        start local 3 // com.microsoft.sqlserver.jdbc.DriverError driverError
         0: .line 4173
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            aload 1 /* reason */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.interrupt:(Ljava/lang/String;)V
         2: .line 4175
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 1 /* reason */
            aload 2 /* sqlState */
            aload 3 /* driverError */
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 3 // com.microsoft.sqlserver.jdbc.DriverError driverError
        end local 2 // com.microsoft.sqlserver.jdbc.SQLState sqlState
        end local 1 // java.lang.String reason
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    3     1       reason  Ljava/lang/String;
            0    3     2     sqlState  Lcom/microsoft/sqlserver/jdbc/SQLState;
            0    3     3  driverError  Lcom/microsoft/sqlserver/jdbc/DriverError;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      reason       
      sqlState     
      driverError  

  final boolean sendAttention();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 4192
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            ifle 7
         1: .line 4200
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 3
         2: .line 4201
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": sending attention..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         3: .line 4203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
         4: .line 4205
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            bipush 6
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.startMessage:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;B)V
         5: .line 4206
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.endMessage:()V
         6: .line 4208
            iconst_1
            ireturn
         7: .line 4211
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void writePacket(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // int tdsMessageStatus
         0: .line 4215
            iconst_1
            iconst_1
            iload 1 /* tdsMessageStatus */
            iand
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* atEOM */
        start local 2 // boolean atEOM
         3: .line 4216
            bipush 6
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 6
         4: .line 4217
            iload 1 /* tdsMessageStatus */
            iconst_2
            iand
            iconst_2
            if_icmpeq 6
         5: .line 4216
            iconst_0
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* isCancelled */
        start local 3 // boolean isCancelled
         8: .line 4219
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 10
            iload 3 /* isCancelled */
            ifne 10
         9: .line 4220
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.checkForInterrupt:()V
        10: .line 4222
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tdsMessageStatus */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.sendResetConnection:I
            ior
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacketHeader:(I)V
        11: .line 4223
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.sendResetConnection:I
        12: .line 4225
            aload 0 /* this */
            iload 2 /* atEOM */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.flush:(Z)V
        13: .line 4232
            iload 2 /* atEOM */
            ifeq 17
        14: .line 4233
            aload 0 /* this */
            iload 2 /* atEOM */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.flush:(Z)V
        15: .line 4234
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
        16: .line 4235
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSChannel.numMsgsSent:I
        17: .line 4240
      StackMap locals:
      StackMap stack:
            bipush 16
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 20
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            if_icmpne 20
        18: .line 4241
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getNegotiatedEncryptionLevel:()B
            ifne 20
        19: .line 4242
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.disableSSL:()V
        20: .line 4247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 22
            iload 3 /* isCancelled */
            ifne 22
            iload 2 /* atEOM */
            ifeq 22
        21: .line 4248
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.onRequestComplete:()V
        22: .line 4249
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean isCancelled
        end local 2 // boolean atEOM
        end local 1 // int tdsMessageStatus
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   23     1  tdsMessageStatus  I
            3   23     2             atEOM  Z
            8   23     3       isCancelled  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      tdsMessageStatus  

  private void writePacketHeader(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // int tdsMessageStatus
         0: .line 4252
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            istore 2 /* tdsMessageLength */
        start local 2 // int tdsMessageLength
         1: .line 4253
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
         2: .line 4256
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         3: .line 4257
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iconst_1
            iload 1 /* tdsMessageStatus */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         4: .line 4258
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iconst_2
            iload 2 /* tdsMessageLength */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         5: .line 4261
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iconst_3
            iload 2 /* tdsMessageLength */
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         6: .line 4263
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iconst_4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getSPID:()I
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         7: .line 4265
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iconst_5
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getSPID:()I
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         8: .line 4267
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            bipush 6
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            sipush 256
            irem
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         9: .line 4268
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            bipush 7
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        10: .line 4271
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 19
        11: .line 4272
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        12: .line 4273
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iconst_1
            iload 1 /* tdsMessageStatus */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        13: .line 4274
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iconst_2
            iload 2 /* tdsMessageLength */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        14: .line 4277
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iconst_3
            iload 2 /* tdsMessageLength */
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        15: .line 4279
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iconst_4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getSPID:()I
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        16: .line 4281
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iconst_5
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getSPID:()I
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        17: .line 4283
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            bipush 6
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            sipush 256
            irem
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        18: .line 4284
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            bipush 7
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        19: .line 4286
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int tdsMessageLength
        end local 1 // int tdsMessageStatus
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   20     1  tdsMessageStatus  I
            1   20     2  tdsMessageLength  I
    MethodParameters:
                  Name  Flags
      tdsMessageStatus  

  void flush(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // boolean atEOM
         0: .line 4290
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.write:([BII)V
         1: .line 4291
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.limit:()I
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         2: .line 4296
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            bipush 8
            if_icmplt 16
         3: .line 4298
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            astore 2 /* swapBuffer */
        start local 2 // java.nio.ByteBuffer swapBuffer
         4: .line 4299
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
         5: .line 4300
            aload 0 /* this */
            aload 2 /* swapBuffer */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
         6: .line 4308
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.flip:()Ljava/nio/Buffer;
            pop
         7: .line 4309
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
         8: .line 4313
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 12
         9: .line 4314
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.limit:()I
        10: .line 4315
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " sending packet ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.limit:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 4314
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.logPacket:([BIILjava/lang/String;)V
        12: .line 4319
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            iload 1 /* atEOM */
            ifne 14
        13: .line 4320
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.preparePacket:()V
        14: .line 4323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.write:([BII)V
        15: .line 4324
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.limit:()I
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 2 // java.nio.ByteBuffer swapBuffer
        16: .line 4326
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean atEOM
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   17     1       atEOM  Z
            4   16     2  swapBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      atEOM  

  void writeRPCNameValType(java.lang.String, boolean, com.microsoft.sqlserver.jdbc.TDSType);
    descriptor: (Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // boolean bOut
        start local 3 // com.microsoft.sqlserver.jdbc.TDSType tdsType
         0: .line 4341
            iconst_0
            istore 4 /* nNameLen */
        start local 4 // int nNameLen
         1: .line 4343
            aload 1 /* sName */
            ifnull 3
         2: .line 4344
            aload 1 /* sName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            istore 4 /* nNameLen */
         3: .line 4346
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* nNameLen */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4347
            iload 4 /* nNameLen */
            ifle 7
         5: .line 4348
            aload 0 /* this */
            bipush 64
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeChar:(C)V
         6: .line 4349
            aload 0 /* this */
            aload 1 /* sName */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
         7: .line 4352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnull 11
         8: .line 4353
            aload 0 /* this */
            iload 2 /* bOut */
            ifeq 9
            bipush 9
            goto 10
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
         9: bipush 8
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int com.microsoft.sqlserver.jdbc.TDSType int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        10: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 14
        11: .line 4355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* bOut */
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        12: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int com.microsoft.sqlserver.jdbc.TDSType int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        13: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        14: .line 4356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* tdsType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        15: .line 4357
            return
        end local 4 // int nNameLen
        end local 3 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        end local 2 // boolean bOut
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   16     1     sName  Ljava/lang/String;
            0   16     2      bOut  Z
            0   16     3   tdsType  Lcom/microsoft/sqlserver/jdbc/TDSType;
            1   16     4  nNameLen  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
         Name  Flags
      sName    
      bOut     
      tdsType  

  void writeRPCBit(java.lang.String, java.lang.Boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Boolean booleanValue
        start local 3 // boolean bOut
         0: .line 4370
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BITN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4371
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4372
            aload 2 /* booleanValue */
            ifnonnull 5
         3: .line 4373
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4374
            goto 9
         5: .line 4375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 4376
            aload 0 /* this */
            aload 2 /* booleanValue */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
         7: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.lang.Boolean int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
         8: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         9: .line 4378
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // java.lang.Boolean booleanValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1         sName  Ljava/lang/String;
            0   10     2  booleanValue  Ljava/lang/Boolean;
            0   10     3          bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      sName         
      booleanValue  
      bOut          

  void writeRPCByte(java.lang.String, java.lang.Byte, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Byte;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Byte byteValue
        start local 3 // boolean bOut
         0: .line 4391
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4392
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4393
            aload 2 /* byteValue */
            ifnonnull 5
         3: .line 4394
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4395
            goto 7
         5: .line 4396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 4397
            aload 0 /* this */
            aload 2 /* byteValue */
            invokevirtual java.lang.Byte.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 4399
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // java.lang.Byte byteValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1      sName  Ljava/lang/String;
            0    8     2  byteValue  Ljava/lang/Byte;
            0    8     3       bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      sName      
      byteValue  
      bOut       

  void writeRPCShort(java.lang.String, java.lang.Short, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Short;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Short shortValue
        start local 3 // boolean bOut
         0: .line 4412
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4413
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4414
            aload 2 /* shortValue */
            ifnonnull 5
         3: .line 4415
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4416
            goto 7
         5: .line 4417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 4418
            aload 0 /* this */
            aload 2 /* shortValue */
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         7: .line 4420
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // java.lang.Short shortValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1       sName  Ljava/lang/String;
            0    8     2  shortValue  Ljava/lang/Short;
            0    8     3        bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sName       
      shortValue  
      bOut        

  void writeRPCInt(java.lang.String, java.lang.Integer, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Integer;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Integer intValue
        start local 3 // boolean bOut
         0: .line 4433
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4434
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4435
            aload 2 /* intValue */
            ifnonnull 5
         3: .line 4436
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4437
            goto 7
         5: .line 4438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 4439
            aload 0 /* this */
            aload 2 /* intValue */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         7: .line 4441
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // java.lang.Integer intValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1     sName  Ljava/lang/String;
            0    8     2  intValue  Ljava/lang/Integer;
            0    8     3      bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
          Name  Flags
      sName     
      intValue  
      bOut      

  void writeRPCLong(java.lang.String, java.lang.Long, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Long;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Long longValue
        start local 3 // boolean bOut
         0: .line 4454
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4455
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4456
            aload 2 /* longValue */
            ifnonnull 5
         3: .line 4457
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4458
            goto 7
         5: .line 4459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 4460
            aload 0 /* this */
            aload 2 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         7: .line 4462
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // java.lang.Long longValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1      sName  Ljava/lang/String;
            0    8     2  longValue  Ljava/lang/Long;
            0    8     3       bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      sName      
      longValue  
      bOut       

  void writeRPCReal(java.lang.String, java.lang.Float, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Float;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Float floatValue
        start local 3 // boolean bOut
         0: .line 4475
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4478
            aload 2 /* floatValue */
            ifnonnull 5
         2: .line 4479
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 4480
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4481
            goto 8
         5: .line 4482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 4483
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 4484
            aload 0 /* this */
            aload 2 /* floatValue */
            invokevirtual java.lang.Float.floatValue:()F
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         8: .line 4486
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // java.lang.Float floatValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    9     1       sName  Ljava/lang/String;
            0    9     2  floatValue  Ljava/lang/Float;
            0    9     3        bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sName       
      floatValue  
      bOut        

  void writeRPCSqlVariant(java.lang.String, com.microsoft.sqlserver.jdbc.SqlVariant, boolean);
    descriptor: (Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SqlVariant;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // com.microsoft.sqlserver.jdbc.SqlVariant sqlVariantValue
        start local 3 // boolean bOut
         0: .line 4489
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4492
            aload 2 /* sqlVariantValue */
            ifnonnull 4
         2: .line 4493
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         3: .line 4494
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         4: .line 4496
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean bOut
        end local 2 // com.microsoft.sqlserver.jdbc.SqlVariant sqlVariantValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    5     1            sName  Ljava/lang/String;
            0    5     2  sqlVariantValue  Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            0    5     3             bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      sName            
      sqlVariantValue  
      bOut             

  void writeRPCDouble(java.lang.String, java.lang.Double, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Double;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.Double doubleValue
        start local 3 // boolean bOut
         0: .line 4509
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4511
            bipush 8
            istore 4 /* l */
        start local 4 // int l
         2: .line 4512
            aload 0 /* this */
            iload 4 /* l */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 4515
            aload 2 /* doubleValue */
            ifnonnull 6
         4: .line 4516
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 4517
            goto 17
         6: .line 4518
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* l */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 4519
            aload 2 /* doubleValue */
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 5 /* bits */
        start local 5 // long bits
         8: .line 4520
            ldc 255
            lstore 7 /* mask */
        start local 7 // long mask
         9: .line 4521
            iconst_0
            istore 9 /* nShift */
        start local 9 // int nShift
        10: .line 4522
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        11: goto 16
        12: .line 4523
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.lang.Double int int long long int int
      StackMap stack:
            aload 0 /* this */
            lload 5 /* bits */
            lload 7 /* mask */
            land
            iload 9 /* nShift */
            lshr
            l2i
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        13: .line 4524
            iinc 9 /* nShift */ 8
        14: .line 4525
            lload 7 /* mask */
            bipush 8
            lshl
            lstore 7 /* mask */
        15: .line 4522
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 10 /* i */
            bipush 8
            if_icmplt 12
        end local 10 // int i
        end local 9 // int nShift
        end local 7 // long mask
        end local 5 // long bits
        17: .line 4528
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.lang.Double int int
      StackMap stack:
            return
        end local 4 // int l
        end local 3 // boolean bOut
        end local 2 // java.lang.Double doubleValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1        sName  Ljava/lang/String;
            0   18     2  doubleValue  Ljava/lang/Double;
            0   18     3         bOut  Z
            2   18     4            l  I
            8   17     5         bits  J
            9   17     7         mask  J
           10   17     9       nShift  I
           11   17    10            i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      sName        
      doubleValue  
      bOut         

  void writeRPCBigDecimal(java.lang.String, java.math.BigDecimal, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/math/BigDecimal;IZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.math.BigDecimal bdValue
        start local 3 // int nScale
        start local 4 // boolean bOut
         0: .line 4543
            aload 0 /* this */
            aload 1 /* sName */
            iload 4 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DECIMALN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 4544
            aload 0 /* this */
            bipush 17
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4545
            aload 0 /* this */
            bipush 38
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 4547
            aload 2 /* bdValue */
            iload 3 /* nScale */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToBytes:(Ljava/math/BigDecimal;I)[B
            astore 5 /* valueBytes */
        start local 5 // byte[] valueBytes
         4: .line 4548
            aload 0 /* this */
            aload 5 /* valueBytes */
            iconst_0
            aload 5 /* valueBytes */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
         5: .line 4549
            return
        end local 5 // byte[] valueBytes
        end local 4 // boolean bOut
        end local 3 // int nScale
        end local 2 // java.math.BigDecimal bdValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    6     1       sName  Ljava/lang/String;
            0    6     2     bdValue  Ljava/math/BigDecimal;
            0    6     3      nScale  I
            0    6     4        bOut  Z
            4    6     5  valueBytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
         Name  Flags
      sName    
      bdValue  
      nScale   
      bOut     

  void writeVMaxHeader(long, boolean, com.microsoft.sqlserver.jdbc.SQLCollation);
    descriptor: (JZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // long headerLength
        start local 3 // boolean isNull
        start local 4 // com.microsoft.sqlserver.jdbc.SQLCollation collation
         0: .line 4563
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         1: .line 4566
            aload 4 /* collation */
            ifnull 3
         2: .line 4567
            aload 4 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
         3: .line 4570
      StackMap locals:
      StackMap stack:
            iload 3 /* isNull */
            ifeq 6
         4: .line 4572
            aload 0 /* this */
            ldc -1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         5: .line 4573
            goto 10
      StackMap locals:
      StackMap stack:
         6: ldc -1
            lload 1 /* headerLength */
            lcmp
            ifne 9
         7: .line 4576
            aload 0 /* this */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         8: .line 4579
            goto 10
         9: .line 4582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* headerLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
        10: .line 4584
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 3 // boolean isNull
        end local 1 // long headerLength
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   11     1  headerLength  J
            0   11     3        isNull  Z
            0   11     4     collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      headerLength  
      isNull        
      collation     

  void writeRPCStringUnicode(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sValue
         0: .line 4590
            aload 0 /* this */
            aconst_null
            aload 1 /* sValue */
            iconst_0
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCStringUnicode:(Ljava/lang/String;Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
         1: .line 4591
            return
        end local 1 // java.lang.String sValue
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  sValue  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      sValue  

  void writeRPCStringUnicode(java.lang.String, java.lang.String, boolean, com.microsoft.sqlserver.jdbc.SQLCollation);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.lang.String sValue
        start local 3 // boolean bOut
        start local 4 // com.microsoft.sqlserver.jdbc.SQLCollation collation
         0: .line 4607
            aload 2 /* sValue */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* bValueNull */
        start local 5 // boolean bValueNull
         3: .line 4608
            iload 5 /* bValueNull */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_2
            aload 2 /* sValue */
            invokevirtual java.lang.String.length:()I
            imul
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* nValueLen */
        start local 6 // int nValueLen
         6: .line 4611
            aload 4 /* collation */
            ifnonnull 8
         7: .line 4612
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 4 /* collation */
         8: .line 4618
      StackMap locals: int
      StackMap stack:
            iload 6 /* nValueLen */
            sipush 8000
            if_icmpgt 9
            iload 3 /* bOut */
            ifeq 20
         9: .line 4619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        10: .line 4622
            aload 0 /* this */
            iload 6 /* nValueLen */
            i2l
        11: .line 4623
            iload 5 /* bValueNull */
        12: .line 4624
            aload 4 /* collation */
        13: .line 4622
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeVMaxHeader:(JZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
        14: .line 4627
            iload 5 /* bValueNull */
            ifne 29
        15: .line 4628
            iload 6 /* nValueLen */
            ifle 18
        16: .line 4629
            aload 0 /* this */
            iload 6 /* nValueLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        17: .line 4630
            aload 0 /* this */
            aload 2 /* sValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
        18: .line 4634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        19: .line 4636
            goto 29
        20: .line 4638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        21: .line 4639
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        22: .line 4641
            aload 4 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        23: .line 4644
            iload 5 /* bValueNull */
            ifeq 26
        24: .line 4645
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        25: .line 4646
            goto 29
        26: .line 4648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* nValueLen */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        27: .line 4651
            iload 6 /* nValueLen */
            ifeq 29
        28: .line 4652
            aload 0 /* this */
            aload 2 /* sValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
        29: .line 4655
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int nValueLen
        end local 5 // boolean bValueNull
        end local 4 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 3 // boolean bOut
        end local 2 // java.lang.String sValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   30     1       sName  Ljava/lang/String;
            0   30     2      sValue  Ljava/lang/String;
            0   30     3        bOut  Z
            0   30     4   collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            3   30     5  bValueNull  Z
            6   30     6   nValueLen  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      sName      
      sValue     
      bOut       
      collation  

  void writeTVP(com.microsoft.sqlserver.jdbc.TVP);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TVP;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TVP value
         0: .line 4658
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.isNull:()Z
            ifne 3
         1: .line 4659
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 4660
            goto 4
         3: .line 4662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 4665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush -13
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 4671
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getDbNameTVP:()Ljava/lang/String;
            ifnull 9
         6: .line 4672
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getDbNameTVP:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 4673
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getDbNameTVP:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
         8: .line 4674
            goto 10
         9: .line 4675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        10: .line 4678
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getOwningSchemaNameTVP:()Ljava/lang/String;
            ifnull 14
        11: .line 4679
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getOwningSchemaNameTVP:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        12: .line 4680
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getOwningSchemaNameTVP:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
        13: .line 4681
            goto 15
        14: .line 4682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        15: .line 4685
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getTVPName:()Ljava/lang/String;
            ifnull 19
        16: .line 4686
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getTVPName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        17: .line 4687
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getTVPName:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
        18: .line 4688
            goto 20
        19: .line 4689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        20: .line 4691
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.isNull:()Z
            ifne 24
        21: .line 4692
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPColumnMetaData:(Lcom/microsoft/sqlserver/jdbc/TVP;)V
        22: .line 4695
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTvpOrderUnique:(Lcom/microsoft/sqlserver/jdbc/TVP;)V
        23: .line 4696
            goto 25
        24: .line 4697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        25: .line 4701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        26: .line 4704
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPRows:(Lcom/microsoft/sqlserver/jdbc/TVP;)V
        27: .line 4705
            goto 32
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        28: astore 2 /* e */
        start local 2 // java.lang.NumberFormatException e
        29: .line 4706
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_TVPInvalidColumnValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.NumberFormatException e
        30: .line 4707
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 2 /* e */
        start local 2 // java.lang.ClassCastException e
        31: .line 4708
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_TVPInvalidColumnValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ClassCastException e
        32: .line 4710
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.TVP value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   33     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   33     1  value  Lcom/microsoft/sqlserver/jdbc/TVP;
           29   30     2      e  Ljava/lang/NumberFormatException;
           31   32     2      e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
          26    27      28  Class java.lang.NumberFormatException
          26    27      30  Class java.lang.ClassCastException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeTVPRows(com.microsoft.sqlserver.jdbc.TVP);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TVP;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TVP value
         0: .line 4713
            iconst_0
            istore 2 /* tdsWritterCached */
        start local 2 // boolean tdsWritterCached
         1: .line 4714
            aconst_null
            astore 3 /* cachedTVPHeaders */
        start local 3 // java.nio.ByteBuffer cachedTVPHeaders
         2: .line 4715
            aconst_null
            astore 4 /* cachedCommand */
        start local 4 // com.microsoft.sqlserver.jdbc.TDSCommand cachedCommand
         3: .line 4717
            iconst_0
            istore 5 /* cachedRequestComplete */
        start local 5 // boolean cachedRequestComplete
         4: .line 4718
            iconst_0
            istore 6 /* cachedInterruptsEnabled */
        start local 6 // boolean cachedInterruptsEnabled
         5: .line 4719
            iconst_0
            istore 7 /* cachedProcessedResponse */
        start local 7 // boolean cachedProcessedResponse
         6: .line 4721
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.isNull:()Z
            ifne 63
         7: .line 4728
            getstatic com.microsoft.sqlserver.jdbc.TVPType.ResultSet:Lcom/microsoft/sqlserver/jdbc/TVPType;
            aload 1 /* value */
            getfield com.microsoft.sqlserver.jdbc.TVP.tvpType:Lcom/microsoft/sqlserver/jdbc/TVPType;
            if_acmpne 22
         8: .line 4729
            aload 1 /* value */
            getfield com.microsoft.sqlserver.jdbc.TVP.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 22
            aload 1 /* value */
            getfield com.microsoft.sqlserver.jdbc.TVP.sourceResultSet:Ljava/sql/ResultSet;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerResultSet
            ifeq 22
         9: .line 4730
            aload 1 /* value */
            getfield com.microsoft.sqlserver.jdbc.TVP.sourceResultSet:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            astore 8 /* sourceResultSet */
        start local 8 // com.microsoft.sqlserver.jdbc.SQLServerResultSet sourceResultSet
        10: .line 4731
            aload 8 /* sourceResultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getStatement:()Ljava/sql/Statement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
            astore 9 /* src_stmt */
        start local 9 // com.microsoft.sqlserver.jdbc.SQLServerStatement src_stmt
        11: .line 4732
            aload 8 /* sourceResultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getServerCursorId:()I
            istore 10 /* resultSetServerCursorId */
        start local 10 // int resultSetServerCursorId
        12: .line 4734
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 9 /* src_stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.getConnection:()Ljava/sql/Connection;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 22
            iload 10 /* resultSetServerCursorId */
            ifeq 22
        13: .line 4735
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.order:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 3 /* cachedTVPHeaders */
        14: .line 4736
            aload 3 /* cachedTVPHeaders */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        15: .line 4738
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            astore 4 /* cachedCommand */
        16: .line 4740
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getRequestComplete:()Z
            istore 5 /* cachedRequestComplete */
        17: .line 4741
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getInterruptsEnabled:()Z
            istore 6 /* cachedInterruptsEnabled */
        18: .line 4742
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getProcessedResponse:()Z
            istore 7 /* cachedProcessedResponse */
        19: .line 4744
            iconst_1
            istore 2 /* tdsWritterCached */
        20: .line 4746
            aload 8 /* sourceResultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.isForwardOnly:()Z
            ifeq 22
        21: .line 4747
            aload 8 /* sourceResultSet */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.setFetchSize:(I)V
        end local 10 // int resultSetServerCursorId
        end local 9 // com.microsoft.sqlserver.jdbc.SQLServerStatement src_stmt
        end local 8 // com.microsoft.sqlserver.jdbc.SQLServerResultSet sourceResultSet
        22: .line 4753
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP int java.nio.ByteBuffer com.microsoft.sqlserver.jdbc.TDSCommand int int int
      StackMap stack:
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getColumnMetadata:()Ljava/util/Map;
            astore 8 /* columnMetadata */
        start local 8 // java.util.Map columnMetadata
        23: .line 4756
            goto 62
        24: .line 4759
      StackMap locals: java.util.Map
      StackMap stack:
            iload 2 /* tdsWritterCached */
            ifeq 29
        25: .line 4760
            aload 0 /* this */
            aload 4 /* cachedCommand */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        26: .line 4762
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
        27: .line 4763
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
        28: .line 4764
            aload 0 /* this */
            aload 3 /* cachedTVPHeaders */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 3 /* cachedTVPHeaders */
            invokevirtual java.nio.Buffer.position:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        29: .line 4767
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getRowData:()[Ljava/lang/Object;
            astore 10 /* rowData */
        start local 10 // java.lang.Object[] rowData
        30: .line 4770
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        31: .line 4771
            aload 8 /* columnMetadata */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9 /* columnsIterator */
        start local 9 // java.util.Iterator columnsIterator
        32: .line 4772
            iconst_0
            istore 11 /* currentColumn */
        start local 11 // int currentColumn
        33: .line 4773
            goto 48
        34: .line 4774
      StackMap locals: java.util.Iterator java.lang.Object[] int
      StackMap stack:
            aload 9 /* columnsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 12 /* columnPair */
        start local 12 // java.util.Map$Entry columnPair
        35: .line 4777
            aload 12 /* columnPair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.useServerDefault:Z
            ifeq 38
        36: .line 4778
            iinc 11 /* currentColumn */ 1
        37: .line 4779
            goto 48
        38: .line 4782
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            aload 12 /* columnPair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.javaSqlType:I
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            astore 13 /* jdbcType */
        start local 13 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        39: .line 4783
            aconst_null
            astore 14 /* currentColumnStringValue */
        start local 14 // java.lang.String currentColumnStringValue
        40: .line 4785
            aconst_null
            astore 15 /* currentObject */
        start local 15 // java.lang.Object currentObject
        41: .line 4786
            aload 10 /* rowData */
            ifnull 46
        42: .line 4789
            aload 10 /* rowData */
            arraylength
            iload 11 /* currentColumn */
            if_icmple 46
        43: .line 4790
            aload 10 /* rowData */
            iload 11 /* currentColumn */
            aaload
            astore 15 /* currentObject */
        44: .line 4791
            aload 15 /* currentObject */
            ifnull 46
        45: .line 4792
            aload 15 /* currentObject */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            astore 14 /* currentColumnStringValue */
        46: .line 4796
      StackMap locals: com.microsoft.sqlserver.jdbc.JDBCType java.lang.String java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 13 /* jdbcType */
            aload 14 /* currentColumnStringValue */
            aload 15 /* currentObject */
            aload 12 /* columnPair */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInternalTVPRowValues:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map$Entry;Z)V
        47: .line 4797
            iinc 11 /* currentColumn */ 1
        end local 15 // java.lang.Object currentObject
        end local 14 // java.lang.String currentColumnStringValue
        end local 13 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 12 // java.util.Map$Entry columnPair
        48: .line 4773
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP int java.nio.ByteBuffer com.microsoft.sqlserver.jdbc.TDSCommand int int int java.util.Map java.util.Iterator java.lang.Object[] int
      StackMap stack:
            aload 9 /* columnsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        49: .line 4801
            iload 2 /* tdsWritterCached */
            ifeq 62
        50: .line 4803
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        51: .line 4805
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
        52: .line 4807
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getReader:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSReader;
            astore 12 /* tdsReader */
        start local 12 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        53: .line 4808
            aload 12 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.peekTokenType:()I
            istore 13 /* tokenType */
        start local 13 // int tokenType
        54: .line 4810
            sipush 170
            iload 13 /* tokenType */
            if_icmpne 60
        55: .line 4811
            new com.microsoft.sqlserver.jdbc.SQLServerError
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerError.<init>:()V
            astore 14 /* databaseError */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerError databaseError
        56: .line 4812
            aload 14 /* databaseError */
            aload 12 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerError.setFromTDS:(Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
        57: .line 4814
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aconst_null
            aload 14 /* databaseError */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerError.getErrorMessage:()Ljava/lang/String;
        58: .line 4815
            aload 14 /* databaseError */
            iconst_0
        59: .line 4814
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerError;Z)V
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerError databaseError
        60: .line 4818
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSReader int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.setInterruptsEnabled:(Z)V
        61: .line 4819
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.setRequestComplete:(Z)V
        end local 13 // int tokenType
        end local 12 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 11 // int currentColumn
        end local 10 // java.lang.Object[] rowData
        end local 9 // java.util.Iterator columnsIterator
        62: .line 4756
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP int java.nio.ByteBuffer com.microsoft.sqlserver.jdbc.TDSCommand int int int java.util.Map
      StackMap stack:
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.next:()Z
            ifne 24
        end local 8 // java.util.Map columnMetadata
        63: .line 4825
      StackMap locals:
      StackMap stack:
            iload 2 /* tdsWritterCached */
            ifeq 68
        64: .line 4826
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            iload 5 /* cachedRequestComplete */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.setRequestComplete:(Z)V
        65: .line 4827
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            iload 6 /* cachedInterruptsEnabled */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.setInterruptsEnabled:(Z)V
        66: .line 4828
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            iload 7 /* cachedProcessedResponse */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.setProcessedResponse:(Z)V
        67: .line 4829
            goto 69
        68: .line 4831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        69: .line 4833
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean cachedProcessedResponse
        end local 6 // boolean cachedInterruptsEnabled
        end local 5 // boolean cachedRequestComplete
        end local 4 // com.microsoft.sqlserver.jdbc.TDSCommand cachedCommand
        end local 3 // java.nio.ByteBuffer cachedTVPHeaders
        end local 2 // boolean tdsWritterCached
        end local 1 // com.microsoft.sqlserver.jdbc.TVP value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   70     0                      this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   70     1                     value  Lcom/microsoft/sqlserver/jdbc/TVP;
            1   70     2          tdsWritterCached  Z
            2   70     3          cachedTVPHeaders  Ljava/nio/ByteBuffer;
            3   70     4             cachedCommand  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            4   70     5     cachedRequestComplete  Z
            5   70     6   cachedInterruptsEnabled  Z
            6   70     7   cachedProcessedResponse  Z
           10   22     8           sourceResultSet  Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
           11   22     9                  src_stmt  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
           12   22    10   resultSetServerCursorId  I
           23   63     8            columnMetadata  Ljava/util/Map<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
           32   62     9           columnsIterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;>;
           30   62    10                   rowData  [Ljava/lang/Object;
           33   62    11             currentColumn  I
           35   48    12                columnPair  Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
           39   48    13                  jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
           40   48    14  currentColumnStringValue  Ljava/lang/String;
           41   48    15             currentObject  Ljava/lang/Object;
           53   62    12                 tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
           54   62    13                 tokenType  I
           56   60    14             databaseError  Lcom/microsoft/sqlserver/jdbc/SQLServerError;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  private void writeInternalTVPRowValues(com.microsoft.sqlserver.jdbc.JDBCType, java.lang.String, , java.util.Map$Entry<java.lang.Integer, com.microsoft.sqlserver.jdbc.SQLServerMetaData>, );
    descriptor: (Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map$Entry;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 2 // java.lang.String currentColumnStringValue
        start local 3 // java.lang.Object currentObject
        start local 4 // java.util.Map$Entry columnPair
        start local 5 // boolean isSqlVariant
         0: .line 4839
            invokestatic com.microsoft.sqlserver.jdbc.TDSWriter.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            tableswitch { // 3 - 47
                    3: 1
                    4: 130
                    5: 9
                    6: 173
                    7: 173
                    8: 76
                    9: 173
                   10: 173
                   11: 76
                   12: 76
                   13: 34
                   14: 173
                   15: 49
                   16: 67
                   17: 18
                   18: 173
                   19: 76
                   20: 130
                   21: 76
                   22: 76
                   23: 173
                   24: 173
                   25: 34
                   26: 76
                   27: 173
                   28: 67
                   29: 173
                   30: 173
                   31: 25
                   32: 76
                   33: 173
                   34: 76
                   35: 76
                   36: 76
                   37: 76
                   38: 25
                   39: 130
                   40: 76
                   41: 173
                   42: 173
                   43: 173
                   44: 76
                   45: 76
                   46: 173
                   47: 163
              default: 173
          }
         1: .line 4841
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 3
         2: .line 4842
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
         3: .line 4844
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 6
         4: .line 4845
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
         5: .line 4846
            goto 7
         6: .line 4847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 4849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         8: .line 4851
            goto 174
         9: .line 4854
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 11
        10: .line 4855
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
        11: .line 4857
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 13
        12: .line 4858
            aload 0 /* this */
            iconst_3
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
            goto 14
        13: .line 4860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        14: .line 4861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        15: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.JDBCType java.lang.String java.lang.Object java.util.Map$Entry int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        16: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        17: .line 4863
            goto 174
        18: .line 4866
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 20
        19: .line 4867
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
        20: .line 4869
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifne 22
        21: .line 4870
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 23
        22: .line 4872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
        23: .line 4873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        24: .line 4875
            goto 174
        25: .line 4879
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 27
        26: .line 4880
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
        27: .line 4882
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 31
        28: .line 4883
            aload 0 /* this */
            bipush 6
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
        29: .line 4884
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        30: .line 4885
            goto 174
        31: .line 4886
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        32: .line 4887
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        33: .line 4890
            goto 174
        34: .line 4894
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 36
        35: .line 4895
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
        36: .line 4897
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 41
        37: .line 4898
            aload 0 /* this */
            bipush 21
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DECIMALN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
        38: .line 4899
            aload 0 /* this */
            bipush 38
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        39: .line 4900
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        40: .line 4901
            goto 42
        41: .line 4902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 17
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        42: .line 4904
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 2 /* currentColumnStringValue */
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            astore 9 /* bdValue */
        start local 9 // java.math.BigDecimal bdValue
        43: .line 4911
            aload 9 /* bdValue */
            aload 4 /* columnPair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.scale:I
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            astore 9 /* bdValue */
        44: .line 4913
            aload 9 /* bdValue */
            aload 9 /* bdValue */
            invokevirtual java.math.BigDecimal.scale:()I
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToBytes:(Ljava/math/BigDecimal;I)[B
            astore 10 /* valueBytes */
        start local 10 // byte[] valueBytes
        45: .line 4916
            bipush 17
            newarray 8
            astore 11 /* byteValue */
        start local 11 // byte[] byteValue
        46: .line 4919
            aload 10 /* valueBytes */
            iconst_2
            aload 11 /* byteValue */
            iconst_0
            aload 10 /* valueBytes */
            arraylength
            iconst_2
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        47: .line 4920
            aload 0 /* this */
            aload 11 /* byteValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 11 // byte[] byteValue
        end local 10 // byte[] valueBytes
        end local 9 // java.math.BigDecimal bdValue
        48: .line 4922
            goto 174
        49: .line 4925
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 51
        50: .line 4926
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
        51: .line 4928
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 55
        52: .line 4929
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
        53: .line 4930
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDouble:(D)V
        54: .line 4931
            goto 174
        55: .line 4933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        56: .line 4934
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 9 /* bits */
        start local 9 // long bits
        57: .line 4935
            ldc 255
            lstore 11 /* mask */
        start local 11 // long mask
        58: .line 4936
            iconst_0
            istore 13 /* nShift */
        start local 13 // int nShift
        59: .line 4937
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        60: goto 65
        61: .line 4938
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.JDBCType java.lang.String java.lang.Object java.util.Map$Entry int top top top long long int int
      StackMap stack:
            aload 0 /* this */
            lload 9 /* bits */
            lload 11 /* mask */
            land
            iload 13 /* nShift */
            lshr
            l2i
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        62: .line 4939
            iinc 13 /* nShift */ 8
        63: .line 4940
            lload 11 /* mask */
            bipush 8
            lshl
            lstore 11 /* mask */
        64: .line 4937
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 14 /* i */
            bipush 8
            if_icmplt 61
        end local 14 // int i
        end local 13 // int nShift
        end local 11 // long mask
        end local 9 // long bits
        66: .line 4943
            goto 174
        67: .line 4947
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.JDBCType java.lang.String java.lang.Object java.util.Map$Entry int
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            ifnonnull 69
        68: .line 4948
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 174
        69: .line 4950
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 73
        70: .line 4951
            aload 0 /* this */
            bipush 6
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
        71: .line 4952
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        72: .line 4953
            goto 174
        73: .line 4954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        74: .line 4955
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        75: .line 4958
            goto 174
        76: .line 4975
      StackMap locals:
      StackMap stack:
            ldc 2
            aload 4 /* columnPair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.precision:I
            i2l
            lmul
            ldc 8000
            lcmp
            ifgt 77
            iconst_1
            goto 78
      StackMap locals:
      StackMap stack:
        77: iconst_0
      StackMap locals:
      StackMap stack: int
        78: istore 6 /* isShortValue */
        start local 6 // boolean isShortValue
        79: .line 4976
            aload 2 /* currentColumnStringValue */
            ifnonnull 80
            iconst_1
            goto 81
      StackMap locals: int
      StackMap stack:
        80: iconst_0
      StackMap locals:
      StackMap stack: int
        81: istore 7 /* isNull */
        start local 7 // boolean isNull
        82: .line 4977
            iload 7 /* isNull */
            ifeq 83
            iconst_0
            goto 84
      StackMap locals: int
      StackMap stack:
        83: aload 2 /* currentColumnStringValue */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
      StackMap locals:
      StackMap stack: int
        84: istore 8 /* dataLength */
        start local 8 // int dataLength
        85: .line 4978
            iload 6 /* isShortValue */
            ifne 112
        86: .line 4980
            iload 7 /* isNull */
            ifeq 89
        87: .line 4982
            aload 0 /* this */
            ldc -1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
        88: .line 4983
            goto 106
      StackMap locals: int
      StackMap stack:
        89: iload 5 /* isSqlVariant */
            ifeq 103
        90: .line 4992
            iload 8 /* dataLength */
            sipush 16000
            if_icmple 95
        91: .line 4993
            new java.text.MessageFormat
            dup
        92: .line 4994
            ldc "R_invalidStringValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        93: .line 4993
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        94: .line 4995
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 9 /* form */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 9 // java.text.MessageFormat form
        95: .line 4997
      StackMap locals:
      StackMap stack:
            aload 2 /* currentColumnStringValue */
            invokevirtual java.lang.String.length:()I
            istore 9 /* length */
        start local 9 // int length
        96: .line 4998
            aload 0 /* this */
            bipush 9
            iload 9 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
        97: .line 4999
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 10 /* col */
        start local 10 // com.microsoft.sqlserver.jdbc.SQLCollation col
        98: .line 5001
            aload 0 /* this */
            aload 10 /* col */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationInfo:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        99: .line 5002
            aload 0 /* this */
            aload 10 /* col */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationSortID:()I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       100: .line 5003
            aload 0 /* this */
            iload 9 /* length */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       101: .line 5004
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       102: .line 5005
            goto 174
        end local 10 // com.microsoft.sqlserver.jdbc.SQLCollation col
        end local 9 // int length
       103: .line 5008
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 8 /* dataLength */
            if_icmpne 105
       104: .line 5011
            aload 0 /* this */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
            goto 106
       105: .line 5014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* dataLength */
            i2l
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
       106: .line 5015
      StackMap locals:
      StackMap stack:
            iload 7 /* isNull */
            ifne 174
       107: .line 5016
            iload 8 /* dataLength */
            ifle 110
       108: .line 5017
            aload 0 /* this */
            iload 8 /* dataLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       109: .line 5018
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
       110: .line 5021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       111: .line 5023
            goto 174
       112: .line 5024
      StackMap locals:
      StackMap stack:
            iload 7 /* isNull */
            ifeq 114
       113: .line 5025
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
            goto 174
       114: .line 5027
      StackMap locals:
      StackMap stack:
            iload 5 /* isSqlVariant */
            ifeq 127
       115: .line 5031
            aload 2 /* currentColumnStringValue */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            istore 9 /* length */
        start local 9 // int length
       116: .line 5032
            aload 0 /* this */
            bipush 9
            iload 9 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTVPSqlVariantHeader:(IBB)V
       117: .line 5033
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 10 /* col */
        start local 10 // com.microsoft.sqlserver.jdbc.SQLCollation col
       118: .line 5035
            aload 0 /* this */
            aload 10 /* col */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationInfo:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       119: .line 5036
            aload 0 /* this */
            aload 10 /* col */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationSortID:()I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       120: .line 5037
            aload 2 /* currentColumnStringValue */
            invokevirtual java.lang.String.length:()I
            istore 11 /* stringLength */
        start local 11 // int stringLength
       121: .line 5038
            iconst_2
            newarray 8
            astore 12 /* typevarlen */
        start local 12 // byte[] typevarlen
       122: .line 5039
            aload 12 /* typevarlen */
            iconst_0
            iconst_2
            iload 11 /* stringLength */
            imul
            sipush 255
            iand
            i2b
            bastore
       123: .line 5040
            aload 12 /* typevarlen */
            iconst_1
            iconst_2
            iload 11 /* stringLength */
            imul
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
       124: .line 5041
            aload 0 /* this */
            aload 12 /* typevarlen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       125: .line 5042
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
       126: .line 5043
            goto 174
        end local 12 // byte[] typevarlen
        end local 11 // int stringLength
        end local 10 // com.microsoft.sqlserver.jdbc.SQLCollation col
        end local 9 // int length
       127: .line 5045
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* dataLength */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       128: .line 5046
            aload 0 /* this */
            aload 2 /* currentColumnStringValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
       129: .line 5050
            goto 174
        end local 8 // int dataLength
        end local 7 // boolean isNull
        end local 6 // boolean isShortValue
       130: .line 5056
      StackMap locals:
      StackMap stack:
            aload 4 /* columnPair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.precision:I
            sipush 8000
            if_icmpgt 131
            iconst_1
            goto 132
      StackMap locals:
      StackMap stack:
       131: iconst_0
      StackMap locals:
      StackMap stack: int
       132: istore 6 /* isShortValue */
        start local 6 // boolean isShortValue
       133: .line 5057
            aload 3 /* currentObject */
            ifnonnull 134
            iconst_1
            goto 135
      StackMap locals: int
      StackMap stack:
       134: iconst_0
      StackMap locals:
      StackMap stack: int
       135: istore 7 /* isNull */
        start local 7 // boolean isNull
       136: .line 5058
            aload 3 /* currentObject */
            instanceof java.lang.String
            ifeq 139
       137: .line 5059
            aload 3 /* currentObject */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            arraylength
            istore 8 /* dataLength */
        start local 8 // int dataLength
       138: goto 142
        end local 8 // int dataLength
       139: .line 5061
      StackMap locals: int
      StackMap stack:
            iload 7 /* isNull */
            ifeq 140
            iconst_0
            goto 141
      StackMap locals:
      StackMap stack:
       140: aload 3 /* currentObject */
            checkcast byte[]
            arraylength
      StackMap locals:
      StackMap stack: int
       141: istore 8 /* dataLength */
        start local 8 // int dataLength
       142: .line 5062
      StackMap locals: int
      StackMap stack:
            iload 6 /* isShortValue */
            ifne 156
       143: .line 5064
            iload 7 /* isNull */
            ifeq 145
       144: .line 5066
            aload 0 /* this */
            ldc -1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
            goto 148
       145: .line 5067
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 8 /* dataLength */
            if_icmpne 147
       146: .line 5070
            aload 0 /* this */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
            goto 148
       147: .line 5073
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* dataLength */
            i2l
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
       148: .line 5074
      StackMap locals:
      StackMap stack:
            iload 7 /* isNull */
            ifne 174
       149: .line 5075
            iload 8 /* dataLength */
            ifle 154
       150: .line 5076
            aload 0 /* this */
            iload 8 /* dataLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       151: .line 5077
            aload 3 /* currentObject */
            instanceof java.lang.String
            ifeq 153
       152: .line 5078
            aload 0 /* this */
            aload 3 /* currentObject */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
            goto 154
       153: .line 5080
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* currentObject */
            checkcast byte[]
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       154: .line 5083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       155: .line 5085
            goto 174
       156: .line 5086
      StackMap locals:
      StackMap stack:
            iload 7 /* isNull */
            ifeq 158
       157: .line 5087
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
            goto 174
       158: .line 5089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* dataLength */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       159: .line 5090
            aload 3 /* currentObject */
            instanceof java.lang.String
            ifeq 161
       160: .line 5091
            aload 0 /* this */
            aload 3 /* currentObject */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
            goto 174
       161: .line 5093
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* currentObject */
            checkcast byte[]
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       162: .line 5096
            goto 174
        end local 8 // int dataLength
        end local 7 // boolean isNull
        end local 6 // boolean isShortValue
       163: .line 5098
      StackMap locals:
      StackMap stack:
            bipush 8
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerMajorVersion:()I
            if_icmplt 164
            iconst_1
            goto 165
      StackMap locals:
      StackMap stack:
       164: iconst_0
      StackMap locals:
      StackMap stack: int
       165: istore 9 /* isShiloh */
        start local 9 // boolean isShiloh
       166: .line 5099
            iload 9 /* isShiloh */
            ifeq 169
       167: .line 5100
            new java.text.MessageFormat
            dup
            ldc "R_SQLVariantSupport"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
       168: .line 5101
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 10 /* form */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 10 // java.text.MessageFormat form
       169: .line 5104
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.JDBCType java.lang.String java.lang.Object java.util.Map$Entry int top top top int
      StackMap stack:
            aload 3 /* currentObject */
            invokestatic com.microsoft.sqlserver.jdbc.JavaType.of:(Ljava/lang/Object;)Lcom/microsoft/sqlserver/jdbc/JavaType;
            astore 11 /* javaType */
        start local 11 // com.microsoft.sqlserver.jdbc.JavaType javaType
       170: .line 5105
            aload 11 /* javaType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.UNKNOWN:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JavaType.getJDBCType:(Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            astore 10 /* internalJDBCType */
        start local 10 // com.microsoft.sqlserver.jdbc.JDBCType internalJDBCType
       171: .line 5106
            aload 0 /* this */
            aload 10 /* internalJDBCType */
            aload 2 /* currentColumnStringValue */
            aload 3 /* currentObject */
            aload 4 /* columnPair */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInternalTVPRowValues:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map$Entry;Z)V
       172: .line 5107
            goto 174
        end local 11 // com.microsoft.sqlserver.jdbc.JavaType javaType
        end local 10 // com.microsoft.sqlserver.jdbc.JDBCType internalJDBCType
        end local 9 // boolean isShiloh
       173: .line 5109
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.JDBCType java.lang.String java.lang.Object java.util.Map$Entry int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 174
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected JDBC type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       174: .line 5111
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean isSqlVariant
        end local 4 // java.util.Map$Entry columnPair
        end local 3 // java.lang.Object currentObject
        end local 2 // java.lang.String currentColumnStringValue
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0  175     0                      this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0  175     1                  jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0  175     2  currentColumnStringValue  Ljava/lang/String;
            0  175     3             currentObject  Ljava/lang/Object;
            0  175     4                columnPair  Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
            0  175     5              isSqlVariant  Z
           79  130     6              isShortValue  Z
          133  163     6              isShortValue  Z
           82  130     7                    isNull  Z
          136  163     7                    isNull  Z
           85  130     8                dataLength  I
          138  139     8                dataLength  I
          142  163     8                dataLength  I
           43   48     9                   bdValue  Ljava/math/BigDecimal;
           45   48    10                valueBytes  [B
           46   48    11                 byteValue  [B
           57   66     9                      bits  J
           58   66    11                      mask  J
           59   66    13                    nShift  I
           60   66    14                         i  I
           94   95     9                      form  Ljava/text/MessageFormat;
           96  103     9                    length  I
           98  103    10                       col  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
          116  127     9                    length  I
          118  127    10                       col  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
          121  127    11              stringLength  I
          122  127    12                typevarlen  [B
          166  173     9                  isShiloh  Z
          168  169    10                      form  Ljava/text/MessageFormat;
          171  173    10          internalJDBCType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
          170  173    11                  javaType  Lcom/microsoft/sqlserver/jdbc/JavaType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;Z)V
    MethodParameters:
                          Name  Flags
      jdbcType                  
      currentColumnStringValue  
      currentObject             
      columnPair                
      isSqlVariant              

  private void writeTVPSqlVariantHeader(int, byte, byte);
    descriptor: (IBB)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // int length
        start local 2 // byte tdsType
        start local 3 // byte probBytes
         0: .line 5122
            aload 0 /* this */
            iload 1 /* length */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         1: .line 5123
            aload 0 /* this */
            iload 2 /* tdsType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 5124
            aload 0 /* this */
            iload 3 /* probBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 5125
            return
        end local 3 // byte probBytes
        end local 2 // byte tdsType
        end local 1 // int length
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    4     1     length  I
            0    4     2    tdsType  B
            0    4     3  probBytes  B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      length     
      tdsType    
      probBytes  

  void writeTVPColumnMetaData(com.microsoft.sqlserver.jdbc.TVP);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TVP;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TVP value
         0: .line 5131
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getTVPColumnCount:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         1: .line 5133
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getColumnMetadata:()Ljava/util/Map;
            astore 3 /* columnMetadata */
        start local 3 // java.util.Map columnMetadata
         2: .line 5138
            aload 3 /* columnMetadata */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 59
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP top java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* pair */
        start local 4 // java.util.Map$Entry pair
         4: .line 5139
            aload 4 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.javaSqlType:I
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            astore 6 /* jdbcType */
        start local 6 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         5: .line 5140
            aload 4 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.useServerDefault:Z
            istore 7 /* useServerDefault */
        start local 7 // boolean useServerDefault
         6: .line 5143
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         7: .line 5150
            iconst_1
            istore 8 /* flags */
        start local 8 // short flags
         8: .line 5151
            iload 7 /* useServerDefault */
            ifeq 10
         9: .line 5152
            iload 8 /* flags */
            sipush 512
            ior
            i2s
            istore 8 /* flags */
        10: .line 5154
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP top java.util.Map java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.JDBCType int int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* flags */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        11: .line 5157
            invokestatic com.microsoft.sqlserver.jdbc.TDSWriter.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            tableswitch { // 3 - 47
                    3: 12
                    4: 46
                    5: 15
                    6: 57
                    7: 57
                    8: 35
                    9: 57
                   10: 57
                   11: 35
                   12: 35
                   13: 24
                   14: 57
                   15: 29
                   16: 32
                   17: 18
                   18: 57
                   19: 35
                   20: 46
                   21: 35
                   22: 35
                   23: 57
                   24: 57
                   25: 24
                   26: 35
                   27: 57
                   28: 32
                   29: 57
                   30: 57
                   31: 21
                   32: 35
                   33: 57
                   34: 35
                   35: 35
                   36: 35
                   37: 35
                   38: 21
                   39: 46
                   40: 35
                   41: 57
                   42: 57
                   43: 57
                   44: 35
                   45: 35
                   46: 57
                   47: 54
              default: 57
          }
        12: .line 5159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        13: .line 5160
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        14: .line 5161
            goto 58
        15: .line 5163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BITN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        16: .line 5164
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        17: .line 5165
            goto 58
        18: .line 5167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        19: .line 5168
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        20: .line 5169
            goto 58
        21: .line 5172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        22: .line 5173
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        23: .line 5174
            goto 58
        24: .line 5178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NUMERICN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        25: .line 5179
            aload 0 /* this */
            bipush 17
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        26: .line 5180
            aload 0 /* this */
            aload 4 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.precision:I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        27: .line 5181
            aload 0 /* this */
            aload 4 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.scale:I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        28: .line 5182
            goto 58
        29: .line 5185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        30: .line 5186
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        31: .line 5187
            goto 58
        32: .line 5191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        33: .line 5192
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        34: .line 5193
            goto 58
        35: .line 5210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        36: .line 5211
            ldc 2
            aload 4 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.precision:I
            i2l
            lmul
            ldc 8000
            lcmp
            ifgt 37
            iconst_1
            goto 38
      StackMap locals:
      StackMap stack:
        37: iconst_0
      StackMap locals:
      StackMap stack: int
        38: istore 2 /* isShortValue */
        start local 2 // boolean isShortValue
        39: .line 5213
            iload 2 /* isShortValue */
            ifne 43
        40: .line 5216
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        41: .line 5217
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        42: .line 5218
            goto 58
        43: .line 5220
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP int java.util.Map java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.JDBCType int int
      StackMap stack:
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        44: .line 5221
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        45: .line 5224
            goto 58
        end local 2 // boolean isShortValue
        46: .line 5229
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP top java.util.Map java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.JDBCType int int
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        47: .line 5230
            aload 4 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.precision:I
            sipush 8000
            if_icmpgt 48
            iconst_1
            goto 49
      StackMap locals:
      StackMap stack:
        48: iconst_0
      StackMap locals:
      StackMap stack: int
        49: istore 2 /* isShortValue */
        start local 2 // boolean isShortValue
        50: .line 5232
            iload 2 /* isShortValue */
            ifne 52
        51: .line 5234
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
            goto 58
        52: .line 5236
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP int java.util.Map java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.JDBCType int int
      StackMap stack:
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        53: .line 5237
            goto 58
        end local 2 // boolean isShortValue
        54: .line 5239
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP top java.util.Map java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.JDBCType int int
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        55: .line 5240
            aload 0 /* this */
            sipush 8009
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        56: .line 5242
            goto 58
        57: .line 5245
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 58
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected JDBC type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        58: .line 5248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        end local 8 // short flags
        end local 7 // boolean useServerDefault
        end local 6 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 4 // java.util.Map$Entry pair
        59: .line 5138
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP top java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        60: .line 5253
            return
        end local 3 // java.util.Map columnMetadata
        end local 1 // com.microsoft.sqlserver.jdbc.TVP value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   61     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   61     1             value  Lcom/microsoft/sqlserver/jdbc/TVP;
           39   46     2      isShortValue  Z
           50   54     2      isShortValue  Z
            2   61     3    columnMetadata  Ljava/util/Map<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
            4   59     4              pair  Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
            5   59     6          jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            6   59     7  useServerDefault  Z
            8   59     8             flags  S
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeTvpOrderUnique(com.microsoft.sqlserver.jdbc.TVP);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TVP;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TVP value
         0: .line 5260
            aload 1 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TVP.getColumnMetadata:()Ljava/util/Map;
            astore 2 /* columnMetadata */
        start local 2 // java.util.Map columnMetadata
         1: .line 5261
            aload 2 /* columnMetadata */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* columnsIterator */
        start local 3 // java.util.Iterator columnsIterator
         2: .line 5262
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* columnList */
        start local 4 // java.util.LinkedList columnList
         3: .line 5264
            goto 15
         4: .line 5265
      StackMap locals: java.util.Map java.util.Iterator java.util.LinkedList
      StackMap stack:
            iconst_0
            istore 5 /* flags */
        start local 5 // byte flags
         5: .line 5266
            aload 3 /* columnsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* pair */
        start local 6 // java.util.Map$Entry pair
         6: .line 5267
            aload 6 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerMetaData
            astore 7 /* metaData */
        start local 7 // com.microsoft.sqlserver.jdbc.SQLServerMetaData metaData
         7: .line 5269
            getstatic com.microsoft.sqlserver.jdbc.SQLServerSortOrder.Ascending:Lcom/microsoft/sqlserver/jdbc/SQLServerSortOrder;
            aload 7 /* metaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.sortOrder:Lcom/microsoft/sqlserver/jdbc/SQLServerSortOrder;
            if_acmpne 9
         8: .line 5270
            iconst_1
            istore 5 /* flags */
            goto 11
         9: .line 5271
      StackMap locals: int java.util.Map$Entry com.microsoft.sqlserver.jdbc.SQLServerMetaData
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerSortOrder.Descending:Lcom/microsoft/sqlserver/jdbc/SQLServerSortOrder;
            aload 7 /* metaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.sortOrder:Lcom/microsoft/sqlserver/jdbc/SQLServerSortOrder;
            if_acmpne 11
        10: .line 5272
            iconst_2
            istore 5 /* flags */
        11: .line 5273
      StackMap locals:
      StackMap stack:
            aload 7 /* metaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerMetaData.isUniqueKey:Z
            ifeq 13
        12: .line 5274
            iload 5 /* flags */
            iconst_4
            ior
            i2b
            istore 5 /* flags */
        13: .line 5277
      StackMap locals:
      StackMap stack:
            iload 5 /* flags */
            ifeq 15
        14: .line 5278
            aload 4 /* columnList */
            new com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique
            dup
            aload 0 /* this */
            aload 6 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iload 5 /* flags */
            invokespecial com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IB)V
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // com.microsoft.sqlserver.jdbc.SQLServerMetaData metaData
        end local 6 // java.util.Map$Entry pair
        end local 5 // byte flags
        15: .line 5264
      StackMap locals:
      StackMap stack:
            aload 3 /* columnsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        16: .line 5282
            aload 4 /* columnList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 24
        17: .line 5283
            aload 0 /* this */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        18: .line 5284
            aload 0 /* this */
            aload 4 /* columnList */
            invokevirtual java.util.LinkedList.size:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        19: .line 5285
            aload 4 /* columnList */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP java.util.Map java.util.Iterator java.util.LinkedList top java.util.Iterator
      StackMap stack:
        20: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique
            astore 5 /* column */
        start local 5 // com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique column
        21: .line 5286
            aload 0 /* this */
            aload 5 /* column */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique.columnOrdinal:I
            iconst_1
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        22: .line 5287
            aload 0 /* this */
            aload 5 /* column */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique.flags:B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        end local 5 // com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique column
        23: .line 5285
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        24: .line 5290
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TVP java.util.Map java.util.Iterator java.util.LinkedList
      StackMap stack:
            return
        end local 4 // java.util.LinkedList columnList
        end local 3 // java.util.Iterator columnsIterator
        end local 2 // java.util.Map columnMetadata
        end local 1 // com.microsoft.sqlserver.jdbc.TVP value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   25     1            value  Lcom/microsoft/sqlserver/jdbc/TVP;
            1   25     2   columnMetadata  Ljava/util/Map<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
            2   25     3  columnsIterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;>;
            3   25     4       columnList  Ljava/util/LinkedList<Lcom/microsoft/sqlserver/jdbc/TDSWriter$TdsOrderUnique;>;
            5   15     5            flags  B
            6   15     6             pair  Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;>;
            7   15     7         metaData  Lcom/microsoft/sqlserver/jdbc/SQLServerMetaData;
           21   23     5           column  Lcom/microsoft/sqlserver/jdbc/TDSWriter$TdsOrderUnique;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void setCryptoMetaData(com.microsoft.sqlserver.jdbc.CryptoMetadata);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMetaForBulk
         0: .line 5303
            aload 0 /* this */
            aload 1 /* cryptoMetaForBulk */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         1: .line 5304
            return
        end local 1 // com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMetaForBulk
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  cryptoMetaForBulk  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
    MethodParameters:
                   Name  Flags
      cryptoMetaForBulk  

  com.microsoft.sqlserver.jdbc.CryptoMetadata getCryptoMetaData();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 5307
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void writeEncryptedRPCByteArray(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte[] bValue
         0: .line 5311
            aload 1 /* bValue */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* bValueNull */
        start local 2 // boolean bValueNull
         3: .line 5312
            iload 2 /* bValueNull */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 1 /* bValue */
            arraylength
      StackMap locals:
      StackMap stack: int
         5: i2l
            lstore 3 /* nValueLen */
        start local 3 // long nValueLen
         6: .line 5313
            lload 3 /* nValueLen */
            ldc 8000
            lcmp
            ifgt 7
            iconst_1
            goto 8
      StackMap locals: long
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* isShortValue */
        start local 5 // boolean isShortValue
         9: .line 5315
            iload 5 /* isShortValue */
            ifne 10
            lload 3 /* nValueLen */
            ldc 2147483647
            lcmp
            ifgt 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* isPLP */
        start local 6 // boolean isPLP
        12: .line 5318
            iload 5 /* isShortValue */
            ifeq 15
        13: .line 5319
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        14: .line 5320
            goto 19
      StackMap locals: int
      StackMap stack:
        15: iload 6 /* isPLP */
            ifeq 18
        16: .line 5321
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        17: .line 5322
            goto 19
        18: .line 5323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        19: .line 5327
      StackMap locals:
      StackMap stack:
            iload 2 /* bValueNull */
            ifeq 22
        20: .line 5328
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        21: .line 5329
            goto 35
        22: .line 5330
      StackMap locals:
      StackMap stack:
            iload 5 /* isShortValue */
            ifeq 25
        23: .line 5331
            aload 0 /* this */
            lload 3 /* nValueLen */
            l2i
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        24: .line 5332
            goto 29
      StackMap locals:
      StackMap stack:
        25: iload 6 /* isPLP */
            ifeq 28
        26: .line 5333
            aload 0 /* this */
            lload 3 /* nValueLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
        27: .line 5334
            goto 29
        28: .line 5335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* nValueLen */
            l2i
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        29: .line 5339
      StackMap locals:
      StackMap stack:
            lconst_0
            lload 3 /* nValueLen */
            lcmp
            ifeq 33
        30: .line 5340
            iload 6 /* isPLP */
            ifeq 32
        31: .line 5341
            aload 0 /* this */
            lload 3 /* nValueLen */
            l2i
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        32: .line 5343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        33: .line 5346
      StackMap locals:
      StackMap stack:
            iload 6 /* isPLP */
            ifeq 35
        34: .line 5347
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        35: .line 5350
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean isPLP
        end local 5 // boolean isShortValue
        end local 3 // long nValueLen
        end local 2 // boolean bValueNull
        end local 1 // byte[] bValue
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   36     1        bValue  [B
            3   36     2    bValueNull  Z
            6   36     3     nValueLen  J
            9   36     5  isShortValue  Z
           12   36     6         isPLP  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      bValue  

  void writeEncryptedRPCPLP();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 5353
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         1: .line 5354
            aload 0 /* this */
            lconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         2: .line 5355
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         3: .line 5356
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void writeCryptoMetaData();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 5359
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.cipherAlgorithmId:B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         1: .line 5360
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.encryptionType:Lcom/microsoft/sqlserver/jdbc/SQLServerEncryptionType;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerEncryptionType.getValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 5361
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.cekTableEntry:Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.databaseId:I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         3: .line 5362
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.cekTableEntry:Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.cekId:I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         4: .line 5363
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.cekTableEntry:Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.cekVersion:I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         5: .line 5364
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.cekTableEntry:Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.cekMdVersion:[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         6: .line 5365
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.normalizationRuleVersion:B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 5366
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void writeRPCByteArray(java.lang.String, byte[], boolean, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.SQLCollation);
    descriptor: (Ljava/lang/String;[BZLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SQLCollation;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // byte[] bValue
        start local 3 // boolean bOut
        start local 4 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 5 // com.microsoft.sqlserver.jdbc.SQLCollation collation
         0: .line 5370
            aload 2 /* bValue */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 6 /* bValueNull */
        start local 6 // boolean bValueNull
         3: .line 5371
            iload 6 /* bValueNull */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 2 /* bValue */
            arraylength
      StackMap locals:
      StackMap stack: int
         5: istore 7 /* nValueLen */
        start local 7 // int nValueLen
         6: .line 5372
            iload 7 /* nValueLen */
            sipush 8000
            if_icmpgt 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* isShortValue */
        start local 8 // boolean isShortValue
         9: .line 5375
            iload 8 /* isShortValue */
            ifeq 10
            iload 3 /* bOut */
            ifne 10
            iconst_0
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 9 /* usePLP */
        start local 9 // boolean usePLP
        12: .line 5379
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnull 19
        13: .line 5381
            iload 8 /* isShortValue */
            ifne 14
            iload 9 /* usePLP */
            ifeq 15
      StackMap locals: int
      StackMap stack:
        14: getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 16
      StackMap locals:
      StackMap stack:
        15: getstatic com.microsoft.sqlserver.jdbc.TDSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/TDSType;
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSType
        16: astore 10 /* tdsType */
        start local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        17: .line 5382
            aconst_null
            astore 5 /* collation */
        18: .line 5383
            goto 39
        end local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        19: .line 5384
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.TDSWriter.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 4 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 12
                    4: 20
                    6: 20
                    8: 26
                    9: 26
                   19: 33
                   20: 20
                   21: 26
                   22: 33
                   23: 33
                   26: 33
                   39: 20
                   40: 26
              default: 20
          }
        20: .line 5390
      StackMap locals:
      StackMap stack:
            iload 8 /* isShortValue */
            ifne 21
            iload 9 /* usePLP */
            ifeq 22
      StackMap locals:
      StackMap stack:
        21: getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 23
      StackMap locals:
      StackMap stack:
        22: getstatic com.microsoft.sqlserver.jdbc.TDSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/TDSType;
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSType
        23: astore 10 /* tdsType */
        start local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        24: .line 5391
            aconst_null
            astore 5 /* collation */
        25: .line 5392
            goto 39
        end local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        26: .line 5398
      StackMap locals:
      StackMap stack:
            iload 8 /* isShortValue */
            ifne 27
            iload 9 /* usePLP */
            ifeq 28
      StackMap locals:
      StackMap stack:
        27: getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 29
      StackMap locals:
      StackMap stack:
        28: getstatic com.microsoft.sqlserver.jdbc.TDSType.TEXT:Lcom/microsoft/sqlserver/jdbc/TDSType;
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSType
        29: astore 10 /* tdsType */
        start local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        30: .line 5399
            aload 5 /* collation */
            ifnonnull 39
        31: .line 5400
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 5 /* collation */
        32: .line 5401
            goto 39
        end local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        33: .line 5407
      StackMap locals:
      StackMap stack:
            iload 8 /* isShortValue */
            ifne 34
            iload 9 /* usePLP */
            ifeq 35
      StackMap locals:
      StackMap stack:
        34: getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 36
      StackMap locals:
      StackMap stack:
        35: getstatic com.microsoft.sqlserver.jdbc.TDSType.NTEXT:Lcom/microsoft/sqlserver/jdbc/TDSType;
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSType
        36: astore 10 /* tdsType */
        start local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        37: .line 5408
            aload 5 /* collation */
            ifnonnull 39
        38: .line 5409
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 5 /* collation */
        39: .line 5413
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            aload 10 /* tdsType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        40: .line 5415
            iload 9 /* usePLP */
            ifeq 48
        41: .line 5417
            aload 0 /* this */
            iload 7 /* nValueLen */
            i2l
            iload 6 /* bValueNull */
            aload 5 /* collation */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeVMaxHeader:(JZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
        42: .line 5420
            iload 6 /* bValueNull */
            ifne 62
        43: .line 5421
            iload 7 /* nValueLen */
            ifle 46
        44: .line 5422
            aload 0 /* this */
            iload 7 /* nValueLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        45: .line 5423
            aload 0 /* this */
            aload 2 /* bValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        46: .line 5427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        47: .line 5429
            goto 62
        48: .line 5432
      StackMap locals:
      StackMap stack:
            iload 8 /* isShortValue */
            ifeq 51
        49: .line 5433
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        50: .line 5434
            goto 52
        51: .line 5435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        52: .line 5438
      StackMap locals:
      StackMap stack:
            aload 5 /* collation */
            ifnull 54
        53: .line 5439
            aload 5 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        54: .line 5442
      StackMap locals:
      StackMap stack:
            iload 6 /* bValueNull */
            ifeq 57
        55: .line 5443
            aload 0 /* this */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        56: .line 5444
            goto 62
        57: .line 5445
      StackMap locals:
      StackMap stack:
            iload 8 /* isShortValue */
            ifeq 59
        58: .line 5446
            aload 0 /* this */
            iload 7 /* nValueLen */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
            goto 60
        59: .line 5448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* nValueLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        60: .line 5451
      StackMap locals:
      StackMap stack:
            iload 7 /* nValueLen */
            ifeq 62
        61: .line 5452
            aload 0 /* this */
            aload 2 /* bValue */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        62: .line 5455
      StackMap locals:
      StackMap stack:
            return
        end local 10 // com.microsoft.sqlserver.jdbc.TDSType tdsType
        end local 9 // boolean usePLP
        end local 8 // boolean isShortValue
        end local 7 // int nValueLen
        end local 6 // boolean bValueNull
        end local 5 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 4 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 3 // boolean bOut
        end local 2 // byte[] bValue
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   63     0          this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   63     1         sName  Ljava/lang/String;
            0   63     2        bValue  [B
            0   63     3          bOut  Z
            0   63     4      jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   63     5     collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            3   63     6    bValueNull  Z
            6   63     7     nValueLen  I
            9   63     8  isShortValue  Z
           12   63     9        usePLP  Z
           17   19    10       tdsType  Lcom/microsoft/sqlserver/jdbc/TDSType;
           24   26    10       tdsType  Lcom/microsoft/sqlserver/jdbc/TDSType;
           30   33    10       tdsType  Lcom/microsoft/sqlserver/jdbc/TDSType;
           37   63    10       tdsType  Lcom/microsoft/sqlserver/jdbc/TDSType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      sName      
      bValue     
      bOut       
      jdbcType   
      collation  

  void writeRPCDateTime(java.lang.String, java.util.GregorianCalendar, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IZ)V
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar cal
        start local 3 // int subSecondNanos
        start local 4 // boolean bOut
         0: .line 5472
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 3
            iload 3 /* subSecondNanos */
            iflt 1
            iload 3 /* subSecondNanos */
            ldc 1000000000
            if_icmplt 3
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid subNanoSeconds value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 5473
            iload 3 /* subSecondNanos */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 5474
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 5
            aload 2 /* cal */
            ifnonnull 5
            iload 3 /* subSecondNanos */
            ifeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid subNanoSeconds value when calendar is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 5475
            iload 3 /* subSecondNanos */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 5477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 4 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         6: .line 5478
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 5480
            aload 2 /* cal */
            ifnonnull 10
         8: .line 5481
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         9: .line 5482
            return
        10: .line 5485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        11: .line 5504
            aload 2 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            aload 2 /* cal */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
        12: .line 5505
            sipush 1900
        13: .line 5504
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 5 /* daysSinceSQLBaseDate */
        start local 5 // int daysSinceSQLBaseDate
        14: .line 5508
            iload 3 /* subSecondNanos */
            ldc 500000
            iadd
            ldc 1000000
            idiv
        15: .line 5511
            sipush 1000
            aload 2 /* cal */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        16: .line 5508
            iadd
        17: .line 5512
            ldc 60000
            aload 2 /* cal */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        18: .line 5508
            iadd
        19: .line 5513
            ldc 3600000
            aload 2 /* cal */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        20: .line 5508
            iadd
            istore 6 /* millisSinceMidnight */
        start local 6 // int millisSinceMidnight
        21: .line 5517
            iload 6 /* millisSinceMidnight */
            ldc 86399999
            if_icmplt 24
        22: .line 5518
            iinc 5 /* daysSinceSQLBaseDate */ 1
        23: .line 5519
            iconst_0
            istore 6 /* millisSinceMidnight */
        24: .line 5528
      StackMap locals: int int
      StackMap stack:
            iload 5 /* daysSinceSQLBaseDate */
            sipush 1753
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 26
        25: .line 5529
            iload 5 /* daysSinceSQLBaseDate */
            sipush 10000
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 31
        26: .line 5530
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        27: .line 5531
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        28: .line 5532
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        29: .line 5533
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        30: .line 5532
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        31: .line 5539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* daysSinceSQLBaseDate */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        32: .line 5542
            aload 0 /* this */
            iconst_3
            iload 6 /* millisSinceMidnight */
            imul
            iconst_5
            iadd
            bipush 10
            idiv
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        33: .line 5543
            return
        end local 6 // int millisSinceMidnight
        end local 5 // int daysSinceSQLBaseDate
        end local 4 // boolean bOut
        end local 3 // int subSecondNanos
        end local 2 // java.util.GregorianCalendar cal
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   34     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   34     1                 sName  Ljava/lang/String;
            0   34     2                   cal  Ljava/util/GregorianCalendar;
            0   34     3        subSecondNanos  I
            0   34     4                  bOut  Z
           14   34     5  daysSinceSQLBaseDate  I
           21   34     6   millisSinceMidnight  I
           27   31     7                  form  Ljava/text/MessageFormat;
           28   31     8               msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      cal             
      subSecondNanos  
      bOut            

  void writeRPCTime(java.lang.String, java.util.GregorianCalendar, int, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IIZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar localCalendar
        start local 3 // int subSecondNanos
        start local 4 // int scale
        start local 5 // boolean bOut
         0: .line 5547
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5548
            aload 0 /* this */
            iload 4 /* scale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 5550
            aload 2 /* localCalendar */
            ifnonnull 5
         3: .line 5551
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 5552
            return
         5: .line 5555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.TDS.timeValueLength:(I)I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 5556
            aload 0 /* this */
            aload 2 /* localCalendar */
            iload 3 /* subSecondNanos */
            iload 4 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         7: .line 5557
            return
        end local 5 // boolean bOut
        end local 4 // int scale
        end local 3 // int subSecondNanos
        end local 2 // java.util.GregorianCalendar localCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1           sName  Ljava/lang/String;
            0    8     2   localCalendar  Ljava/util/GregorianCalendar;
            0    8     3  subSecondNanos  I
            0    8     4           scale  I
            0    8     5            bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      localCalendar   
      subSecondNanos  
      scale           
      bOut            

  void writeRPCDate(java.lang.String, java.util.GregorianCalendar, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar localCalendar
        start local 3 // boolean bOut
         0: .line 5560
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5561
            aload 2 /* localCalendar */
            ifnonnull 4
         2: .line 5562
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 5563
            return
         4: .line 5566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 5567
            aload 0 /* this */
            aload 2 /* localCalendar */
            iconst_0
         6: .line 5568
            iconst_0
         7: .line 5569
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
         8: .line 5567
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         9: .line 5570
            return
        end local 3 // boolean bOut
        end local 2 // java.util.GregorianCalendar localCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1          sName  Ljava/lang/String;
            0   10     2  localCalendar  Ljava/util/GregorianCalendar;
            0   10     3           bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      sName          
      localCalendar  
      bOut           

  void writeEncryptedRPCTime(java.lang.String, java.util.GregorianCalendar, int, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IIZ)V
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar localCalendar
        start local 3 // int subSecondNanos
        start local 4 // int scale
        start local 5 // boolean bOut
         0: .line 5574
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTimeAsDatetime:()Z
            ifeq 2
         1: .line 5575
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_sendTimeAsDateTimeForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         2: .line 5577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         3: .line 5579
            aload 2 /* localCalendar */
            ifnonnull 5
         4: .line 5580
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
            goto 8
         5: .line 5582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         6: .line 5583
            aload 0 /* this */
            aload 2 /* localCalendar */
            iload 3 /* subSecondNanos */
            iload 4 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
         7: .line 5582
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
         8: .line 5585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         9: .line 5586
            aload 0 /* this */
            iload 4 /* scale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        10: .line 5587
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCryptoMetaData:()V
        11: .line 5588
            return
        end local 5 // boolean bOut
        end local 4 // int scale
        end local 3 // int subSecondNanos
        end local 2 // java.util.GregorianCalendar localCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   12     1           sName  Ljava/lang/String;
            0   12     2   localCalendar  Ljava/util/GregorianCalendar;
            0   12     3  subSecondNanos  I
            0   12     4           scale  I
            0   12     5            bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      localCalendar   
      subSecondNanos  
      scale           
      bOut            

  void writeEncryptedRPCDate(java.lang.String, java.util.GregorianCalendar, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;Z)V
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar localCalendar
        start local 3 // boolean bOut
         0: .line 5591
            aload 0 /* this */
            aload 1 /* sName */
            iload 3 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5593
            aload 2 /* localCalendar */
            ifnonnull 3
         2: .line 5594
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
            goto 7
         3: .line 5596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* localCalendar */
            iconst_0
         4: .line 5598
            iconst_0
         5: .line 5599
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            iconst_0
         6: .line 5596
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
         7: .line 5601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         8: .line 5602
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCryptoMetaData:()V
         9: .line 5603
            return
        end local 3 // boolean bOut
        end local 2 // java.util.GregorianCalendar localCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1          sName  Ljava/lang/String;
            0   10     2  localCalendar  Ljava/util/GregorianCalendar;
            0   10     3           bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      sName          
      localCalendar  
      bOut           

  void writeEncryptedRPCDateTime(java.lang.String, java.util.GregorianCalendar, int, boolean, com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IZLcom/microsoft/sqlserver/jdbc/JDBCType;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar cal
        start local 3 // int subSecondNanos
        start local 4 // boolean bOut
        start local 5 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 5607
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 3
            iload 3 /* subSecondNanos */
            iflt 1
            iload 3 /* subSecondNanos */
            ldc 1000000000
            if_icmplt 3
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid subNanoSeconds value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 5608
            iload 3 /* subSecondNanos */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 5609
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 5
            aload 2 /* cal */
            ifnonnull 5
            iload 3 /* subSecondNanos */
            ifeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid subNanoSeconds value when calendar is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 5610
            iload 3 /* subSecondNanos */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 5612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 4 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         6: .line 5614
            aload 2 /* cal */
            ifnonnull 8
         7: .line 5615
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
            goto 9
         8: .line 5617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* cal */
            iload 3 /* subSecondNanos */
            aload 5 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getEncryptedDateTimeAsBytes:(Ljava/util/GregorianCalendar;ILcom/microsoft/sqlserver/jdbc/JDBCType;)[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
         9: .line 5619
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 5 /* jdbcType */
            if_acmpne 13
        10: .line 5620
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        11: .line 5621
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        12: .line 5622
            goto 15
        13: .line 5623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        14: .line 5624
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        15: .line 5626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCryptoMetaData:()V
        16: .line 5627
            return
        end local 5 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 4 // boolean bOut
        end local 3 // int subSecondNanos
        end local 2 // java.util.GregorianCalendar cal
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   17     1           sName  Ljava/lang/String;
            0   17     2             cal  Ljava/util/GregorianCalendar;
            0   17     3  subSecondNanos  I
            0   17     4            bOut  Z
            0   17     5        jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      cal             
      subSecondNanos  
      bOut            
      jdbcType        

  byte[] getEncryptedDateTimeAsBytes(java.util.GregorianCalendar, int, com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (Ljava/util/GregorianCalendar;ILcom/microsoft/sqlserver/jdbc/JDBCType;)[B
    flags: (0x0000) 
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.util.GregorianCalendar cal
        start local 2 // int subSecondNanos
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 5632
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            aload 1 /* cal */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
         1: .line 5633
            sipush 1900
         2: .line 5632
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 4 /* daysSinceSQLBaseDate */
        start local 4 // int daysSinceSQLBaseDate
         3: .line 5636
            iload 2 /* subSecondNanos */
            ldc 500000
            iadd
            ldc 1000000
            idiv
         4: .line 5639
            sipush 1000
            aload 1 /* cal */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         5: .line 5636
            iadd
         6: .line 5640
            ldc 60000
            aload 1 /* cal */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         7: .line 5636
            iadd
         8: .line 5641
            ldc 3600000
            aload 1 /* cal */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         9: .line 5636
            iadd
            istore 5 /* millisSinceMidnight */
        start local 5 // int millisSinceMidnight
        10: .line 5645
            iload 5 /* millisSinceMidnight */
            ldc 86399999
            if_icmplt 13
        11: .line 5646
            iinc 4 /* daysSinceSQLBaseDate */ 1
        12: .line 5647
            iconst_0
            istore 5 /* millisSinceMidnight */
        13: .line 5650
      StackMap locals: int int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 3 /* jdbcType */
            if_acmpne 37
        14: .line 5652
            iload 5 /* millisSinceMidnight */
            sipush 1000
            idiv
            istore 6 /* secondsSinceMidnight */
        start local 6 // int secondsSinceMidnight
        15: .line 5653
            iload 6 /* secondsSinceMidnight */
            bipush 60
            idiv
            istore 7 /* minutesSinceMidnight */
        start local 7 // int minutesSinceMidnight
        16: .line 5656
            iload 6 /* secondsSinceMidnight */
            bipush 60
            irem
            i2d
            ldc 29.998
            dcmpl
            ifle 17
            iload 7 /* minutesSinceMidnight */
            iconst_1
            iadd
            goto 18
        17: .line 5657
      StackMap locals: int int
      StackMap stack:
            iload 7 /* minutesSinceMidnight */
        18: .line 5656
      StackMap locals:
      StackMap stack: int
            istore 7 /* minutesSinceMidnight */
        19: .line 5660
            sipush 1440
            istore 8 /* maxMinutesSinceMidnight_SmallDateTime */
        start local 8 // int maxMinutesSinceMidnight_SmallDateTime
        20: .line 5667
            iload 4 /* daysSinceSQLBaseDate */
            sipush 1900
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 24
        21: .line 5668
            iload 4 /* daysSinceSQLBaseDate */
            sipush 2079
            sipush 157
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmpgt 24
        22: .line 5669
            iload 4 /* daysSinceSQLBaseDate */
            sipush 2079
            sipush 157
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmpne 29
        23: .line 5670
            iload 7 /* minutesSinceMidnight */
            iload 8 /* maxMinutesSinceMidnight_SmallDateTime */
            if_icmplt 29
        24: .line 5671
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        25: .line 5672
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            astore 10 /* msgArgs */
        start local 10 // java.lang.Object[] msgArgs
        26: .line 5673
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            aload 10 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        27: .line 5674
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        28: .line 5673
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.lang.Object[] msgArgs
        end local 9 // java.text.MessageFormat form
        29: .line 5677
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 9 /* days */
        start local 9 // java.nio.ByteBuffer days
        30: .line 5678
            aload 9 /* days */
            iload 4 /* daysSinceSQLBaseDate */
            i2s
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        31: .line 5679
            iconst_2
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 10 /* seconds */
        start local 10 // java.nio.ByteBuffer seconds
        32: .line 5680
            aload 10 /* seconds */
            iload 7 /* minutesSinceMidnight */
            i2s
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        33: .line 5682
            iconst_4
            newarray 8
            astore 11 /* value */
        start local 11 // byte[] value
        34: .line 5683
            aload 9 /* days */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 11 /* value */
            iconst_0
            iconst_2
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        35: .line 5684
            aload 10 /* seconds */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 11 /* value */
            iconst_2
            iconst_2
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        36: .line 5685
            aload 11 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            areturn
        end local 11 // byte[] value
        end local 10 // java.nio.ByteBuffer seconds
        end local 9 // java.nio.ByteBuffer days
        end local 8 // int maxMinutesSinceMidnight_SmallDateTime
        end local 7 // int minutesSinceMidnight
        end local 6 // int secondsSinceMidnight
        37: .line 5686
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 3 /* jdbcType */
            if_acmpne 53
        38: .line 5694
            iload 4 /* daysSinceSQLBaseDate */
            sipush 1753
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 40
        39: .line 5695
            iload 4 /* daysSinceSQLBaseDate */
            sipush 10000
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 45
        40: .line 5696
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            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
        41: .line 5697
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
        42: .line 5698
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            aload 7 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        43: .line 5699
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        44: .line 5698
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Object[] msgArgs
        end local 6 // java.text.MessageFormat form
        45: .line 5703
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 6 /* days */
        start local 6 // java.nio.ByteBuffer days
        46: .line 5704
            aload 6 /* days */
            iload 4 /* daysSinceSQLBaseDate */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        47: .line 5705
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 7 /* seconds */
        start local 7 // java.nio.ByteBuffer seconds
        48: .line 5706
            aload 7 /* seconds */
            iconst_3
            iload 5 /* millisSinceMidnight */
            imul
            iconst_5
            iadd
            bipush 10
            idiv
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        49: .line 5708
            bipush 8
            newarray 8
            astore 8 /* value */
        start local 8 // byte[] value
        50: .line 5709
            aload 6 /* days */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 8 /* value */
            iconst_0
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        51: .line 5710
            aload 7 /* seconds */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            aload 8 /* value */
            iconst_4
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        52: .line 5711
            aload 8 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            areturn
        end local 8 // byte[] value
        end local 7 // java.nio.ByteBuffer seconds
        end local 6 // java.nio.ByteBuffer days
        53: .line 5714
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 54
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected JDBCType type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* jdbcType */
            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
        54: .line 5715
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int millisSinceMidnight
        end local 4 // int daysSinceSQLBaseDate
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 2 // int subSecondNanos
        end local 1 // java.util.GregorianCalendar cal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                                   Name  Signature
            0   55     0                                   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   55     1                                    cal  Ljava/util/GregorianCalendar;
            0   55     2                         subSecondNanos  I
            0   55     3                               jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            3   55     4                   daysSinceSQLBaseDate  I
           10   55     5                    millisSinceMidnight  I
           15   37     6                   secondsSinceMidnight  I
           16   37     7                   minutesSinceMidnight  I
           20   37     8  maxMinutesSinceMidnight_SmallDateTime  I
           25   29     9                                   form  Ljava/text/MessageFormat;
           26   29    10                                msgArgs  [Ljava/lang/Object;
           30   37     9                                   days  Ljava/nio/ByteBuffer;
           32   37    10                                seconds  Ljava/nio/ByteBuffer;
           34   37    11                                  value  [B
           41   45     6                                   form  Ljava/text/MessageFormat;
           42   45     7                                msgArgs  [Ljava/lang/Object;
           46   53     6                                   days  Ljava/nio/ByteBuffer;
           48   53     7                                seconds  Ljava/nio/ByteBuffer;
           50   53     8                                  value  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      cal             
      subSecondNanos  
      jdbcType        

  void writeEncryptedRPCDateTime2(java.lang.String, java.util.GregorianCalendar, int, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IIZ)V
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar localCalendar
        start local 3 // int subSecondNanos
        start local 4 // int scale
        start local 5 // boolean bOut
         0: .line 5720
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5722
            aload 2 /* localCalendar */
            ifnonnull 3
         2: .line 5723
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
            goto 6
         3: .line 5725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 5726
            aload 0 /* this */
            aload 2 /* localCalendar */
            iload 3 /* subSecondNanos */
            iload 4 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
         5: .line 5725
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
         6: .line 5728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME2N:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 5729
            aload 0 /* this */
            iload 4 /* scale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         8: .line 5730
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCryptoMetaData:()V
         9: .line 5731
            return
        end local 5 // boolean bOut
        end local 4 // int scale
        end local 3 // int subSecondNanos
        end local 2 // java.util.GregorianCalendar localCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1           sName  Ljava/lang/String;
            0   10     2   localCalendar  Ljava/util/GregorianCalendar;
            0   10     3  subSecondNanos  I
            0   10     4           scale  I
            0   10     5            bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      localCalendar   
      subSecondNanos  
      scale           
      bOut            

  void writeEncryptedRPCDateTimeOffset(java.lang.String, java.util.GregorianCalendar, int, int, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IIIZ)V
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar utcCalendar
        start local 3 // int minutesOffset
        start local 4 // int subSecondNanos
        start local 5 // int scale
        start local 6 // boolean bOut
         0: .line 5735
            aload 0 /* this */
            aload 1 /* sName */
            iload 6 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5737
            aload 2 /* utcCalendar */
            ifnonnull 3
         2: .line 5738
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
            goto 7
         3: .line 5740
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 4
            aload 2 /* utcCalendar */
            bipush 15
            invokevirtual java.util.GregorianCalendar.get:(I)I
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 5741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* utcCalendar */
            iload 4 /* subSecondNanos */
            iload 5 /* scale */
         5: .line 5742
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            iload 3 /* minutesOffset */
            i2s
         6: .line 5741
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedRPCByteArray:([B)V
         7: .line 5745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEOFFSETN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         8: .line 5746
            aload 0 /* this */
            iload 5 /* scale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         9: .line 5747
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCryptoMetaData:()V
        10: .line 5749
            return
        end local 6 // boolean bOut
        end local 5 // int scale
        end local 4 // int subSecondNanos
        end local 3 // int minutesOffset
        end local 2 // java.util.GregorianCalendar utcCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   11     1           sName  Ljava/lang/String;
            0   11     2     utcCalendar  Ljava/util/GregorianCalendar;
            0   11     3   minutesOffset  I
            0   11     4  subSecondNanos  I
            0   11     5           scale  I
            0   11     6            bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      utcCalendar     
      minutesOffset   
      subSecondNanos  
      scale           
      bOut            

  void writeRPCDateTime2(java.lang.String, java.util.GregorianCalendar, int, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IIZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar localCalendar
        start local 3 // int subSecondNanos
        start local 4 // int scale
        start local 5 // boolean bOut
         0: .line 5753
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME2N:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5754
            aload 0 /* this */
            iload 4 /* scale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 5756
            aload 2 /* localCalendar */
            ifnonnull 5
         3: .line 5757
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 5758
            return
         5: .line 5761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.TDS.datetime2ValueLength:(I)I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 5762
            aload 0 /* this */
            aload 2 /* localCalendar */
            iload 3 /* subSecondNanos */
            iload 4 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         7: .line 5763
            return
        end local 5 // boolean bOut
        end local 4 // int scale
        end local 3 // int subSecondNanos
        end local 2 // java.util.GregorianCalendar localCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1           sName  Ljava/lang/String;
            0    8     2   localCalendar  Ljava/util/GregorianCalendar;
            0    8     3  subSecondNanos  I
            0    8     4           scale  I
            0    8     5            bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      localCalendar   
      subSecondNanos  
      scale           
      bOut            

  void writeRPCDateTimeOffset(java.lang.String, java.util.GregorianCalendar, int, int, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/GregorianCalendar;IIIZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.util.GregorianCalendar utcCalendar
        start local 3 // int minutesOffset
        start local 4 // int subSecondNanos
        start local 5 // int scale
        start local 6 // boolean bOut
         0: .line 5767
            aload 0 /* this */
            aload 1 /* sName */
            iload 6 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEOFFSETN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         1: .line 5768
            aload 0 /* this */
            iload 5 /* scale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 5770
            aload 2 /* utcCalendar */
            ifnonnull 5
         3: .line 5771
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 5772
            return
         5: .line 5775
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 6
            aload 2 /* utcCalendar */
            bipush 15
            invokevirtual java.util.GregorianCalendar.get:(I)I
            ifeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 5777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.TDS.datetimeoffsetValueLength:(I)I
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         7: .line 5778
            aload 0 /* this */
            aload 2 /* utcCalendar */
            iload 4 /* subSecondNanos */
            iload 5 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         8: .line 5780
            aload 0 /* this */
            iload 3 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         9: .line 5781
            return
        end local 6 // boolean bOut
        end local 5 // int scale
        end local 4 // int subSecondNanos
        end local 3 // int minutesOffset
        end local 2 // java.util.GregorianCalendar utcCalendar
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1           sName  Ljava/lang/String;
            0   10     2     utcCalendar  Ljava/util/GregorianCalendar;
            0   10     3   minutesOffset  I
            0   10     4  subSecondNanos  I
            0   10     5           scale  I
            0   10     6            bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      sName           
      utcCalendar     
      minutesOffset   
      subSecondNanos  
      scale           
      bOut            

  private int getRoundedSubSecondNanos(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // int subSecondNanos
         0: .line 5791
            iload 1 /* subSecondNanos */
            getstatic com.microsoft.sqlserver.jdbc.Nanos.PER_MAX_SCALE_INTERVAL:I
            iconst_2
            idiv
            iadd
            getstatic com.microsoft.sqlserver.jdbc.Nanos.PER_MAX_SCALE_INTERVAL:I
            idiv
         1: .line 5792
            getstatic com.microsoft.sqlserver.jdbc.Nanos.PER_MAX_SCALE_INTERVAL:I
         2: .line 5791
            imul
            istore 2 /* roundedNanos */
        start local 2 // int roundedNanos
         3: .line 5793
            iload 2 /* roundedNanos */
            ireturn
        end local 2 // int roundedNanos
        end local 1 // int subSecondNanos
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    4     1  subSecondNanos  I
            3    4     2    roundedNanos  I
    MethodParameters:
                Name  Flags
      subSecondNanos  

  private void writeScaledTemporal(java.util.GregorianCalendar, int, int, com.microsoft.sqlserver.jdbc.SSType);
    descriptor: (Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.util.GregorianCalendar cal
        start local 2 // int subSecondNanos
        start local 3 // int scale
        start local 4 // com.microsoft.sqlserver.jdbc.SSType ssType
         0: .line 5815
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isKatmaiOrLater:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5817
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
         2: .line 5818
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* 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
         3: .line 5821
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 4
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 4
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 34
         4: .line 5822
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 5
            iload 2 /* subSecondNanos */
            ifge 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 5823
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 6
            iload 2 /* subSecondNanos */
            ldc 1000000000
            if_icmplt 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 5824
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 7
            iload 3 /* scale */
            ifge 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 5825
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 8
            iload 3 /* scale */
            bipush 7
            if_icmple 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 5827
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            bipush 60
            aload 1 /* cal */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
            iadd
         9: .line 5828
            sipush 3600
            aload 1 /* cal */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        10: .line 5827
            iadd
            istore 5 /* secondsSinceMidnight */
        start local 5 // int secondsSinceMidnight
        11: .line 5831
            getstatic com.microsoft.sqlserver.jdbc.Nanos.PER_MAX_SCALE_INTERVAL:I
            i2l
            ldc 10.0
            bipush 7
            iload 3 /* scale */
            isub
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            d2l
            lmul
            lstore 6 /* divisor */
        start local 6 // long divisor
        12: .line 5837
            ldc 1000000000
            iload 5 /* secondsSinceMidnight */
            i2l
            lmul
        13: .line 5838
            aload 0 /* this */
            iload 2 /* subSecondNanos */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getRoundedSubSecondNanos:(I)I
            i2l
        14: .line 5837
            ladd
        15: .line 5838
            lload 6 /* divisor */
            ldc 2
            ldiv
        16: .line 5837
            ladd
        17: .line 5838
            lload 6 /* divisor */
        18: .line 5837
            ldiv
            lstore 8 /* scaledNanos */
        start local 8 // long scaledNanos
        19: .line 5844
            ldc 86400000000000
            lload 6 /* divisor */
            ldiv
            lload 8 /* scaledNanos */
            lcmp
            ifne 31
        20: .line 5847
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 23
        21: .line 5848
            lload 8 /* scaledNanos */
            lconst_1
            lsub
            lstore 8 /* scaledNanos */
        22: .line 5849
            goto 31
        23: .line 5852
      StackMap locals: int long long
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 25
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 25
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 25
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 5853
            aload 4 /* 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
        25: .line 5866
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            bipush 13
            iconst_1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        26: .line 5868
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            sipush 9999
            if_icmpgt 29
        27: .line 5869
            lconst_0
            lstore 8 /* scaledNanos */
        28: .line 5870
            goto 31
        29: .line 5871
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            bipush 13
            iconst_m1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        30: .line 5872
            lload 8 /* scaledNanos */
            lconst_1
            lsub
            lstore 8 /* scaledNanos */
        31: .line 5878
      StackMap locals:
      StackMap stack:
            iload 3 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.TDS.nanosSinceMidnightLength:(I)I
            istore 10 /* encodedLength */
        start local 10 // int encodedLength
        32: .line 5879
            aload 0 /* this */
            lload 8 /* scaledNanos */
            iload 10 /* encodedLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.scaledNanosToEncodedBytes:(JI)[B
            astore 11 /* encodedBytes */
        start local 11 // byte[] encodedBytes
        33: .line 5881
            aload 0 /* this */
            aload 11 /* encodedBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 11 // byte[] encodedBytes
        end local 10 // int encodedLength
        end local 8 // long scaledNanos
        end local 6 // long divisor
        end local 5 // int secondsSinceMidnight
        34: .line 5885
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 35
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 35
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 54
        35: .line 5894
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.STANDARD_CHANGE_DATE:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lcmp
            iflt 37
        36: .line 5895
            aload 1 /* cal */
            bipush 6
            invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
            sipush 365
            if_icmpge 42
        37: .line 5896
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 5 /* year */
        start local 5 // int year
        38: .line 5897
            aload 1 /* cal */
            iconst_2
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 6 /* month */
        start local 6 // int month
        39: .line 5898
            aload 1 /* cal */
            iconst_5
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 7 /* date */
        start local 7 // int date
        40: .line 5901
            aload 1 /* cal */
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.PURE_CHANGE_DATE:Ljava/util/Date;
            invokevirtual java.util.GregorianCalendar.setGregorianChange:(Ljava/util/Date;)V
        41: .line 5904
            aload 1 /* cal */
            iload 5 /* year */
            iload 6 /* month */
            iload 7 /* date */
            invokevirtual java.util.GregorianCalendar.set:(III)V
        end local 7 // int date
        end local 6 // int month
        end local 5 // int year
        42: .line 5907
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            aload 1 /* cal */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 5 /* daysIntoCE */
        start local 5 // int daysIntoCE
        43: .line 5914
            iload 5 /* daysIntoCE */
            iflt 44
            iload 5 /* daysIntoCE */
            sipush 10000
            iconst_1
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 49
        44: .line 5915
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            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
        45: .line 5916
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* ssType */
            aastore
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
        46: .line 5917
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            aload 7 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        47: .line 5918
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        48: .line 5917
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Object[] msgArgs
        end local 6 // java.text.MessageFormat form
        49: .line 5921
      StackMap locals:
      StackMap stack:
            iconst_3
            newarray 8
            astore 6 /* encodedBytes */
        start local 6 // byte[] encodedBytes
        50: .line 5922
            aload 6 /* encodedBytes */
            iconst_0
            iload 5 /* daysIntoCE */
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            bastore
        51: .line 5923
            aload 6 /* encodedBytes */
            iconst_1
            iload 5 /* daysIntoCE */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
        52: .line 5924
            aload 6 /* encodedBytes */
            iconst_2
            iload 5 /* daysIntoCE */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            bastore
        53: .line 5925
            aload 0 /* this */
            aload 6 /* encodedBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 6 // byte[] encodedBytes
        end local 5 // int daysIntoCE
        54: .line 5927
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.microsoft.sqlserver.jdbc.SSType ssType
        end local 3 // int scale
        end local 2 // int subSecondNanos
        end local 1 // java.util.GregorianCalendar cal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   55     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   55     1                   cal  Ljava/util/GregorianCalendar;
            0   55     2        subSecondNanos  I
            0   55     3                 scale  I
            0   55     4                ssType  Lcom/microsoft/sqlserver/jdbc/SSType;
           11   34     5  secondsSinceMidnight  I
           12   34     6               divisor  J
           19   34     8           scaledNanos  J
           32   34    10         encodedLength  I
           33   34    11          encodedBytes  [B
           38   42     5                  year  I
           39   42     6                 month  I
           40   42     7                  date  I
           43   54     5            daysIntoCE  I
           45   49     6                  form  Ljava/text/MessageFormat;
           46   49     7               msgArgs  [Ljava/lang/Object;
           50   54     6          encodedBytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      cal             
      subSecondNanos  
      scale           
      ssType          

  byte[] writeEncryptedScaledTemporal(java.util.GregorianCalendar, int, int, com.microsoft.sqlserver.jdbc.SSType, short);
    descriptor: (Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
    flags: (0x0000) 
    Code:
      stack=6, locals=17, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.util.GregorianCalendar cal
        start local 2 // int subSecondNanos
        start local 3 // int scale
        start local 4 // com.microsoft.sqlserver.jdbc.SSType ssType
        start local 5 // short minutesOffset
         0: .line 5948
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isKatmaiOrLater:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5950
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
         2: .line 5951
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* 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
         3: .line 5954
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* encodedBytesForEncryption */
        start local 6 // byte[] encodedBytesForEncryption
         4: .line 5956
            iconst_0
            istore 7 /* secondsSinceMidnight */
        start local 7 // int secondsSinceMidnight
         5: .line 5957
            lconst_0
            lstore 8 /* divisor */
        start local 8 // long divisor
         6: .line 5958
            lconst_0
            lstore 10 /* scaledNanos */
        start local 10 // long scaledNanos
         7: .line 5961
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 8
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 8
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 59
         8: .line 5962
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.util.GregorianCalendar int int com.microsoft.sqlserver.jdbc.SSType int byte[] int long long
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 9
            iload 2 /* subSecondNanos */
            ifge 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 5963
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 10
            iload 2 /* subSecondNanos */
            ldc 1000000000
            if_icmplt 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 5964
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 11
            iload 3 /* scale */
            ifge 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 5965
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 12
            iload 3 /* scale */
            bipush 7
            if_icmple 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 5967
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            bipush 60
            aload 1 /* cal */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
            iadd
        13: .line 5968
            sipush 3600
            aload 1 /* cal */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        14: .line 5967
            iadd
            istore 7 /* secondsSinceMidnight */
        15: .line 5971
            getstatic com.microsoft.sqlserver.jdbc.Nanos.PER_MAX_SCALE_INTERVAL:I
            i2l
            ldc 10.0
            bipush 7
            iload 3 /* scale */
            isub
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            d2l
            lmul
            lstore 8 /* divisor */
        16: .line 5977
            ldc 1000000000
            iload 7 /* secondsSinceMidnight */
            i2l
            lmul
            aload 0 /* this */
            iload 2 /* subSecondNanos */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getRoundedSubSecondNanos:(I)I
            i2l
            ladd
        17: .line 5978
            lload 8 /* divisor */
            ldc 2
            ldiv
        18: .line 5977
            ladd
        19: .line 5978
            lload 8 /* divisor */
        20: .line 5977
            ldiv
        21: .line 5978
            lload 8 /* divisor */
        22: .line 5977
            lmul
        23: .line 5978
            ldc 100
        24: .line 5977
            ldiv
            lstore 10 /* scaledNanos */
        25: .line 5982
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 35
            ldc 864000000000
            lload 10 /* scaledNanos */
            lcmp
            ifgt 35
        26: .line 5983
            ldc 1000000000
            iload 7 /* secondsSinceMidnight */
            i2l
            lmul
        27: .line 5984
            aload 0 /* this */
            iload 2 /* subSecondNanos */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getRoundedSubSecondNanos:(I)I
            i2l
        28: .line 5983
            ladd
        29: .line 5984
            lload 8 /* divisor */
        30: .line 5983
            ldiv
        31: .line 5984
            lload 8 /* divisor */
        32: .line 5983
            lmul
        33: .line 5984
            ldc 100
        34: .line 5983
            ldiv
            lstore 10 /* scaledNanos */
        35: .line 5991
      StackMap locals:
      StackMap stack:
            ldc 86400000000000
            lload 8 /* divisor */
            ldiv
            lload 10 /* scaledNanos */
            lcmp
            ifne 47
        36: .line 5994
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 39
        37: .line 5995
            lload 10 /* scaledNanos */
            lconst_1
            lsub
            lstore 10 /* scaledNanos */
        38: .line 5996
            goto 47
        39: .line 5999
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 41
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 41
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 41
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 6000
            aload 4 /* 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
        41: .line 6013
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            bipush 13
            iconst_1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        42: .line 6015
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            sipush 9999
            if_icmpgt 45
        43: .line 6016
            lconst_0
            lstore 10 /* scaledNanos */
        44: .line 6017
            goto 47
        45: .line 6018
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            bipush 13
            iconst_m1
            invokevirtual java.util.GregorianCalendar.add:(II)V
        46: .line 6019
            lload 10 /* scaledNanos */
            lconst_1
            lsub
            lstore 10 /* scaledNanos */
        47: .line 6025
      StackMap locals:
      StackMap stack:
            bipush 7
            invokestatic com.microsoft.sqlserver.jdbc.TDS.nanosSinceMidnightLength:(I)I
            istore 12 /* encodedLength */
        start local 12 // int encodedLength
        48: .line 6026
            aload 0 /* this */
            lload 10 /* scaledNanos */
            iload 12 /* encodedLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.scaledNanosToEncodedBytes:(JI)[B
            astore 13 /* encodedBytes */
        start local 13 // byte[] encodedBytes
        49: .line 6028
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 52
        50: .line 6029
            aload 13 /* encodedBytes */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            astore 14 /* cipherText */
        start local 14 // byte[] cipherText
        51: .line 6030
            aload 14 /* cipherText */
            areturn
        end local 14 // byte[] cipherText
        52: .line 6031
      StackMap locals: int byte[]
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 56
        53: .line 6033
            iload 12 /* encodedLength */
            iconst_3
            iadd
            newarray 8
            astore 6 /* encodedBytesForEncryption */
        54: .line 6034
            aload 13 /* encodedBytes */
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            iconst_0
            aload 13 /* encodedBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        55: .line 6035
            goto 59
      StackMap locals:
      StackMap stack:
        56: getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 59
        57: .line 6037
            iload 12 /* encodedLength */
            iconst_5
            iadd
            newarray 8
            astore 6 /* encodedBytesForEncryption */
        58: .line 6038
            aload 13 /* encodedBytes */
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            iconst_0
            aload 13 /* encodedBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 13 // byte[] encodedBytes
        end local 12 // int encodedLength
        59: .line 6043
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 60
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpeq 60
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 122
        60: .line 6052
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            invokevirtual java.util.GregorianCalendar.getTimeInMillis:()J
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.STANDARD_CHANGE_DATE:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lcmp
            iflt 62
        61: .line 6053
            aload 1 /* cal */
            bipush 6
            invokevirtual java.util.GregorianCalendar.getActualMaximum:(I)I
            sipush 365
            if_icmpge 67
        62: .line 6054
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 12 /* year */
        start local 12 // int year
        63: .line 6055
            aload 1 /* cal */
            iconst_2
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 13 /* month */
        start local 13 // int month
        64: .line 6056
            aload 1 /* cal */
            iconst_5
            invokevirtual java.util.GregorianCalendar.get:(I)I
            istore 14 /* date */
        start local 14 // int date
        65: .line 6059
            aload 1 /* cal */
            getstatic com.microsoft.sqlserver.jdbc.GregorianChange.PURE_CHANGE_DATE:Ljava/util/Date;
            invokevirtual java.util.GregorianCalendar.setGregorianChange:(Ljava/util/Date;)V
        66: .line 6062
            aload 1 /* cal */
            iload 12 /* year */
            iload 13 /* month */
            iload 14 /* date */
            invokevirtual java.util.GregorianCalendar.set:(III)V
        end local 14 // int date
        end local 13 // int month
        end local 12 // int year
        67: .line 6065
      StackMap locals:
      StackMap stack:
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
            aload 1 /* cal */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 12 /* daysIntoCE */
        start local 12 // int daysIntoCE
        68: .line 6072
            iload 12 /* daysIntoCE */
            iflt 69
            iload 12 /* daysIntoCE */
            sipush 10000
            iconst_1
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 74
        69: .line 6073
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
        70: .line 6074
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* ssType */
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
        71: .line 6075
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        72: .line 6076
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        73: .line 6075
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
        74: .line 6079
      StackMap locals:
      StackMap stack:
            iconst_3
            newarray 8
            astore 13 /* encodedBytes */
        start local 13 // byte[] encodedBytes
        75: .line 6080
            aload 13 /* encodedBytes */
            iconst_0
            iload 12 /* daysIntoCE */
            iconst_0
            ishr
            sipush 255
            iand
            i2b
            bastore
        76: .line 6081
            aload 13 /* encodedBytes */
            iconst_1
            iload 12 /* daysIntoCE */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
        77: .line 6082
            aload 13 /* encodedBytes */
            iconst_2
            iload 12 /* daysIntoCE */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            bastore
        78: .line 6085
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 81
        79: .line 6086
            aload 13 /* encodedBytes */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            astore 14 /* cipherText */
        start local 14 // byte[] cipherText
        80: .line 6087
            goto 121
        end local 14 // byte[] cipherText
      StackMap locals: byte[]
      StackMap stack:
        81: getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 4 /* ssType */
            if_acmpne 100
        82: .line 6089
            ldc 3652058
            iload 12 /* daysIntoCE */
            if_icmpne 97
        83: .line 6090
            ldc 864000000000
            lload 10 /* scaledNanos */
            lcmp
            ifne 97
        84: .line 6092
            ldc 1000000000
            iload 7 /* secondsSinceMidnight */
            i2l
            lmul
        85: .line 6093
            aload 0 /* this */
            iload 2 /* subSecondNanos */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getRoundedSubSecondNanos:(I)I
            i2l
        86: .line 6092
            ladd
        87: .line 6093
            lload 8 /* divisor */
        88: .line 6092
            ldiv
        89: .line 6093
            lload 8 /* divisor */
        90: .line 6092
            lmul
        91: .line 6093
            ldc 100
        92: .line 6092
            ldiv
            lstore 10 /* scaledNanos */
        93: .line 6095
            bipush 7
            invokestatic com.microsoft.sqlserver.jdbc.TDS.nanosSinceMidnightLength:(I)I
            istore 15 /* encodedLength */
        start local 15 // int encodedLength
        94: .line 6096
            aload 0 /* this */
            lload 10 /* scaledNanos */
            iload 15 /* encodedLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.scaledNanosToEncodedBytes:(JI)[B
            astore 16 /* encodedNanoBytes */
        start local 16 // byte[] encodedNanoBytes
        95: .line 6099
            iload 15 /* encodedLength */
            iconst_3
            iadd
            newarray 8
            astore 6 /* encodedBytesForEncryption */
        96: .line 6100
            aload 16 /* encodedNanoBytes */
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            iconst_0
            aload 16 /* encodedNanoBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 16 // byte[] encodedNanoBytes
        end local 15 // int encodedLength
        97: .line 6104
      StackMap locals:
      StackMap stack:
            aload 13 /* encodedBytes */
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            aload 6 /* encodedBytesForEncryption */
            arraylength
            iconst_3
            isub
            iconst_3
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        98: .line 6106
            aload 6 /* encodedBytesForEncryption */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            astore 14 /* cipherText */
        start local 14 // byte[] cipherText
        99: .line 6107
            goto 121
        end local 14 // byte[] cipherText
       100: .line 6109
      StackMap locals:
      StackMap stack:
            ldc 3652058
            iload 12 /* daysIntoCE */
            if_icmpne 115
       101: .line 6110
            ldc 864000000000
            lload 10 /* scaledNanos */
            lcmp
            ifne 115
       102: .line 6112
            ldc 1000000000
            iload 7 /* secondsSinceMidnight */
            i2l
            lmul
       103: .line 6113
            aload 0 /* this */
            iload 2 /* subSecondNanos */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getRoundedSubSecondNanos:(I)I
            i2l
       104: .line 6112
            ladd
       105: .line 6113
            lload 8 /* divisor */
       106: .line 6112
            ldiv
       107: .line 6113
            lload 8 /* divisor */
       108: .line 6112
            lmul
       109: .line 6113
            ldc 100
       110: .line 6112
            ldiv
            lstore 10 /* scaledNanos */
       111: .line 6115
            bipush 7
            invokestatic com.microsoft.sqlserver.jdbc.TDS.nanosSinceMidnightLength:(I)I
            istore 15 /* encodedLength */
        start local 15 // int encodedLength
       112: .line 6116
            aload 0 /* this */
            lload 10 /* scaledNanos */
            iload 15 /* encodedLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.scaledNanosToEncodedBytes:(JI)[B
            astore 16 /* encodedNanoBytes */
        start local 16 // byte[] encodedNanoBytes
       113: .line 6119
            iload 15 /* encodedLength */
            iconst_5
            iadd
            newarray 8
            astore 6 /* encodedBytesForEncryption */
       114: .line 6120
            aload 16 /* encodedNanoBytes */
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            iconst_0
            aload 16 /* encodedNanoBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 16 // byte[] encodedNanoBytes
        end local 15 // int encodedLength
       115: .line 6125
      StackMap locals:
      StackMap stack:
            aload 13 /* encodedBytes */
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            aload 6 /* encodedBytesForEncryption */
            arraylength
            iconst_5
            isub
            iconst_3
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       116: .line 6128
            iconst_2
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
       117: .line 6129
            iload 5 /* minutesOffset */
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
       118: .line 6130
            iconst_0
            aload 6 /* encodedBytesForEncryption */
            aload 6 /* encodedBytesForEncryption */
            arraylength
            iconst_2
            isub
            iconst_2
       119: .line 6127
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       120: .line 6132
            aload 6 /* encodedBytesForEncryption */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            astore 14 /* cipherText */
        start local 14 // byte[] cipherText
       121: .line 6134
      StackMap locals: byte[]
      StackMap stack:
            aload 14 /* cipherText */
            areturn
        end local 14 // byte[] cipherText
        end local 13 // byte[] encodedBytes
        end local 12 // int daysIntoCE
       122: .line 6138
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_unknownSSType"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
       123: .line 6139
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* ssType */
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
       124: .line 6140
            aconst_null
            aconst_null
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
       125: .line 6142
            aconst_null
            areturn
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
        end local 10 // long scaledNanos
        end local 8 // long divisor
        end local 7 // int secondsSinceMidnight
        end local 6 // byte[] encodedBytesForEncryption
        end local 5 // short minutesOffset
        end local 4 // com.microsoft.sqlserver.jdbc.SSType ssType
        end local 3 // int scale
        end local 2 // int subSecondNanos
        end local 1 // java.util.GregorianCalendar cal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  126     0                       this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0  126     1                        cal  Ljava/util/GregorianCalendar;
            0  126     2             subSecondNanos  I
            0  126     3                      scale  I
            0  126     4                     ssType  Lcom/microsoft/sqlserver/jdbc/SSType;
            0  126     5              minutesOffset  S
            4  126     6  encodedBytesForEncryption  [B
            5  126     7       secondsSinceMidnight  I
            6  126     8                    divisor  J
            7  126    10                scaledNanos  J
           48   59    12              encodedLength  I
           49   59    13               encodedBytes  [B
           51   52    14                 cipherText  [B
           63   67    12                       year  I
           64   67    13                      month  I
           65   67    14                       date  I
           68  122    12                 daysIntoCE  I
           70   74    13                       form  Ljava/text/MessageFormat;
           71   74    14                    msgArgs  [Ljava/lang/Object;
           75  122    13               encodedBytes  [B
           80   81    14                 cipherText  [B
           99  100    14                 cipherText  [B
          121  122    14                 cipherText  [B
           94   97    15              encodedLength  I
           95   97    16           encodedNanoBytes  [B
          112  115    15              encodedLength  I
          113  115    16           encodedNanoBytes  [B
          123  126    12                       form  Ljava/text/MessageFormat;
          124  126    13                    msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      cal             
      subSecondNanos  
      scale           
      ssType          
      minutesOffset   

  private byte[] scaledNanosToEncodedBytes(long, int);
    descriptor: (JI)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // long scaledNanos
        start local 3 // int encodedLength
         0: .line 6146
            iload 3 /* encodedLength */
            newarray 8
            astore 4 /* encodedBytes */
        start local 4 // byte[] encodedBytes
         1: .line 6147
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 6148
      StackMap locals: byte[] int
      StackMap stack:
            aload 4 /* encodedBytes */
            iload 5 /* i */
            lload 1 /* scaledNanos */
            bipush 8
            iload 5 /* i */
            imul
            lshr
            ldc 255
            land
            l2i
            i2b
            bastore
         4: .line 6147
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 3 /* encodedLength */
            if_icmplt 3
        end local 5 // int i
         6: .line 6149
            aload 4 /* encodedBytes */
            areturn
        end local 4 // byte[] encodedBytes
        end local 3 // int encodedLength
        end local 1 // long scaledNanos
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    7     1    scaledNanos  J
            0    7     3  encodedLength  I
            1    7     4   encodedBytes  [B
            2    6     5              i  I
    MethodParameters:
               Name  Flags
      scaledNanos    
      encodedLength  

  void writeRPCInputStream(java.lang.String, java.io.InputStream, long, boolean, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.SQLCollation);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;JZLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SQLCollation;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=7
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.io.InputStream stream
        start local 3 // long streamLength
        start local 5 // boolean bOut
        start local 6 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 7 // com.microsoft.sqlserver.jdbc.SQLCollation collation
         0: .line 6171
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            aload 2 /* stream */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6172
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 2
            ldc -1
            lload 3 /* streamLength */
            lcmp
            ifeq 2
            lload 3 /* streamLength */
            lconst_0
            lcmp
            ifge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6176
      StackMap locals:
      StackMap stack:
            ldc -1
            lload 3 /* streamLength */
            lcmp
            ifeq 5
         3: .line 6177
            lload 3 /* streamLength */
            ldc 8000
         4: .line 6176
            lcmp
            ifgt 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* usePLP */
        start local 8 // boolean usePLP
         7: .line 6178
            iload 8 /* usePLP */
            ifeq 16
         8: .line 6179
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 9
            ldc -1
            lload 3 /* streamLength */
            lcmp
            ifeq 9
            lload 3 /* streamLength */
            ldc 2147483647
            lcmp
            ifle 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 6181
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isTextual:()Z
            ifeq 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 11
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int
        10: getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int com.microsoft.sqlserver.jdbc.TDSType
        11: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        12: .line 6184
            aload 0 /* this */
            lload 3 /* streamLength */
            iconst_0
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isTextual:()Z
            ifeq 13
            aload 7 /* collation */
            goto 14
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter long int
        13: aconst_null
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter long int com.microsoft.sqlserver.jdbc.SQLCollation
        14: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeVMaxHeader:(JZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
        15: .line 6185
            goto 58
        16: .line 6192
      StackMap locals:
      StackMap stack:
            ldc -1
            lload 3 /* streamLength */
            lcmp
            ifne 37
        17: .line 6195
            new java.io.ByteArrayOutputStream
            dup
            sipush 8000
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 9 /* baos */
        start local 9 // java.io.ByteArrayOutputStream baos
        18: .line 6196
            lconst_0
            lstore 3 /* streamLength */
        19: .line 6200
            ldc 65535
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTDSPacketSize:()I
            i2l
            lmul
            lstore 10 /* maxStreamLength */
        start local 10 // long maxStreamLength
        20: .line 6203
            sipush 8000
            newarray 8
            astore 12 /* buff */
        start local 12 // byte[] buff
        21: .line 6206
            goto 24
        start local 13 // int bytesRead
        22: .line 6207
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int java.io.ByteArrayOutputStream long byte[] int
      StackMap stack:
            aload 9 /* baos */
            aload 12 /* buff */
            invokevirtual java.io.ByteArrayOutputStream.write:([B)V
        23: .line 6208
            lload 3 /* streamLength */
            iload 13 /* bytesRead */
            i2l
            ladd
            lstore 3 /* streamLength */
        end local 13 // int bytesRead
        24: .line 6206
      StackMap locals:
      StackMap stack:
            lload 3 /* streamLength */
            lload 10 /* maxStreamLength */
            lcmp
            ifge 31
            iconst_m1
            aload 2 /* stream */
            aload 12 /* buff */
            iconst_0
            aload 12 /* buff */
            arraylength
            invokevirtual java.io.InputStream.read:([BII)I
            dup
            istore 13 /* bytesRead */
        start local 13 // int bytesRead
        25: if_icmpne 22
        end local 13 // int bytesRead
        end local 12 // byte[] buff
        26: .line 6210
            goto 31
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int java.io.ByteArrayOutputStream long
      StackMap stack: java.io.IOException
        27: astore 12 /* e */
        start local 12 // java.io.IOException e
        28: .line 6211
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 12 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
        29: .line 6212
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aload 12 /* e */
        30: .line 6211
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.io.IOException e
        31: .line 6215
      StackMap locals:
      StackMap stack:
            lload 3 /* streamLength */
            lload 10 /* maxStreamLength */
            lcmp
            iflt 35
        32: .line 6216
            new java.text.MessageFormat
            dup
            ldc "R_invalidLength"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        33: .line 6217
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 3 /* streamLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
        34: .line 6218
            aconst_null
            aconst_null
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            ldc ""
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
        35: .line 6221
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 36
            lload 3 /* streamLength */
            ldc 2147483647
            lcmp
            ifle 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 6222
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            iconst_0
            lload 3 /* streamLength */
            l2i
            invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
            astore 2 /* stream */
        end local 10 // long maxStreamLength
        end local 9 // java.io.ByteArrayOutputStream baos
        37: .line 6225
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 39
            lconst_0
            lload 3 /* streamLength */
            lcmp
            ifgt 38
            lload 3 /* streamLength */
            ldc 2147483647
            lcmp
            ifle 39
      StackMap locals:
      StackMap stack:
        38: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        39: .line 6227
      StackMap locals:
      StackMap stack:
            lload 3 /* streamLength */
            ldc 8000
            lcmp
            ifgt 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack:
        40: iconst_0
      StackMap locals:
      StackMap stack: int
        41: istore 9 /* useVarType */
        start local 9 // boolean useVarType
        42: .line 6229
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
        43: .line 6230
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isTextual:()Z
            ifeq 45
            iload 9 /* useVarType */
            ifeq 44
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 47
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int
        44: getstatic com.microsoft.sqlserver.jdbc.TDSType.TEXT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 47
        45: .line 6231
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int
            iload 9 /* useVarType */
            ifeq 46
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 47
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int
        46: getstatic com.microsoft.sqlserver.jdbc.TDSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/TDSType;
        47: .line 6229
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.InputStream long int com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.SQLCollation int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int com.microsoft.sqlserver.jdbc.TDSType
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        48: .line 6234
            iload 9 /* useVarType */
            ifeq 54
        49: .line 6235
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        50: .line 6236
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isTextual:()Z
            ifeq 52
        51: .line 6237
            aload 7 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        52: .line 6238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* streamLength */
            l2i
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        53: .line 6239
            goto 58
        54: .line 6240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        55: .line 6241
            aload 6 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isTextual:()Z
            ifeq 57
        56: .line 6242
            aload 7 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        57: .line 6243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* streamLength */
            l2i
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        end local 9 // boolean useVarType
        58: .line 6248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* stream */
            lload 3 /* streamLength */
            iload 8 /* usePLP */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeStream:(Ljava/io/InputStream;JZ)V
        59: .line 6249
            return
        end local 8 // boolean usePLP
        end local 7 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 6 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 5 // boolean bOut
        end local 3 // long streamLength
        end local 2 // java.io.InputStream stream
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   60     0             this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   60     1            sName  Ljava/lang/String;
            0   60     2           stream  Ljava/io/InputStream;
            0   60     3     streamLength  J
            0   60     5             bOut  Z
            0   60     6         jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   60     7        collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            7   60     8           usePLP  Z
           18   37     9             baos  Ljava/io/ByteArrayOutputStream;
           20   37    10  maxStreamLength  J
           21   26    12             buff  [B
           22   24    13        bytesRead  I
           25   26    13        bytesRead  I
           28   31    12                e  Ljava/io/IOException;
           33   35    12             form  Ljava/text/MessageFormat;
           34   35    13          msgArgs  [Ljava/lang/Object;
           42   58     9       useVarType  Z
      Exception table:
        from    to  target  type
          20    26      27  Class java.io.IOException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      sName         
      stream        
      streamLength  
      bOut          
      jdbcType      
      collation     

  void writeRPCXML(java.lang.String, java.io.InputStream, long, boolean);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;JZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.io.InputStream stream
        start local 3 // long streamLength
        start local 5 // boolean bOut
         0: .line 6265
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            ldc -1
            lload 3 /* streamLength */
            lcmp
            ifeq 1
            lload 3 /* streamLength */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6266
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 2
            ldc -1
            lload 3 /* streamLength */
            lcmp
            ifeq 2
            lload 3 /* streamLength */
            ldc 2147483647
            lcmp
            ifle 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.XML:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
         3: .line 6269
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         4: .line 6271
            aload 2 /* stream */
            ifnonnull 7
         5: .line 6273
            aload 0 /* this */
            ldc -1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         6: .line 6274
            goto 11
      StackMap locals:
      StackMap stack:
         7: ldc -1
            lload 3 /* streamLength */
            lcmp
            ifne 10
         8: .line 6277
            aload 0 /* this */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         9: .line 6280
            goto 11
        10: .line 6283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* streamLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
        11: .line 6285
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            ifnull 13
        12: .line 6287
            aload 0 /* this */
            aload 2 /* stream */
            lload 3 /* streamLength */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeStream:(Ljava/io/InputStream;JZ)V
        13: .line 6288
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean bOut
        end local 3 // long streamLength
        end local 2 // java.io.InputStream stream
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   14     1         sName  Ljava/lang/String;
            0   14     2        stream  Ljava/io/InputStream;
            0   14     3  streamLength  J
            0   14     5          bOut  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      sName         
      stream        
      streamLength  
      bOut          

  void writeRPCReaderUnicode(java.lang.String, java.io.Reader, long, boolean, com.microsoft.sqlserver.jdbc.SQLCollation);
    descriptor: (Ljava/lang/String;Ljava/io/Reader;JZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sName
        start local 2 // java.io.Reader re
        start local 3 // long reLength
        start local 5 // boolean bOut
        start local 6 // com.microsoft.sqlserver.jdbc.SQLCollation collation
         0: .line 6307
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            aload 2 /* re */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6308
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 2
            ldc -1
            lload 3 /* reLength */
            lcmp
            ifeq 2
            lload 3 /* reLength */
            lconst_0
            lcmp
            ifge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 6312
      StackMap locals:
      StackMap stack:
            aload 6 /* collation */
            ifnonnull 4
         3: .line 6313
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 6 /* collation */
         4: .line 6317
      StackMap locals:
      StackMap stack:
            ldc -1
            lload 3 /* reLength */
            lcmp
            ifeq 5
            lload 3 /* reLength */
            ldc 4000
            lcmp
            ifgt 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* usePLP */
        start local 7 // boolean usePLP
         7: .line 6318
            iload 7 /* usePLP */
            ifeq 16
         8: .line 6319
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 9
            ldc -1
            lload 3 /* reLength */
            lcmp
            ifeq 9
            lload 3 /* reLength */
            ldc 1073741823
            lcmp
            ifle 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 6321
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        10: .line 6324
            aload 0 /* this */
        11: .line 6325
            ldc -1
            lload 3 /* reLength */
            lcmp
            ifne 12
            ldc -1
            goto 13
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        12: ldc 2
            lload 3 /* reLength */
            lmul
        13: .line 6328
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.Reader long int com.microsoft.sqlserver.jdbc.SQLCollation int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter long
            iconst_0
            aload 6 /* collation */
        14: .line 6324
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeVMaxHeader:(JZLcom/microsoft/sqlserver/jdbc/SQLCollation;)V
        15: .line 6329
            goto 32
        16: .line 6336
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 18
            lconst_0
            lload 3 /* reLength */
            lcmp
            ifgt 17
            lload 3 /* reLength */
            ldc 1073741823
            lcmp
            ifle 18
      StackMap locals:
      StackMap stack:
        17: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 6341
      StackMap locals:
      StackMap stack:
            lload 3 /* reLength */
            ldc 4000
            lcmp
            ifgt 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: istore 8 /* useVarType */
        start local 8 // boolean useVarType
        21: .line 6343
            aload 0 /* this */
            aload 1 /* sName */
            iload 5 /* bOut */
            iload 8 /* useVarType */
            ifeq 22
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            goto 23
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.Reader long int com.microsoft.sqlserver.jdbc.SQLCollation int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int
        22: getstatic com.microsoft.sqlserver.jdbc.TDSType.NTEXT:Lcom/microsoft/sqlserver/jdbc/TDSType;
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.io.Reader long int com.microsoft.sqlserver.jdbc.SQLCollation int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String int com.microsoft.sqlserver.jdbc.TDSType
        23: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCNameValType:(Ljava/lang/String;ZLcom/microsoft/sqlserver/jdbc/TDSType;)V
        24: .line 6346
            iload 8 /* useVarType */
            ifeq 29
        25: .line 6347
            aload 0 /* this */
            sipush 8000
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        26: .line 6348
            aload 6 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        27: .line 6349
            aload 0 /* this */
            ldc 2
            lload 3 /* reLength */
            lmul
            l2i
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        28: .line 6350
            goto 32
        29: .line 6351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 1073741823
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        30: .line 6352
            aload 6 /* collation */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        31: .line 6353
            aload 0 /* this */
            ldc 2
            lload 3 /* reLength */
            lmul
            l2i
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        end local 8 // boolean useVarType
        32: .line 6358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* re */
            lload 3 /* reLength */
            iload 7 /* usePLP */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeReader:(Ljava/io/Reader;JZ)V
        33: .line 6359
            return
        end local 7 // boolean usePLP
        end local 6 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 5 // boolean bOut
        end local 3 // long reLength
        end local 2 // java.io.Reader re
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   34     1       sName  Ljava/lang/String;
            0   34     2          re  Ljava/io/Reader;
            0   34     3    reLength  J
            0   34     5        bOut  Z
            0   34     6   collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            7   34     7      usePLP  Z
           21   32     8  useVarType  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      sName      
      re         
      reLength   
      bOut       
      collation  

  void sendEnclavePackage(java.lang.String, java.util.ArrayList<byte[]>);
    descriptor: (Ljava/lang/String;Ljava/util/ArrayList;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String sql
        start local 2 // java.util.ArrayList enclaveCEKs
         0: .line 6362
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ifnull 11
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isAEv2:()Z
            ifeq 11
         1: .line 6363
            aload 1 /* sql */
            ifnull 10
            aload 1 /* sql */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 10
            aload 2 /* enclaveCEKs */
            ifnull 10
            aload 2 /* enclaveCEKs */
            invokevirtual java.util.ArrayList.size:()I
            ifle 10
         2: .line 6364
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveEstablished:()Z
            ifeq 10
         3: .line 6365
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 1 /* sql */
            aload 2 /* enclaveCEKs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.generateEnclavePackage:(Ljava/lang/String;Ljava/util/ArrayList;)[B
            astore 3 /* b */
        start local 3 // byte[] b
         4: .line 6366
            aload 3 /* b */
            ifnull 8
            aload 3 /* b */
            arraylength
            ifeq 8
         5: .line 6367
            aload 0 /* this */
            aload 3 /* b */
            arraylength
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         6: .line 6368
            aload 0 /* this */
            aload 3 /* b */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         7: .line 6369
            goto 11
         8: .line 6370
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        end local 3 // byte[] b
         9: .line 6372
            goto 11
        10: .line 6373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        11: .line 6376
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.ArrayList enclaveCEKs
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   12     1          sql  Ljava/lang/String;
            0   12     2  enclaveCEKs  Ljava/util/ArrayList<[B>;
            4    9     3            b  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Ljava/lang/String;Ljava/util/ArrayList<[B>;)V
    MethodParameters:
             Name  Flags
      sql          
      enclaveCEKs  

  static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 3075
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.values:()[Lcom/microsoft/sqlserver/jdbc/JDBCType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.ARRAY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BIGINT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BIT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BOOLEAN:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.CHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.CLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATALINK:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 10
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 11
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 44
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 12
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DECIMAL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 13
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DISTINCT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 14
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DOUBLE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 15
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.FLOAT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 16
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GEOGRAPHY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 49
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GEOMETRY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 48
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GUID:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 46
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.INTEGER:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 17
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.JAVA_OBJECT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 18
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LOCALDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 50
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LONGNVARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 19
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LONGVARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 20
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LONGVARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 21
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.MONEY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 41
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 22
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NCLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 23
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NULL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 24
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NUMERIC:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 25
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 26
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.OTHER:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 27
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.REAL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 28
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.REF:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 29
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.ROWID:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 30
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 45
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLINT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 31
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 42
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SQLXML:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 32
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 47
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.STRUCT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 33
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 34
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 36
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIMESTAMP_WITH_TIMEZONE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 37
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIME_WITH_TIMEZONE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 35
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TINYINT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 38
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TVP:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 43
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.UNKNOWN:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_1
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 39
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 40
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            dup
            putstatic com.microsoft.sqlserver.jdbc.TDSWriter.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
}
SourceFile: "IOBuffer.java"
NestMembers:
  com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique
InnerClasses:
  private TdsOrderUnique = com.microsoft.sqlserver.jdbc.TDSWriter$TdsOrderUnique of com.microsoft.sqlserver.jdbc.TDSWriter
  public abstract Entry = java.util.Map$Entry of java.util.Map