public class com.microsoft.sqlserver.jdbc.SQLServerConnection implements com.microsoft.sqlserver.jdbc.ISQLServerConnection, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerConnection
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1965647556064751510

  long timerExpire;
    descriptor: J
    flags: (0x0000) 

  boolean attemptRefreshTokenLocked;
    descriptor: Z
    flags: (0x0000) 

  static final int DEFAULT_SERVER_PREPARED_STATEMENT_DISCARD_THRESHOLD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

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

  static final boolean DEFAULT_ENABLE_PREPARE_ON_FIRST_PREPARED_STATEMENT_CALL;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private java.lang.Boolean enablePrepareOnFirstPreparedStatementCall;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.ConcurrentLinkedQueue<com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle> discardedPreparedStatementHandles;
    descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;>;

  private java.util.concurrent.atomic.AtomicInteger discardedPreparedStatementHandleCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String authenticationString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.lang.String originalHostNameInCertificate;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientCertificate;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientKey;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientKeyPassword;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String aadPrincipalID;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String aadPrincipalSecret;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  final int ENGINE_EDITION_FOR_SQL_AZURE;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 5

  final int ENGINE_EDITION_FOR_SQL_AZURE_DW;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 6

  final int ENGINE_EDITION_FOR_SQL_AZURE_MI;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 8

  private java.lang.Boolean isAzure;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean isAzureDW;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean isAzureMI;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

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

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

  private static mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem> parsedSQLCache;
    descriptor: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;>;

  static final int DEFAULT_STATEMENT_POOLING_CACHE_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

  private mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle> preparedStatementHandleCache;
    descriptor: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;>;

  private mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData> parameterMetadataCache;
    descriptor: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;>;

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

  private static final float TIMEOUTSTEP;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.08

  private static final float TIMEOUTSTEP_TNIR;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.125

  static final int TnirFirstAttemptTimeoutMs;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 500

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

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

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

  private static final java.lang.String callAbortPerm;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "callAbort"

  private static final java.lang.String SET_NETWORK_TIMEOUT_PERM;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "setNetworkTimeout"

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

  private java.lang.String hostName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private java.lang.String selectMethod;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String responseBuffering;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  boolean userSetTNIR;
    descriptor: Z
    flags: (0x0000) 

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

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

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

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

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

  private java.lang.String socketFactoryClass;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String socketFactoryConstructorArg;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustManagerClass;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustManagerConstructorArg;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static final java.lang.String RESERVED_PROVIDER_NAME_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "MSSQL_"

  java.lang.String columnEncryptionSetting;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String enclaveAttestationUrl;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String enclaveAttestationProtocol;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStoreAuthentication;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStoreSecret;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStoreLocation;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStorePrincipalId;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

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

  private java.lang.String enclaveType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private static java.util.concurrent.ConcurrentHashMap<java.lang.String, java.net.InetSocketAddress> dnsCache;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/net/InetSocketAddress;>;

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

  static java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider> globalSystemColumnEncryptionKeyStoreProviders;
    descriptor: Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;

  static java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider> globalCustomColumnEncryptionKeyStoreProviders;
    descriptor: Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;

  java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider> systemColumnEncryptionKeyStoreProvider;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;

  private java.lang.String trustedServerNameAE;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> columnEncryptionTrustedMasterKeyPaths;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  java.util.Properties activeConnectionProperties;
    descriptor: Ljava/util/Properties;
    flags: (0x0000) 

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

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

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

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

  private org.ietf.jgss.GSSCredential impersonatedUserCred;
    descriptor: Lorg/ietf/jgss/GSSCredential;
    flags: (0x0002) ACC_PRIVATE

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

  com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder currentConnectPlaceHolder;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
    flags: (0x0000) 

  java.lang.String sqlServerVersion;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  boolean xopenStates;
    descriptor: Z
    flags: (0x0000) 

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

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

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

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

  private volatile com.microsoft.sqlserver.jdbc.SQLServerConnection$State state;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static final int maxDecimalPrecision;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 38

  static final int defaultDecimalPrecision;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  final java.lang.String traceID;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

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

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

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

  private static final java.util.concurrent.atomic.AtomicInteger baseConnectionID;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.String sCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String originalCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private static final java.util.logging.Logger connectionlogger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.logging.Logger loggerExternal;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.String loggingClassName;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.lang.String failoverPartnerServerProvided;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

  private java.util.UUID clientConnectionId;
    descriptor: Ljava/util/UUID;
    flags: (0x0002) ACC_PRIVATE

  static final int MAX_SQL_LOGIN_NAME_WCHARS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  static final int DEFAULTPORT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final transient java.lang.Object schedulerLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  volatile java.sql.SQLWarning sqlWarnings;
    descriptor: Ljava/sql/SQLWarning;
    flags: (0x0040) ACC_VOLATILE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private java.lang.Boolean originalEnablePrepareOnFirstPreparedStatementCall;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String originalSCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private volatile java.sql.SQLWarning originalSqlWarnings;
    descriptor: Ljava/sql/SQLWarning;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.util.List<com.microsoft.sqlserver.jdbc.ISQLServerStatement> openStatements;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;>;

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

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

  int aeVersion;
    descriptor: I
    flags: (0x0000) 

  static final char[] OUT;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  private static long columnEncryptionKeyCacheTtl;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private com.microsoft.sqlserver.jdbc.ISQLServerEnclaveProvider enclaveProvider;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
    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$KeyStoreAuthentication;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 85
            ldc Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            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.SQLServerConnection.$assertionsDisabled:Z
         3: .line 323
            new mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder
            dup
            invokespecial mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.<init>:()V
         4: .line 324
            ldc 100
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity:(J)Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build:()Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         5: .line 323
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.parsedSQLCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         6: .line 699
            aconst_null
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
         7: .line 722
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         8: .line 724
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 725
            new com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider.<init>:()V
            astore 0 /* provider */
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider provider
        10: .line 726
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 0 /* provider */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider.getName:()Ljava/lang/String;
            aload 0 /* provider */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider provider
        11: .line 729
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
        12: .line 864
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
        13: .line 1060
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.baseConnectionID:Ljava/util/concurrent/atomic/AtomicInteger;
        14: .line 1072
            ldc "com.microsoft.sqlserver.jdbc.internals.SQLServerConnection"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
        15: .line 1071
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        16: .line 1074
            ldc "com.microsoft.sqlserver.jdbc.Connection"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
        17: .line 1073
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
        18: .line 1075
            ldc "com.microsoft.sqlserver.jdbc.SQLServerConnection:"
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
        19: .line 2649
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.DEFAULTPORT:I
        20: .line 6043
            iconst_4
            newarray 5
            dup
            iconst_0
            bipush 32
            castore
            dup
            iconst_1
            bipush 79
            castore
            dup
            iconst_2
            bipush 85
            castore
            dup
            iconst_3
            bipush 84
            castore
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.OUT:[C
        21: .line 6271
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            ldc 2
            getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionKeyCacheTtl:J
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
           10   11     0  provider  Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionCertificateStoreProvider;

  com.microsoft.sqlserver.jdbc.SharedTimer getSharedTimer();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 162
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Closed:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            if_acmpne 4
         1: .line 163
            aconst_null
            aconst_null
            ldc "R_connectionIsClosed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 164
            ldc "08006"
            iconst_0
         3: .line 163
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            ifnonnull 6
         5: .line 167
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.SharedTimer.getTimer:()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
         6: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  java.lang.String getServerNameString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String serverName
         0: .line 179
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
         1: .line 180
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 179
            astore 2 /* serverNameFromConnectionStr */
        start local 2 // java.lang.String serverNameFromConnectionStr
         3: .line 181
            aload 1 /* serverName */
            ifnull 4
            aload 1 /* serverName */
            aload 2 /* serverNameFromConnectionStr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 182
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* serverName */
            areturn
         5: .line 186
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_redirectedFrom"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         6: .line 187
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* serverName */
            aastore
            dup
            iconst_1
            aload 2 /* serverNameFromConnectionStr */
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
         7: .line 188
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String serverNameFromConnectionStr
        end local 1 // java.lang.String serverName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    8     0                         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1                   serverName  Ljava/lang/String;
            3    8     2  serverNameFromConnectionStr  Ljava/lang/String;
            6    8     3                         form  Ljava/text/MessageFormat;
            7    8     4                      msgArgs  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      serverName  

  static com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem getCachedParsedSQL(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;)Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
         0: .line 329
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.parsedSQLCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 0 /* key */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
    MethodParameters:
      Name  Flags
      key   

  static com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem parseAndCacheSQL(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        start local 1 // java.lang.String sql
         0: .line 334
            new com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator
            dup
            invokespecial com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.<init>:()V
            astore 2 /* translator */
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator translator
         1: .line 336
            aload 2 /* translator */
            aload 1 /* sql */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.translate:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* parsedSql */
        start local 3 // java.lang.String parsedSql
         2: .line 337
            aload 2 /* translator */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.getProcedureName:()Ljava/lang/String;
            astore 4 /* procName */
        start local 4 // java.lang.String procName
         3: .line 338
            aload 2 /* translator */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:()Z
            istore 5 /* returnValueSyntax */
        start local 5 // boolean returnValueSyntax
         4: .line 339
            aload 3 /* parsedSql */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.locateParams:(Ljava/lang/String;)[I
            astore 6 /* parameterPositions */
        start local 6 // int[] parameterPositions
         5: .line 341
            new com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem
            dup
            aload 3 /* parsedSql */
            aload 6 /* parameterPositions */
            aload 4 /* procName */
         6: .line 342
            iload 5 /* returnValueSyntax */
         7: .line 341
            invokespecial com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem.<init>:(Ljava/lang/String;[ILjava/lang/String;Z)V
            astore 7 /* cacheItem */
        start local 7 // com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem cacheItem
         8: .line 343
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.parsedSQLCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 0 /* key */
            aload 7 /* cacheItem */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 344
            aload 7 /* cacheItem */
            areturn
        end local 7 // com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem cacheItem
        end local 6 // int[] parameterPositions
        end local 5 // boolean returnValueSyntax
        end local 4 // java.lang.String procName
        end local 3 // java.lang.String parsedSql
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator translator
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                 key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
            0   10     1                 sql  Ljava/lang/String;
            1   10     2          translator  Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
            2   10     3           parsedSql  Ljava/lang/String;
            3   10     4            procName  Ljava/lang/String;
            4   10     5   returnValueSyntax  Z
            5   10     6  parameterPositions  [I
            8   10     7           cacheItem  Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      key   
      sql   

  private static int[] locateParams(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String sql
         0: .line 369
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* parameterPositions */
        start local 1 // java.util.LinkedList parameterPositions
         1: .line 372
            iconst_m1
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 373
            goto 4
         3: .line 374
      StackMap locals: java.util.LinkedList int
      StackMap stack:
            aload 1 /* parameterPositions */
            iload 2 /* offset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 373
      StackMap locals:
      StackMap stack:
            bipush 63
            aload 0 /* sql */
            iinc 2 /* offset */ 1
            iload 2 /* offset */
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.scanSQLForChar:(CLjava/lang/String;I)I
            dup
            istore 2 /* offset */
            aload 0 /* sql */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
         5: .line 378
            aload 1 /* parameterPositions */
            invokevirtual java.util.LinkedList.stream:()Ljava/util/stream/Stream;
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  java/lang/Integer.valueOf(I)Ljava/lang/Integer; (6)
                  (Ljava/lang/Integer;)I
            invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.toArray:()[I
            areturn
        end local 2 // int offset
        end local 1 // java.util.LinkedList parameterPositions
        end local 0 // java.lang.String sql
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                 sql  Ljava/lang/String;
            1    6     1  parameterPositions  Ljava/util/LinkedList<Ljava/lang/Integer;>;
            2    6     2              offset  I
    MethodParameters:
      Name  Flags
      sql   

  com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder getRoutingInfo();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 484
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

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

  final boolean useLastUpdateCount();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 505
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.lastUpdateCount:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

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

  final boolean getMultiSubnetFailover();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 522
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean getTransparentNetworkIPResolution();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 528
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transparentNetworkIPResolution:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final com.microsoft.sqlserver.jdbc.ApplicationIntent getApplicationIntent();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 534
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getSelectMethod();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 541
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.selectMethod:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getResponseBuffering();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 547
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.responseBuffering:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getQueryTimeoutSeconds();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 553
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.queryTimeoutSeconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getCancelQueryTimeoutSeconds();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 567
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.cancelQueryTimeoutSeconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getSocketTimeoutMilliseconds();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 573
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketTimeoutMilliseconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public boolean getUseBulkCopyForBatchInsert();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 587
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useBulkCopyForBatchInsert:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setUseBulkCopyForBatchInsert(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean useBulkCopyForBatchInsert
         0: .line 597
            aload 0 /* this */
            iload 1 /* useBulkCopyForBatchInsert */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useBulkCopyForBatchInsert:Z
         1: .line 598
            return
        end local 1 // boolean useBulkCopyForBatchInsert
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  useBulkCopyForBatchInsert  Z
    MethodParameters:
                           Name  Flags
      useBulkCopyForBatchInsert  

  public final boolean getSendTimeAsDatetime();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 607
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isKatmaiOrLater:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int baseYear();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 611
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTimeAsDatetime:()Z
            ifeq 1
            sipush 1970
            goto 2
      StackMap locals:
      StackMap stack:
         1: sipush 1900
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final byte getRequestedEncryptionLevel();
    descriptor: ()B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 617
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean trustServerCertificate();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 624
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustServerCertificate:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final byte getNegotiatedEncryptionLevel();
    descriptor: ()B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 630
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getSocketFactoryClass();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 637
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryClass:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getSocketFactoryConstructorArg();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 643
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryConstructorArg:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getTrustManagerClass();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 649
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerClass:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getTrustManagerConstructorArg();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 656
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerConstructorArg:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean isColumnEncryptionSettingEnabled();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 664
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionSetting:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionSetting.Enabled:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionSetting;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionSetting.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

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

  boolean getServerSupportsColumnEncryption();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 684
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.value:()I
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.AE_NotSupported:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.value:()I
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion getServerColumnEncryptionVersion();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 688
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

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

  static java.net.InetSocketAddress getDNSEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetSocketAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 702
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 1
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 0 /* key */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.net.InetSocketAddress
         2: areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  byte getServerSupportedDataClassificationVersion();
    descriptor: ()B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 706
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportedDataClassificationVersion:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public boolean getDelayLoadingLobs();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 714
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setDelayLoadingLobs(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean b
         0: .line 719
            aload 0 /* this */
            iload 1 /* b */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
         1: .line 720
            return
        end local 1 // boolean b
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public static synchronized void registerColumnEncryptionKeyStoreProviders(java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // java.util.Map clientKeyStoreProviders
         0: .line 743
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "registerColumnEncryptionKeyStoreProviders"
         1: .line 744
            ldc "Registering Column Encryption Key Store Providers"
         2: .line 743
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 746
            aload 0 /* clientKeyStoreProviders */
            ifnonnull 7
         4: .line 747
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_CustomKeyStoreProviderMapNull"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
         5: .line 748
            iconst_0
            iconst_0
         6: .line 747
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
         7: .line 751
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 12
         8: .line 752
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 12
         9: .line 753
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_CustomKeyStoreProviderSetOnce"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        10: .line 754
            iconst_0
            iconst_0
        11: .line 753
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        12: .line 757
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
        13: .line 759
            aload 0 /* clientKeyStoreProviders */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 33
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
        14: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
        15: .line 760
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* providerName */
        start local 3 // java.lang.String providerName
        16: .line 761
            aload 3 /* providerName */
            ifnull 17
            aload 3 /* providerName */
            invokevirtual java.lang.String.length:()I
            ifne 20
        17: .line 762
      StackMap locals: java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_EmptyCustomKeyStoreProviderName"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        18: .line 763
            aconst_null
            iconst_0
            iconst_0
        19: .line 762
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        20: .line 765
      StackMap locals:
      StackMap stack:
            aload 3 /* providerName */
            iconst_0
            bipush 6
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc "MSSQL_"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 26
        21: .line 766
            new java.text.MessageFormat
            dup
        22: .line 767
            ldc "R_InvalidCustomKeyStoreProviderName"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 766
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        24: .line 768
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* providerName */
            aastore
            dup
            iconst_1
            ldc "MSSQL_"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        25: .line 769
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 4 /* form */
            aload 5 /* 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 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        26: .line 771
      StackMap locals:
      StackMap stack:
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnonnull 32
        27: .line 772
            new java.text.MessageFormat
            dup
        28: .line 773
            ldc "R_CustomKeyStoreProviderValueNull"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        29: .line 772
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        30: .line 774
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* providerName */
            aastore
            dup
            iconst_1
            ldc "MSSQL_"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        31: .line 775
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 4 /* form */
            aload 5 /* 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 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        32: .line 777
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String providerName
        end local 1 // java.util.Map$Entry entry
        33: .line 759
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        34: .line 780
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "registerColumnEncryptionKeyStoreProviders"
        35: .line 781
            new java.lang.StringBuilder
            dup
            ldc "Number of Key store providers that are registered:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        36: .line 782
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 781
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 780
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 783
            return
        end local 0 // java.util.Map clientKeyStoreProviders
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   40     0  clientKeyStoreProviders  Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;
           15   33     1                    entry  Ljava/util/Map$Entry<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;
           16   33     3             providerName  Ljava/lang/String;
           24   26     4                     form  Ljava/text/MessageFormat;
           25   26     5                  msgArgs  [Ljava/lang/Object;
           30   32     4                     form  Ljava/text/MessageFormat;
           31   32     5                  msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;)V
    MethodParameters:
                         Name  Flags
      clientKeyStoreProviders  

  public static synchronized void unregisterColumnEncryptionKeyStoreProviders();
    descriptor: ()V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=0, args_size=0
         0: .line 790
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "unregisterColumnEncryptionKeyStoreProviders"
         1: .line 791
            ldc "Removing Column Encryption Key Store Provider"
         2: .line 790
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 793
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 6
         4: .line 794
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 795
            aconst_null
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         6: .line 798
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "unregisterColumnEncryptionKeyStoreProviders"
         7: .line 799
            ldc "Number of Key store providers that are registered: 0"
         8: .line 798
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 800
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getGlobalSystemColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 804
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         1: .line 805
            aload 1 /* providerName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 1 /* providerName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 804
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  

  synchronized java.lang.String getAllGlobalCustomSystemColumnEncryptionKeyStoreProviders();
    descriptor: ()Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 809
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         1: .line 810
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 809
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  synchronized java.lang.String getAllSystemColumnEncryptionKeyStoreProviders();
    descriptor: ()Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 814
            ldc ""
            astore 1 /* keyStores */
        start local 1 // java.lang.String keyStores
         1: .line 815
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifeq 3
         2: .line 816
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 1 /* keyStores */
         3: .line 817
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifeq 5
         4: .line 818
            new java.lang.StringBuilder
            dup
            aload 1 /* keyStores */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* keyStores */
         5: .line 819
      StackMap locals:
      StackMap stack:
            aload 1 /* keyStores */
            areturn
        end local 1 // java.lang.String keyStores
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            1    6     1  keyStores  Ljava/lang/String;

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getGlobalCustomColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 824
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         1: .line 825
            aload 1 /* providerName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 1 /* providerName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 824
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getSystemColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 830
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            ifnull 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
         1: .line 831
            aload 1 /* providerName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            aload 1 /* providerName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 830
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 838
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* providerName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSystemColumnEncryptionKeyStoreProvider:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         1: .line 841
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            ifnonnull 3
         2: .line 842
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* providerName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getGlobalSystemColumnEncryptionKeyStoreProvider:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         3: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            ifnonnull 5
         4: .line 847
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* providerName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getGlobalCustomColumnEncryptionKeyStoreProvider:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         5: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            ifnonnull 13
         6: .line 852
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getAllSystemColumnEncryptionKeyStoreProviders:()Ljava/lang/String;
            astore 2 /* systemProviders */
        start local 2 // java.lang.String systemProviders
         7: .line 853
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getAllGlobalCustomSystemColumnEncryptionKeyStoreProviders:()Ljava/lang/String;
            astore 3 /* customProviders */
        start local 3 // java.lang.String customProviders
         8: .line 854
            new java.text.MessageFormat
            dup
         9: .line 855
            ldc "R_UnrecognizedKeyStoreProviderName"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 854
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        11: .line 856
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* providerName */
            aastore
            dup
            iconst_1
            aload 2 /* systemProviders */
            aastore
            dup
            iconst_2
            aload 3 /* customProviders */
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        12: .line 857
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        end local 3 // java.lang.String customProviders
        end local 2 // java.lang.String systemProviders
        13: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   14     1     providerName  Ljava/lang/String;
            7   13     2  systemProviders  Ljava/lang/String;
            8   13     3  customProviders  Ljava/lang/String;
           11   13     4             form  Ljava/text/MessageFormat;
           12   13     5          msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      providerName  

  public static synchronized void setColumnEncryptionTrustedMasterKeyPaths(java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.util.Map trustedKeyPaths
         0: .line 874
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setColumnEncryptionTrustedMasterKeyPaths"
         1: .line 875
            ldc "Setting Trusted Master Key Paths"
         2: .line 874
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 878
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         4: .line 879
            aload 0 /* trustedKeyPaths */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         6: .line 880
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // java.util.Map$Entry entry
         7: .line 879
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 883
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setColumnEncryptionTrustedMasterKeyPaths"
         9: .line 884
            new java.lang.StringBuilder
            dup
            ldc "Number of Trusted Master Key Paths: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 883
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 885
            return
        end local 0 // java.util.Map trustedKeyPaths
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0  trustedKeyPaths  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6    7     1            entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)V
    MethodParameters:
                 Name  Flags
      trustedKeyPaths  

  public static synchronized void updateColumnEncryptionTrustedMasterKeyPaths(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String server
        start local 1 // java.util.List trustedKeyPaths
         0: .line 897
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "updateColumnEncryptionTrustedMasterKeyPaths"
         1: .line 898
            ldc "Updating Trusted Master Key Paths"
         2: .line 897
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 901
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            aload 0 /* server */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            aload 1 /* trustedKeyPaths */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 903
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "updateColumnEncryptionTrustedMasterKeyPaths"
         5: .line 904
            new java.lang.StringBuilder
            dup
            ldc "Number of Trusted Master Key Paths: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 903
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 905
            return
        end local 1 // java.util.List trustedKeyPaths
        end local 0 // java.lang.String server
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0           server  Ljava/lang/String;
            0    8     1  trustedKeyPaths  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
                 Name  Flags
      server           
      trustedKeyPaths  

  public static synchronized void removeColumnEncryptionTrustedMasterKeyPaths(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.String server
         0: .line 914
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "removeColumnEncryptionTrustedMasterKeyPaths"
         1: .line 915
            ldc "Removing Trusted Master Key Paths"
         2: .line 914
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 918
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            aload 0 /* server */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 920
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "removeColumnEncryptionTrustedMasterKeyPaths"
         5: .line 921
            new java.lang.StringBuilder
            dup
            ldc "Number of Trusted Master Key Paths: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 920
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 922
            return
        end local 0 // java.lang.String server
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  server  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      server  

  public static synchronized java.util.Map<java.lang.String, java.util.List<java.lang.String>> getColumnEncryptionTrustedMasterKeyPaths();
    descriptor: ()Ljava/util/Map;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=0
         0: .line 930
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getColumnEncryptionTrustedMasterKeyPaths"
         1: .line 931
            ldc "Getting Trusted Master Key Paths"
         2: .line 930
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 933
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* masterKeyPathCopy */
        start local 0 // java.util.Map masterKeyPathCopy
         4: .line 935
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         6: .line 936
            aload 0 /* masterKeyPathCopy */
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // java.util.Map$Entry entry
         7: .line 935
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 939
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getColumnEncryptionTrustedMasterKeyPaths"
         9: .line 940
            new java.lang.StringBuilder
            dup
            ldc "Number of Trusted Master Key Paths: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* masterKeyPathCopy */
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 939
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 942
            aload 0 /* masterKeyPathCopy */
            areturn
        end local 0 // java.util.Map masterKeyPathCopy
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            4   12     0  masterKeyPathCopy  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6    7     1              entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  static synchronized java.util.List<java.lang.String> getColumnEncryptionTrustedMasterKeyPaths(java.lang.String, java.lang.Boolean[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Boolean;)Ljava/util/List;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String server
        start local 1 // java.lang.Boolean[] hasEntry
         0: .line 946
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            aload 0 /* server */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 947
            aload 1 /* hasEntry */
            iconst_0
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         2: .line 948
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            aload 0 /* server */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
         3: .line 950
      StackMap locals:
      StackMap stack:
            aload 1 /* hasEntry */
            iconst_0
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         4: .line 951
            aconst_null
            areturn
        end local 1 // java.lang.Boolean[] hasEntry
        end local 0 // java.lang.String server
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0    server  Ljava/lang/String;
            0    5     1  hasEntry  [Ljava/lang/Boolean;
    Signature: (Ljava/lang/String;[Ljava/lang/Boolean;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      server    
      hasEntry  

  public static synchronized void clearUserTokenCache();
    descriptor: ()V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=0, locals=0, args_size=0
         0: .line 960
            invokestatic com.microsoft.sqlserver.jdbc.PersistentTokenCacheAccessAspect.clearUserTokenCache:()V
         1: .line 961
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  final boolean rolledBackTransaction();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 987
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.rolledBackTransaction:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  private void setState(com.microsoft.sqlserver.jdbc.SQLServerConnection$State);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$State state
         0: .line 993
            aload 0 /* this */
            aload 1 /* state */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
         1: .line 994
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$State state
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  state  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
    MethodParameters:
       Name  Flags
      state  

  final boolean isSessionUnAvailable();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1001
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Opened:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final void setMaxFieldSize(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int limit
         0: .line 1013
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.maxFieldSize:I
            iload 1 /* limit */
            if_icmpeq 7
         1: .line 1014
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 1015
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "SET TEXTSIZE "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* limit */
            ifne 4
            ldc 2147483647
            goto 5
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.StringBuilder
         4: iload 1 /* limit */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.StringBuilder int
         5: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "setMaxFieldSize"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 1019
            aload 0 /* this */
            iload 1 /* limit */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.maxFieldSize:I
         7: .line 1021
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int limit
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1  limit  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      limit  

  final void initResettableValues();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1028
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.rolledBackTransaction:Z
         1: .line 1029
            aload 0 /* this */
            iconst_2
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
         2: .line 1030
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.maxFieldSize:I
         3: .line 1031
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.maxRows:I
         4: .line 1032
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nLockTimeout:I
         5: .line 1033
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
         6: .line 1034
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
         7: .line 1035
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
         8: .line 1036
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalCatalog:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
         9: .line 1037
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseMetaData:Lcom/microsoft/sqlserver/jdbc/SQLServerDatabaseMetaData;
        10: .line 1038
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final void setMaxRows(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int limit
         0: .line 1045
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.maxRows:I
            iload 1 /* limit */
            if_icmpeq 5
         1: .line 1046
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 1047
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 1049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "SET ROWCOUNT "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* limit */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "setMaxRows"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1050
            aload 0 /* this */
            iload 1 /* limit */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.maxRows:I
         5: .line 1052
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int limit
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    6     1  limit  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      limit  

  final com.microsoft.sqlserver.jdbc.SQLCollation getDatabaseCollation();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1057
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseCollation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getHoldabilityInternal();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1086
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getTDSPacketSize();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1097
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean isKatmaiOrLater();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1107
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1108
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
            ldc 1913192450
            if_icmpge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
            ldc 1930100739
            if_icmplt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean isDenaliOrLater();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1113
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
            ldc 1946157060
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  int getServerMajorVersion();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1119
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public java.util.UUID getClientConnectionId();
    descriptor: ()Ljava/util/UUID;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1130
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         1: .line 1131
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final java.util.UUID getClientConIdInternal();
    descriptor: ()Ljava/util/UUID;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1139
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean attachConnId();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1143
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Connected:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String parentInfo
         0: .line 1146
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.attemptRefreshTokenLocked:Z
         2: .line 102
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverPreparedStatementDiscardThreshold:I
         3: .line 113
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
         4: .line 116
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandles:Ljava/util/concurrent/ConcurrentLinkedQueue;
         5: .line 117
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandleCount:Ljava/util/concurrent/atomic/AtomicInteger;
         6: .line 119
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         7: .line 121
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredByUser:Z
         8: .line 122
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
         9: .line 123
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
        10: .line 124
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
        11: .line 129
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
        12: .line 130
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        13: .line 131
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
        14: .line 133
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthToken:Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
        15: .line 135
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHostNameInCertificate:Ljava/lang/String;
        16: .line 137
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
        17: .line 138
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKey:Ljava/lang/String;
        18: .line 139
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKeyPassword:Ljava/lang/String;
        19: .line 140
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalID:Ljava/lang/String;
        20: .line 141
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalSecret:Ljava/lang/String;
        21: .line 143
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTemporalDataTypesAsStringForBulkCopy:Z
        22: .line 145
            aload 0 /* this */
            iconst_5
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ENGINE_EDITION_FOR_SQL_AZURE:I
        23: .line 146
            aload 0 /* this */
            bipush 6
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ENGINE_EDITION_FOR_SQL_AZURE_DW:I
        24: .line 147
            aload 0 /* this */
            bipush 8
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ENGINE_EDITION_FOR_SQL_AZURE_MI:I
        25: .line 148
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:Ljava/lang/Boolean;
        26: .line 149
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureDW:Ljava/lang/Boolean;
        27: .line 150
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureMI:Ljava/lang/Boolean;
        28: .line 351
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.statementPoolingCacheSize:I
        29: .line 360
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.disableStatementPooling:Z
        30: .line 478
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isRoutedInCurrentAttempt:Z
        31: .line 481
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
        32: .line 493
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_STRING_PARAMETERS_AS_UNICODE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
        33: .line 494
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendStringParametersAsUnicode:Z
        34: .line 496
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
        35: .line 512
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SERVER_NAME_AS_ACE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverNameAsACE:Z
        36: .line 531
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
        37: .line 600
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.userSetTNIR:Z
        38: .line 602
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_TIME_AS_DATETIME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
        39: .line 603
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.USE_FMT_ONLY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useFmtOnly:Z
        40: .line 614
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
        41: .line 627
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
        42: .line 634
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryClass:Ljava/lang/String;
        43: .line 640
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryConstructorArg:Ljava/lang/String;
        44: .line 646
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerClass:Ljava/lang/String;
        45: .line 653
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerConstructorArg:Ljava/lang/String;
        46: .line 661
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionSetting:Ljava/lang/String;
        47: .line 671
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
        48: .line 672
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
        49: .line 674
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreAuthentication:Ljava/lang/String;
        50: .line 675
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreSecret:Ljava/lang/String;
        51: .line 676
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreLocation:Ljava/lang/String;
        52: .line 677
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStorePrincipalId:Ljava/lang/String;
        53: .line 679
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.AE_NotSupported:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
        54: .line 681
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveType:Ljava/lang/String;
        55: .line 691
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDataClassification:Z
        56: .line 692
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportedDataClassificationVersion:B
        57: .line 698
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDNSCaching:Z
        58: .line 710
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.DELAY_LOADING_LOBS:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
        59: .line 731
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
        60: .line 863
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
        61: .line 964
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.INTEGRATED_SECURITY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
        62: .line 965
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmAuthentication:Z
        63: .line 966
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmPasswordHash:[B
        64: .line 968
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.AuthenticationScheme.nativeAuthentication:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.intAuthScheme:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
        65: .line 972
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
        66: .line 977
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.inXATransaction:Z
        67: .line 978
            aload 0 /* this */
            bipush 8
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionDescriptor:[B
        68: .line 990
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Initialized:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
        69: .line 1062
            aload 0 /* this */
            ldc "master"
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
        70: .line 1064
            aload 0 /* this */
            ldc "master"
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalCatalog:Ljava/lang/String;
        71: .line 1069
            aload 0 /* this */
            sipush 10000
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nNextSavePointId:I
        72: .line 1081
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
        73: .line 1093
            aload 0 /* this */
            sipush 4096
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize:I
        74: .line 1094
            aload 0 /* this */
            sipush 8000
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
        75: .line 1102
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        76: .line 1104
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
        77: .line 1124
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
        78: .line 3223
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.schedulerLock:Ljava/lang/Object;
        79: .line 3713
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.warningSynchronization:Ljava/lang/Object;
        80: .line 5932
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
        81: .line 5949
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aeVersion:I
        82: .line 1147
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.nextConnectionID:()I
            istore 2 /* connectionID */
        start local 2 // int connectionID
        83: .line 1148
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "ConnectionID:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* connectionID */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.traceID:Ljava/lang/String;
        84: .line 1149
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* connectionID */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
        85: .line 1150
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 87
        86: .line 1151
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " created by ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* parentInfo */
            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;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        87: .line 1152
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.initResettableValues:()V
        88: .line 1155
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDisableStatementPooling:()Z
            ifne 90
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getStatementPoolingCacheSize:()I
            ifle 90
        89: .line 1156
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCache:()V
        90: .line 1158
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int connectionID
        end local 1 // java.lang.String parentInfo
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   91     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   91     1    parentInfo  Ljava/lang/String;
           83   91     2  connectionID  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      parentInfo  

  void setFailoverPartnerServerProvided(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String partner
         0: .line 1161
            aload 0 /* this */
            aload 1 /* partner */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
         1: .line 1163
            return
        end local 1 // java.lang.String partner
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  partner  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      partner  

  final void setAssociatedProxy(com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnectionPoolProxy;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy proxy
         0: .line 1166
            aload 0 /* this */
            aload 1 /* proxy */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.proxy:Lcom/microsoft/sqlserver/jdbc/SQLServerConnectionPoolProxy;
         1: .line 1167
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy proxy
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  proxy  Lcom/microsoft/sqlserver/jdbc/SQLServerConnectionPoolProxy;
    MethodParameters:
       Name  Flags
      proxy  

  final java.sql.Connection getConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1175
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.proxy:Lcom/microsoft/sqlserver/jdbc/SQLServerConnectionPoolProxy;
            ifnull 2
         1: .line 1176
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.proxy:Lcom/microsoft/sqlserver/jdbc/SQLServerConnectionPoolProxy;
            areturn
         2: .line 1178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final void resetPooledConnection();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1182
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.resetPooledConnection:()V
         1: .line 1183
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.initResettableValues:()V
         2: .line 1184
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  private static int nextConnectionID();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1192
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.baseConnectionID:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  java.util.logging.Logger getConnectionLogger();
    descriptor: ()Ljava/util/logging/Logger;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1196
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1204
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            ifnull 2
         1: .line 1205
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.traceID:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ClientConnectionId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.traceID:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  void checkClosed();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1216
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ifeq 4
         1: .line 1217
            aconst_null
            aconst_null
            ldc "R_connectionIsClosed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 1218
            ldc "08006"
            iconst_0
         3: .line 1217
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 1220
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  protected boolean needsReconnect();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 1228
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthToken:Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            ifnull 1
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthToken:Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            getfield com.microsoft.sqlserver.jdbc.SqlFedAuthToken.expiresOn:Ljava/util/Date;
            invokestatic com.microsoft.sqlserver.jdbc.Util.checkIfNeedNewAccessToken:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/util/Date;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  private boolean isBooleanPropertyOn(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String propName
        start local 2 // java.lang.String propValue
         0: .line 1246
            aload 2 /* propValue */
            ifnonnull 2
         1: .line 1247
            iconst_0
            ireturn
         2: .line 1249
      StackMap locals:
      StackMap stack:
            ldc "true"
            aload 2 /* propValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1250
            iconst_1
            ireturn
         4: .line 1251
      StackMap locals:
      StackMap stack:
            ldc "false"
            aload 2 /* propValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 1252
            iconst_0
            ireturn
         6: .line 1254
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidBooleanValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         7: .line 1255
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* propName */
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
         8: .line 1256
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         9: .line 1257
            iconst_0
            ireturn
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String propValue
        end local 1 // java.lang.String propName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   10     1   propName  Ljava/lang/String;
            0   10     2  propValue  Ljava/lang/String;
            7   10     3       form  Ljava/text/MessageFormat;
            8   10     4    msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      propName   
      propValue  

  void validateMaxSQLLoginName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String propName
        start local 2 // java.lang.String propValue
         0: .line 1278
            aload 2 /* propValue */
            ifnull 4
            aload 2 /* propValue */
            invokevirtual java.lang.String.length:()I
            sipush 128
            if_icmple 4
         1: .line 1279
            new java.text.MessageFormat
            dup
            ldc "R_propertyMaximumExceedsChars"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         2: .line 1280
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* propName */
            aastore
            dup
            iconst_1
            sipush 128
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
         3: .line 1281
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
         4: .line 1283
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String propValue
        end local 1 // java.lang.String propName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1   propName  Ljava/lang/String;
            0    5     2  propValue  Ljava/lang/String;
            2    4     3       form  Ljava/text/MessageFormat;
            3    4     4    msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      propName   
      propValue  

  java.sql.Connection connect(java.util.Properties, com.microsoft.sqlserver.jdbc.SQLServerPooledConnection);
    descriptor: (Ljava/util/Properties;Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;)Ljava/sql/Connection;
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.util.Properties propsIn
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerPooledConnection pooledConnection
         0: .line 1286
            iconst_0
            istore 3 /* loginTimeoutSeconds */
        start local 3 // int loginTimeoutSeconds
         1: .line 1287
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* start */
        start local 4 // long start
         2: .line 1289
            iconst_0
            istore 6 /* retryAttempt */
        start local 6 // int retryAttempt
         3: .line 1291
      StackMap locals: int long int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* propsIn */
            aload 2 /* pooledConnection */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal:(Ljava/util/Properties;Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;)Ljava/sql/Connection;
         4: areturn
         5: .line 1292
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
            astore 7 /* e */
        start local 7 // com.microsoft.sqlserver.jdbc.SQLServerException e
         6: .line 1294
            bipush 7
            aload 7 /* e */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getDriverErrorCode:()I
            if_icmpeq 8
         7: .line 1296
            aload 7 /* e */
            athrow
         8: .line 1301
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerException
      StackMap stack:
            iload 6 /* retryAttempt */
            ifne 15
         9: .line 1306
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOGIN_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 3 /* loginTimeoutSeconds */
        10: .line 1308
            aload 1 /* propsIn */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOGIN_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* sPropValue */
        start local 8 // java.lang.String sPropValue
        11: .line 1309
            aload 8 /* sPropValue */
            ifnull 15
            aload 8 /* sPropValue */
            invokevirtual java.lang.String.length:()I
            ifle 15
        12: .line 1310
            aload 8 /* sPropValue */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 9 /* sPropValueInt */
        start local 9 // int sPropValueInt
        13: .line 1311
            iload 9 /* sPropValueInt */
            ifeq 15
        14: .line 1312
            iload 9 /* sPropValueInt */
            istore 3 /* loginTimeoutSeconds */
        end local 9 // int sPropValueInt
        end local 8 // java.lang.String sPropValue
        15: .line 1317
      StackMap locals:
      StackMap stack:
            iinc 6 /* retryAttempt */ 1
        16: .line 1318
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 4 /* start */
            lsub
            ldc 1000
            ldiv
            lstore 8 /* elapsedSeconds */
        start local 8 // long elapsedSeconds
        17: .line 1320
            iconst_5
            iload 6 /* retryAttempt */
            if_icmpge 21
        18: .line 1322
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 20
        19: .line 1323
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            ldc "Connection failed during SSL handshake. Maximum retry attempt (5) reached.  "
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        20: .line 1326
      StackMap locals: long
      StackMap stack:
            aload 7 /* e */
            athrow
        21: .line 1327
      StackMap locals:
      StackMap stack:
            lload 8 /* elapsedSeconds */
            iload 3 /* loginTimeoutSeconds */
            i2l
            lcmp
            iflt 26
        22: .line 1329
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 25
        23: .line 1330
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        24: .line 1331
            ldc "Connection failed during SSL handshake. Not retrying as timeout expired."
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        25: .line 1333
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            athrow
        26: .line 1336
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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
        27: .line 1337
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        28: .line 1338
            new java.lang.StringBuilder
            dup
            ldc "Connection failed during SSL handshake. Retrying due to an intermittent TLS 1.2 failure issue. Retry attempt = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 1339
            iload 6 /* retryAttempt */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 1338
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 1337
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 8 // long elapsedSeconds
        end local 7 // com.microsoft.sqlserver.jdbc.SQLServerException e
        32: .line 1289
            goto 3
        end local 6 // int retryAttempt
        end local 4 // long start
        end local 3 // int loginTimeoutSeconds
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerPooledConnection pooledConnection
        end local 1 // java.util.Properties propsIn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   33     1              propsIn  Ljava/util/Properties;
            0   33     2     pooledConnection  Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
            1   33     3  loginTimeoutSeconds  I
            2   33     4                start  J
            3   33     6         retryAttempt  I
            6   32     7                    e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           11   15     8           sPropValue  Ljava/lang/String;
           13   15     9        sPropValueInt  I
           17   32     8       elapsedSeconds  J
      Exception table:
        from    to  target  type
           3     4       5  Class com.microsoft.sqlserver.jdbc.SQLServerException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      propsIn           
      pooledConnection  

  private void registerKeyStoreProviderOnConnection(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String keyStoreAuth
        start local 2 // java.lang.String keyStoreSecret
        start local 3 // java.lang.String keyStoreLocation
         0: .line 1349
            aload 1 /* keyStoreAuth */
            ifnonnull 19
         1: .line 1351
            aload 2 /* keyStoreSecret */
            ifnull 7
         2: .line 1352
            new java.text.MessageFormat
            dup
         3: .line 1353
            ldc "R_keyStoreAuthenticationNotSet"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 1352
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         5: .line 1354
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "keyStoreSecret"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
         6: .line 1355
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
         7: .line 1357
      StackMap locals:
      StackMap stack:
            aload 3 /* keyStoreLocation */
            ifnull 13
         8: .line 1358
            new java.text.MessageFormat
            dup
         9: .line 1359
            ldc "R_keyStoreAuthenticationNotSet"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 1358
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        11: .line 1360
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "keyStoreLocation"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        12: .line 1361
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        13: .line 1363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStorePrincipalId:Ljava/lang/String;
            ifnull 42
        14: .line 1364
            new java.text.MessageFormat
            dup
        15: .line 1365
            ldc "R_keyStoreAuthenticationNotSet"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        16: .line 1364
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        17: .line 1366
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "keyStorePrincipalId"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        18: .line 1367
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        19: .line 1370
      StackMap locals:
      StackMap stack:
            aload 1 /* keyStoreAuth */
            invokestatic com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
            astore 4 /* keyStoreAuthentication */
        start local 4 // com.microsoft.sqlserver.jdbc.KeyStoreAuthentication keyStoreAuthentication
        20: .line 1371
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$KeyStoreAuthentication:()[I
            aload 4 /* keyStoreAuthentication */
            invokevirtual com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 21
                    2: 30
                    3: 34
              default: 42
          }
        21: .line 1374
      StackMap locals: com.microsoft.sqlserver.jdbc.KeyStoreAuthentication
      StackMap stack:
            aload 2 /* keyStoreSecret */
            ifnull 22
            aload 3 /* keyStoreLocation */
            ifnonnull 25
        22: .line 1375
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
        23: .line 1376
            ldc "R_keyStoreSecretOrLocationNotSet"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        24: .line 1375
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        25: .line 1378
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionJavaKeyStoreProvider
            dup
        26: .line 1379
            aload 3 /* keyStoreLocation */
            aload 2 /* keyStoreSecret */
            invokevirtual java.lang.String.toCharArray:()[C
        27: .line 1378
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionJavaKeyStoreProvider.<init>:(Ljava/lang/String;[C)V
            astore 5 /* provider */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionJavaKeyStoreProvider provider
        28: .line 1380
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            aload 5 /* provider */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionJavaKeyStoreProvider.getName:()Ljava/lang/String;
            aload 5 /* provider */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionJavaKeyStoreProvider provider
        29: .line 1382
            goto 42
        30: .line 1385
      StackMap locals:
      StackMap stack:
            aload 2 /* keyStoreSecret */
            ifnonnull 32
        31: .line 1386
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_keyStoreSecretNotSet"
            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
        32: .line 1388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStorePrincipalId:Ljava/lang/String;
            aload 2 /* keyStoreSecret */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.registerKeyVaultProvider:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 1389
            goto 42
        34: .line 1392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStorePrincipalId:Ljava/lang/String;
            ifnull 37
        35: .line 1393
            new com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStorePrincipalId:Ljava/lang/String;
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider.<init>:(Ljava/lang/String;)V
            astore 5 /* provider */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider provider
        36: .line 1394
            goto 38
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider provider
        37: .line 1395
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider.<init>:()V
            astore 5 /* provider */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider provider
        38: .line 1397
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* keyStoreMap */
        start local 6 // java.util.Map keyStoreMap
        39: .line 1398
            aload 6 /* keyStoreMap */
            aload 5 /* provider */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider.getName:()Ljava/lang/String;
            aload 5 /* provider */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 1399
            aload 6 /* keyStoreMap */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.registerColumnEncryptionKeyStoreProviders:(Ljava/util/Map;)V
        41: .line 1400
            goto 42
        end local 6 // java.util.Map keyStoreMap
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider provider
        end local 4 // com.microsoft.sqlserver.jdbc.KeyStoreAuthentication keyStoreAuthentication
        42: .line 1406
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String keyStoreLocation
        end local 2 // java.lang.String keyStoreSecret
        end local 1 // java.lang.String keyStoreAuth
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   43     0                    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   43     1            keyStoreAuth  Ljava/lang/String;
            0   43     2          keyStoreSecret  Ljava/lang/String;
            0   43     3        keyStoreLocation  Ljava/lang/String;
            5    7     4                    form  Ljava/text/MessageFormat;
            6    7     5                 msgArgs  [Ljava/lang/Object;
           11   13     4                    form  Ljava/text/MessageFormat;
           12   13     5                 msgArgs  [Ljava/lang/Object;
           17   19     4                    form  Ljava/text/MessageFormat;
           18   19     5                 msgArgs  [Ljava/lang/Object;
           20   42     4  keyStoreAuthentication  Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
           28   29     5                provider  Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionJavaKeyStoreProvider;
           36   37     5                provider  Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionAzureKeyVaultProvider;
           38   42     5                provider  Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionAzureKeyVaultProvider;
           39   42     6             keyStoreMap  Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      keyStoreAuth      
      keyStoreSecret    
      keyStoreLocation  

  private void registerKeyVaultProvider(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String clientId
        start local 2 // java.lang.String clientKey
         0: .line 1410
            new com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider
            dup
         1: .line 1411
            aload 1 /* clientId */
            aload 2 /* clientKey */
         2: .line 1410
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* provider */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider provider
         3: .line 1412
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* keyStoreMap */
        start local 4 // java.util.Map keyStoreMap
         4: .line 1413
            aload 4 /* keyStoreMap */
            aload 3 /* provider */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider.getName:()Ljava/lang/String;
            aload 3 /* provider */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1414
            aload 4 /* keyStoreMap */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.registerColumnEncryptionKeyStoreProviders:(Ljava/util/Map;)V
         6: .line 1415
            return
        end local 4 // java.util.Map keyStoreMap
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionAzureKeyVaultProvider provider
        end local 2 // java.lang.String clientKey
        end local 1 // java.lang.String clientId
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    7     1     clientId  Ljava/lang/String;
            0    7     2    clientKey  Ljava/lang/String;
            3    7     3     provider  Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionAzureKeyVaultProvider;
            4    7     4  keyStoreMap  Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      clientId   
      clientKey  

  java.sql.Connection connectInternal(java.util.Properties, com.microsoft.sqlserver.jdbc.SQLServerPooledConnection);
    descriptor: (Ljava/util/Properties;Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;)Ljava/sql/Connection;
    flags: (0x0000) 
    Code:
      stack=9, locals=30, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.util.Properties propsIn
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerPooledConnection pooledConnection
         0: .line 1431
            aload 0 /* this */
            aload 1 /* propsIn */
            invokevirtual java.util.Properties.clone:()Ljava/lang/Object;
            checkcast java.util.Properties
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
         1: .line 1433
            aload 0 /* this */
            aload 2 /* pooledConnection */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.pooledConnectionParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
         2: .line 1435
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
         3: .line 1436
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.HOSTNAME_IN_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 1435
            astore 3 /* hostNameInCertificate */
        start local 3 // java.lang.String hostNameInCertificate
         5: .line 1442
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHostNameInCertificate:Ljava/lang/String;
            ifnonnull 10
            aload 3 /* hostNameInCertificate */
            ifnull 10
         6: .line 1443
            aload 3 /* hostNameInCertificate */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 10
         7: .line 1444
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
         8: .line 1445
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.HOSTNAME_IN_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         9: .line 1444
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHostNameInCertificate:Ljava/lang/String;
        10: .line 1452
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHostNameInCertificate:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHostNameInCertificate:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 14
        11: .line 1453
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.HOSTNAME_IN_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
        12: .line 1454
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHostNameInCertificate:Ljava/lang/String;
        13: .line 1453
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        14: .line 1460
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        start local 4 // java.lang.String sPropKey
        15: .line 1461
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        start local 5 // java.lang.String sPropValue
        16: .line 1462
            aload 5 /* sPropValue */
            ifnonnull 19
        17: .line 1463
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
        18: .line 1464
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        19: .line 1466
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 1468
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        21: .line 1469
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        22: .line 1470
            aload 5 /* sPropValue */
            ifnonnull 25
        23: .line 1471
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
        24: .line 1472
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        25: .line 1474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
        26: .line 1476
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        27: .line 1477
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        28: .line 1478
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 1481
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOGIN_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 6 /* loginTimeoutSeconds */
        start local 6 // int loginTimeoutSeconds
        30: .line 1482
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOGIN_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        31: .line 1483
            aload 5 /* sPropValue */
            ifnull 42
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.length:()I
            ifle 42
        32: .line 1485
            aload 5 /* sPropValue */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 6 /* loginTimeoutSeconds */
        33: .line 1486
            goto 38
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.NumberFormatException
        34: pop
        35: .line 1487
            new java.text.MessageFormat
            dup
            ldc "R_invalidTimeOut"
            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
        36: .line 1488
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* sPropValue */
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        37: .line 1489
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        38: .line 1492
      StackMap locals:
      StackMap stack:
            iload 6 /* loginTimeoutSeconds */
            iflt 39
            iload 6 /* loginTimeoutSeconds */
            ldc 65535
            if_icmple 42
        39: .line 1493
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidTimeOut"
            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
        40: .line 1494
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* sPropValue */
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        41: .line 1495
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        42: .line 1501
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SERVER_NAME_AS_ACE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        43: .line 1502
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        44: .line 1503
            aload 5 /* sPropValue */
            ifnonnull 47
        45: .line 1504
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SERVER_NAME_AS_ACE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
        46: .line 1505
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        47: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverNameAsACE:Z
        48: .line 1511
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        49: .line 1512
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        50: .line 1514
            aload 5 /* sPropValue */
            ifnonnull 52
        51: .line 1515
            ldc "localhost"
            astore 5 /* sPropValue */
        52: .line 1518
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 7 /* sPropKeyPort */
        start local 7 // java.lang.String sPropKeyPort
        53: .line 1519
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 7 /* sPropKeyPort */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* sPropValuePort */
        start local 8 // java.lang.String sPropValuePort
        54: .line 1521
            aload 5 /* sPropValue */
            bipush 92
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* px */
        start local 9 // int px
        55: .line 1523
            aconst_null
            astore 10 /* instanceValue */
        start local 10 // java.lang.String instanceValue
        56: .line 1525
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.INSTANCE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 11 /* instanceNameProperty */
        start local 11 // java.lang.String instanceNameProperty
        57: .line 1527
            iload 9 /* px */
            iflt 61
        58: .line 1528
            aload 5 /* sPropValue */
            iload 9 /* px */
            iconst_1
            iadd
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 10 /* instanceValue */
        59: .line 1529
            aload 0 /* this */
            aload 11 /* instanceNameProperty */
            aload 10 /* instanceValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
        60: .line 1530
            aload 5 /* sPropValue */
            iconst_0
            iload 9 /* px */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* sPropValue */
        61: .line 1532
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
        62: .line 1534
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverNameAsACE:Z
            ifeq 71
        63: .line 1536
            aload 5 /* sPropValue */
            invokestatic java.net.IDN.toASCII:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        64: .line 1537
            goto 71
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        65: astore 12 /* ex */
        start local 12 // java.lang.IllegalArgumentException ex
        66: .line 1538
            new java.text.MessageFormat
            dup
        67: .line 1539
            ldc "R_InvalidConnectionSetting"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        68: .line 1538
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
        69: .line 1540
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "serverNameAsACE"
            aastore
            dup
            iconst_1
            aload 5 /* sPropValue */
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
        70: .line 1541
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aload 12 /* ex */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
        end local 12 // java.lang.IllegalArgumentException ex
        71: .line 1544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        72: .line 1546
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 11 /* instanceNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* instanceValueFromProp */
        start local 12 // java.lang.String instanceValueFromProp
        73: .line 1548
            aload 12 /* instanceValueFromProp */
            ifnull 75
        74: .line 1549
            aload 12 /* instanceValueFromProp */
            astore 10 /* instanceValue */
        75: .line 1551
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* instanceValue */
            ifnull 79
        76: .line 1552
            aload 0 /* this */
            aload 11 /* instanceNameProperty */
            aload 10 /* instanceValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
        77: .line 1554
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 11 /* instanceNameProperty */
            aload 10 /* instanceValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        78: .line 1555
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* instanceValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
        79: .line 1558
      StackMap locals:
      StackMap stack:
            aload 8 /* sPropValuePort */
            ifnull 81
        80: .line 1559
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* sPropValuePort */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
        81: .line 1562
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.APPLICATION_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        82: .line 1563
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        83: .line 1564
            aload 5 /* sPropValue */
            ifnull 85
        84: .line 1565
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
            goto 86
        85: .line 1567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            ldc "Microsoft JDBC Driver for SQL Server"
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        86: .line 1569
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.LAST_UPDATE_COUNT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        87: .line 1570
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        88: .line 1571
            aload 5 /* sPropValue */
            ifnonnull 91
        89: .line 1572
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.LAST_UPDATE_COUNT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
        90: .line 1573
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        91: .line 1576
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.COLUMN_ENCRYPTION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        92: .line 1577
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        93: .line 1578
            aload 5 /* sPropValue */
            ifnonnull 96
        94: .line 1579
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.COLUMN_ENCRYPTION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
        95: .line 1580
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        96: .line 1582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.ColumnEncryptionSetting.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionSetting;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionSetting.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionSetting:Ljava/lang/String;
        97: .line 1584
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.ENCLAVE_ATTESTATION_URL:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
        98: .line 1585
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
        99: .line 1586
            aload 5 /* sPropValue */
            ifnull 101
       100: .line 1587
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
       101: .line 1590
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.ENCLAVE_ATTESTATION_PROTOCOL:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       102: .line 1591
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       103: .line 1592
            aload 5 /* sPropValue */
            ifnull 113
       104: .line 1593
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
       105: .line 1594
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.AttestationProtocol.isValidAttestationProtocol:(Ljava/lang/String;)Z
            ifne 109
       106: .line 1595
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_enclaveInvalidAttestationProtocol"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       107: .line 1596
            aconst_null
       108: .line 1595
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       109: .line 1599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.AttestationProtocol.HGS:Lcom/microsoft/sqlserver/jdbc/AttestationProtocol;
            invokevirtual com.microsoft.sqlserver.jdbc.AttestationProtocol.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 112
       110: .line 1600
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerVSMEnclaveProvider
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerVSMEnclaveProvider.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveProvider:Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
       111: .line 1601
            goto 113
       112: .line 1603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerAASEnclaveProvider
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerAASEnclaveProvider.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveProvider:Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
       113: .line 1608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            ifnull 115
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 115
       114: .line 1609
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            ifnull 120
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 120
       115: .line 1610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            ifnull 117
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 117
       116: .line 1611
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            ifnull 120
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 120
       117: .line 1612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            ifnull 121
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 121
       118: .line 1613
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            ifnonnull 119
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationProtocol:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 121
       119: .line 1614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionSetting:Ljava/lang/String;
            ifnull 120
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isColumnEncryptionSettingEnabled:()Z
            ifne 121
       120: .line 1615
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_enclavePropertiesError"
            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
       121: .line 1618
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.KEY_STORE_AUTHENTICATION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       122: .line 1619
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       123: .line 1620
            aload 5 /* sPropValue */
            ifnull 125
       124: .line 1621
            aload 0 /* this */
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreAuthentication:Ljava/lang/String;
       125: .line 1624
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.KEY_STORE_SECRET:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       126: .line 1625
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       127: .line 1626
            aload 5 /* sPropValue */
            ifnull 129
       128: .line 1627
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreSecret:Ljava/lang/String;
       129: .line 1630
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.KEY_STORE_LOCATION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       130: .line 1631
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       131: .line 1632
            aload 5 /* sPropValue */
            ifnull 133
       132: .line 1633
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreLocation:Ljava/lang/String;
       133: .line 1636
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.KEY_STORE_PRINCIPAL_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       134: .line 1637
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       135: .line 1638
            aload 5 /* sPropValue */
            ifnull 137
       136: .line 1639
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStorePrincipalId:Ljava/lang/String;
       137: .line 1642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreAuthentication:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreSecret:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keyStoreLocation:Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.registerKeyStoreProviderOnConnection:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       138: .line 1644
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnonnull 150
       139: .line 1645
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.KEY_VAULT_PROVIDER_CLIENT_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       140: .line 1646
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       141: .line 1647
            aload 5 /* sPropValue */
            ifnull 150
       142: .line 1648
            aload 5 /* sPropValue */
            astore 13 /* keyVaultColumnEncryptionProviderClientId */
        start local 13 // java.lang.String keyVaultColumnEncryptionProviderClientId
       143: .line 1649
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.KEY_VAULT_PROVIDER_CLIENT_KEY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       144: .line 1650
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       145: .line 1651
            aload 5 /* sPropValue */
            ifnull 150
       146: .line 1652
            aload 5 /* sPropValue */
            astore 14 /* keyVaultColumnEncryptionProviderClientKey */
        start local 14 // java.lang.String keyVaultColumnEncryptionProviderClientKey
       147: .line 1654
            aload 0 /* this */
            aload 13 /* keyVaultColumnEncryptionProviderClientId */
       148: .line 1655
            aload 14 /* keyVaultColumnEncryptionProviderClientKey */
       149: .line 1654
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.registerKeyVaultProvider:(Ljava/lang/String;Ljava/lang/String;)V
        end local 14 // java.lang.String keyVaultColumnEncryptionProviderClientKey
        end local 13 // java.lang.String keyVaultColumnEncryptionProviderClientId
       150: .line 1660
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.MULTI_SUBNET_FAILOVER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       151: .line 1661
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       152: .line 1662
            aload 5 /* sPropValue */
            ifnonnull 155
       153: .line 1663
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.MULTI_SUBNET_FAILOVER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
       154: .line 1664
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       155: .line 1666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
       156: .line 1668
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.TRANSPARENT_NETWORK_IP_RESOLUTION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       157: .line 1669
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       158: .line 1670
            aload 5 /* sPropValue */
            ifnonnull 163
       159: .line 1671
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.userSetTNIR:Z
       160: .line 1673
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.TRANSPARENT_NETWORK_IP_RESOLUTION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
       161: .line 1672
            astore 5 /* sPropValue */
       162: .line 1674
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       163: .line 1676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transparentNetworkIPResolution:Z
       164: .line 1678
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.ENCRYPT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       165: .line 1679
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       166: .line 1680
            aload 5 /* sPropValue */
            ifnonnull 169
       167: .line 1681
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.ENCRYPT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
       168: .line 1682
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       169: .line 1685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       170: .line 1686
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SOCKET_FACTORY_CLASS:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       171: .line 1685
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryClass:Ljava/lang/String;
       172: .line 1687
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       173: .line 1688
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SOCKET_FACTORY_CONSTRUCTOR_ARG:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       174: .line 1687
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryConstructorArg:Ljava/lang/String;
       175: .line 1691
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 176
            iconst_1
            goto 177
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
       176: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
       177: putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
       178: .line 1693
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.TRUST_SERVER_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       179: .line 1694
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       180: .line 1695
            aload 5 /* sPropValue */
            ifnonnull 184
       181: .line 1697
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.TRUST_SERVER_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
       182: .line 1696
            astore 5 /* sPropValue */
       183: .line 1698
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       184: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustServerCertificate:Z
       185: .line 1703
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       186: .line 1704
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_MANAGER_CLASS:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       187: .line 1703
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerClass:Ljava/lang/String;
       188: .line 1705
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       189: .line 1706
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.TRUST_MANAGER_CONSTRUCTOR_ARG:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       190: .line 1705
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerConstructorArg:Ljava/lang/String;
       191: .line 1708
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SELECT_METHOD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       192: .line 1709
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       193: .line 1710
            aload 5 /* sPropValue */
            ifnonnull 195
       194: .line 1711
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SELECT_METHOD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       195: .line 1714
      StackMap locals:
      StackMap stack:
            ldc "cursor"
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 196
            ldc "direct"
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 200
       196: .line 1715
      StackMap locals:
      StackMap stack:
            aload 5 /* sPropValue */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 5 /* sPropValue */
       197: .line 1716
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       198: .line 1717
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.selectMethod:Ljava/lang/String;
       199: .line 1718
            goto 203
       200: .line 1719
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidselectMethod"
            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
       201: .line 1720
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* sPropValue */
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       202: .line 1721
            aload 0 /* this */
            aload 0 /* this */
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
       203: .line 1724
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.RESPONSE_BUFFERING:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       204: .line 1725
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       205: .line 1726
            aload 5 /* sPropValue */
            ifnonnull 207
       206: .line 1727
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.RESPONSE_BUFFERING:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       207: .line 1730
      StackMap locals:
      StackMap stack:
            ldc "full"
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 208
            ldc "adaptive"
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 210
       208: .line 1731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       209: .line 1732
            goto 213
       210: .line 1733
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidresponseBuffering"
            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
       211: .line 1734
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* sPropValue */
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       212: .line 1735
            aload 0 /* this */
            aload 0 /* this */
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
       213: .line 1738
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.APPLICATION_INTENT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       214: .line 1739
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       215: .line 1740
            aload 5 /* sPropValue */
            ifnonnull 217
       216: .line 1741
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.APPLICATION_INTENT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       217: .line 1744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.ApplicationIntent.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
       218: .line 1745
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            invokevirtual com.microsoft.sqlserver.jdbc.ApplicationIntent.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       219: .line 1747
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_TIME_AS_DATETIME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       220: .line 1748
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       221: .line 1749
            aload 5 /* sPropValue */
            ifnonnull 224
       222: .line 1750
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_TIME_AS_DATETIME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
       223: .line 1751
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       224: .line 1754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
       225: .line 1756
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.USE_FMT_ONLY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       226: .line 1757
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       227: .line 1758
            aload 5 /* sPropValue */
            ifnonnull 230
       228: .line 1759
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.USE_FMT_ONLY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
       229: .line 1760
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       230: .line 1762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useFmtOnly:Z
       231: .line 1765
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.STATEMENT_POOLING_CACHE_SIZE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       232: .line 1766
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 243
       233: .line 1767
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 243
       234: .line 1769
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* n */
        start local 13 // int n
       235: .line 1770
            aload 0 /* this */
            iload 13 /* n */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setStatementPoolingCacheSize:(I)V
        end local 13 // int n
       236: .line 1771
            goto 243
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
       237: pop
       238: .line 1772
            new java.text.MessageFormat
            dup
       239: .line 1773
            ldc "R_statementPoolingCacheSize"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       240: .line 1772
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
       241: .line 1774
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       242: .line 1775
            aload 0 /* this */
            aload 0 /* this */
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
       243: .line 1779
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       244: .line 1780
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       245: .line 1781
            aload 5 /* sPropValue */
            ifnonnull 248
       246: .line 1782
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       247: .line 1783
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       248: .line 1785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalID:Ljava/lang/String;
       249: .line 1787
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_SECRET:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       250: .line 1788
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       251: .line 1789
            aload 5 /* sPropValue */
            ifnonnull 254
       252: .line 1790
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_SECRET:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       253: .line 1791
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       254: .line 1793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalSecret:Ljava/lang/String;
       255: .line 1796
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.DISABLE_STATEMENT_POOLING:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       256: .line 1797
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       257: .line 1798
            aload 5 /* sPropValue */
            ifnull 259
       258: .line 1799
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setDisableStatementPooling:(Z)V
       259: .line 1802
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.INTEGRATED_SECURITY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       260: .line 1803
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       261: .line 1804
            aload 5 /* sPropValue */
            ifnull 263
       262: .line 1805
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
       263: .line 1809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 268
       264: .line 1810
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AUTHENTICATION_SCHEME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       265: .line 1811
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       266: .line 1812
            aload 5 /* sPropValue */
            ifnull 268
       267: .line 1813
            aload 0 /* this */
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.AuthenticationScheme.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.intAuthScheme:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
       268: .line 1817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.intAuthScheme:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            getstatic com.microsoft.sqlserver.jdbc.AuthenticationScheme.javaKerberos:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            if_acmpne 274
       269: .line 1818
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverObjectProperty.GSS_CREDENTIAL:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverObjectProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverObjectProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       270: .line 1819
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifeq 290
       271: .line 1820
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.ietf.jgss.GSSCredential
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
       272: .line 1821
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isUserCreatedCredential:Z
       273: .line 1823
            goto 290
      StackMap locals:
      StackMap stack:
       274: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.intAuthScheme:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            getstatic com.microsoft.sqlserver.jdbc.AuthenticationScheme.ntlm:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            if_acmpne 290
       275: .line 1824
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DOMAIN:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 13 /* sPropKeyDomain */
        start local 13 // java.lang.String sPropKeyDomain
       276: .line 1825
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 13 /* sPropKeyDomain */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* sPropValueDomain */
        start local 14 // java.lang.String sPropValueDomain
       277: .line 1826
            aload 14 /* sPropValueDomain */
            ifnonnull 281
       278: .line 1827
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 13 /* sPropKeyDomain */
       279: .line 1828
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DOMAIN:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
       280: .line 1827
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       281: .line 1832
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 284
       282: .line 1833
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       283: .line 1834
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 289
       284: .line 1836
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 288
       285: .line 1837
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       286: .line 1838
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "R_NtlmNoUserPasswordDomain"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       287: .line 1837
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       288: .line 1840
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_NtlmNoUserPasswordDomain"
            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
       289: .line 1842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmAuthentication:Z
        end local 14 // java.lang.String sPropValueDomain
        end local 13 // java.lang.String sPropKeyDomain
       290: .line 1845
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AUTHENTICATION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       291: .line 1846
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       292: .line 1847
            aload 5 /* sPropValue */
            ifnonnull 294
       293: .line 1848
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AUTHENTICATION:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       294: .line 1850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.SqlAuthentication.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
       295: .line 1852
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 304
       296: .line 1853
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.NotSpecified:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 304
       297: .line 1854
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 301
       298: .line 1855
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       299: .line 1856
            ldc "R_SetAuthenticationWhenIntegratedSecurityTrue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       300: .line 1855
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       301: .line 1858
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       302: .line 1859
            ldc "R_SetAuthenticationWhenIntegratedSecurityTrue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
       303: .line 1858
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       304: .line 1862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryIntegrated:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 316
       305: .line 1863
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       306: .line 1864
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 309
       307: .line 1865
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       308: .line 1866
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 316
       309: .line 1867
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 313
       310: .line 1868
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       311: .line 1869
            ldc "R_IntegratedAuthenticationWithUserPassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       312: .line 1868
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       313: .line 1871
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       314: .line 1872
            ldc "R_IntegratedAuthenticationWithUserPassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
       315: .line 1871
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       316: .line 1875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryPassword:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 328
       317: .line 1876
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       318: .line 1877
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 321
       319: .line 1878
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       320: .line 1879
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 328
       321: .line 1880
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 325
       322: .line 1881
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       323: .line 1882
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "R_NoUserPasswordForActivePassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       324: .line 1881
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       325: .line 1884
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_NoUserPasswordForActivePassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       326: .line 1885
            aconst_null
       327: .line 1884
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       328: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryMSI:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 340
       329: .line 1889
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       330: .line 1890
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 333
       331: .line 1891
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       332: .line 1892
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 340
       333: .line 1893
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 337
       334: .line 1894
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       335: .line 1895
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "R_MSIAuthenticationWithUserPassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       336: .line 1894
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       337: .line 1897
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_MSIAuthenticationWithUserPassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       338: .line 1898
            aconst_null
       339: .line 1897
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       340: .line 1901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryServicePrincipal:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 353
       341: .line 1902
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       342: .line 1903
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 346
       343: .line 1904
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       344: .line 1905
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_SECRET:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       345: .line 1906
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 353
       346: .line 1907
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 350
       347: .line 1908
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       348: .line 1909
            ldc "R_NoUserPasswordForActiveServicePrincipal"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       349: .line 1908
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       350: .line 1911
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       351: .line 1912
            ldc "R_NoUserPasswordForActiveServicePrincipal"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
       352: .line 1911
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       353: .line 1915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.SqlPassword:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 363
       354: .line 1916
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       355: .line 1917
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 358
       356: .line 1918
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       357: .line 1919
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 363
       358: .line 1920
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 362
       359: .line 1921
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       360: .line 1922
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "R_NoUserPasswordForSqlPassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       361: .line 1921
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       362: .line 1924
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_NoUserPasswordForSqlPassword"
            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
       363: .line 1927
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.ACCESS_TOKEN:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       364: .line 1928
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       365: .line 1929
            aload 5 /* sPropValue */
            ifnull 367
       366: .line 1930
            aload 0 /* this */
            aload 5 /* sPropValue */
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
       367: .line 1933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 372
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            arraylength
            ifne 372
       368: .line 1934
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 371
       369: .line 1935
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       370: .line 1936
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "R_AccessTokenCannotBeEmpty"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       371: .line 1938
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_AccessTokenCannotBeEmpty"
            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
       372: .line 1941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 380
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 380
       373: .line 1942
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 377
       374: .line 1943
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       375: .line 1944
            ldc "R_SetAccesstokenWhenIntegratedSecurityTrue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       376: .line 1943
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       377: .line 1946
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       378: .line 1947
            ldc "R_SetAccesstokenWhenIntegratedSecurityTrue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
       379: .line 1946
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       380: .line 1950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.NotSpecified:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 389
       381: .line 1951
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 389
       382: .line 1952
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 386
       383: .line 1953
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       384: .line 1954
            ldc "R_SetBothAuthenticationAndAccessToken"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       385: .line 1953
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       386: .line 1956
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_SetBothAuthenticationAndAccessToken"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       387: .line 1957
            aconst_null
       388: .line 1956
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       389: .line 1960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 398
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       390: .line 1961
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 393
       391: .line 1962
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       392: .line 1963
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 398
       393: .line 1964
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 397
       394: .line 1965
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       395: .line 1966
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "R_AccessTokenWithUserPassword"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       396: .line 1965
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       397: .line 1968
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_AccessTokenWithUserPassword"
            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
       398: .line 1972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.userSetTNIR:Z
            ifne 401
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.NotSpecified:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 400
       399: .line 1973
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 401
       400: .line 1974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transparentNetworkIPResolution:Z
       401: .line 1977
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.WORKSTATION_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       402: .line 1978
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       403: .line 1979
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.validateMaxSQLLoginName:(Ljava/lang/String;Ljava/lang/String;)V
       404: .line 1981
            iconst_0
            istore 13 /* nPort */
        start local 13 // int nPort
       405: .line 1982
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       406: .line 1984
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* strPort */
        start local 14 // java.lang.String strPort
       407: .line 1985
            aload 14 /* strPort */
            ifnull 418
       408: .line 1986
            aload 14 /* strPort */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* nPort */
       409: .line 1988
            iload 13 /* nPort */
            iflt 410
            iload 13 /* nPort */
            ldc 65535
            if_icmple 418
       410: .line 1989
      StackMap locals: int java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidPortNumber"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
       411: .line 1990
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 13 /* nPort */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            astore 16 /* msgArgs */
        start local 16 // java.lang.Object[] msgArgs
       412: .line 1991
            aload 0 /* this */
            aload 0 /* this */
            aload 15 /* form */
            aload 16 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 16 // java.lang.Object[] msgArgs
        end local 15 // java.text.MessageFormat form
        end local 14 // java.lang.String strPort
       413: .line 1994
            goto 418
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.NumberFormatException
       414: pop
       415: .line 1995
            new java.text.MessageFormat
            dup
            ldc "R_invalidPortNumber"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       416: .line 1996
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       417: .line 1997
            aload 0 /* this */
            aload 0 /* this */
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
       418: .line 2001
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PACKET_SIZE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       419: .line 2002
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       420: .line 2003
            aload 5 /* sPropValue */
            ifnull 434
            aload 5 /* sPropValue */
            invokevirtual java.lang.String.length:()I
            ifle 434
       421: .line 2005
            aload 0 /* this */
            aload 5 /* sPropValue */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
       422: .line 2008
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            if_icmpne 424
       423: .line 2009
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            goto 429
       424: .line 2012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            ifne 429
       425: .line 2013
            aload 0 /* this */
            sipush 32767
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
       426: .line 2014
            goto 429
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
       427: pop
       428: .line 2017
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
       429: .line 2020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            ifeq 434
       430: .line 2022
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            sipush 512
            if_icmplt 431
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            sipush 32767
            if_icmple 434
       431: .line 2023
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidPacketSize"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       432: .line 2024
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* sPropValue */
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       433: .line 2025
            aload 0 /* this */
            aload 0 /* this */
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
       434: .line 2034
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_STRING_PARAMETERS_AS_UNICODE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       435: .line 2035
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       436: .line 2036
            aload 4 /* sPropKey */
       437: .line 2035
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 439
       438: .line 2036
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_STRING_PARAMETERS_AS_UNICODE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            goto 440
       439: .line 2037
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
       440: .line 2035
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendStringParametersAsUnicode:Z
       441: .line 2039
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.LAST_UPDATE_COUNT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       442: .line 2040
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.lastUpdateCount:Z
       443: .line 2041
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.XOPEN_STATES:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       444: .line 2042
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.xopenStates:Z
       445: .line 2044
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.RESPONSE_BUFFERING:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       446: .line 2045
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 450
       447: .line 2046
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 450
       448: .line 2047
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
       449: .line 2048
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            goto 451
       450: .line 2049
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
            aconst_null
       451: .line 2045
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.responseBuffering:Ljava/lang/String;
       452: .line 2051
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOCK_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       453: .line 2052
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOCK_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 14 /* defaultLockTimeOut */
        start local 14 // int defaultLockTimeOut
       454: .line 2053
            aload 0 /* this */
            iload 14 /* defaultLockTimeOut */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nLockTimeout:I
       455: .line 2054
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 468
       456: .line 2055
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 468
       457: .line 2057
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* n */
        start local 15 // int n
       458: .line 2058
            iload 15 /* n */
            iload 14 /* defaultLockTimeOut */
            if_icmplt 460
       459: .line 2059
            aload 0 /* this */
            iload 15 /* n */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nLockTimeout:I
            goto 468
       460: .line 2061
      StackMap locals: int int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidLockTimeOut"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 16 /* form */
        start local 16 // java.text.MessageFormat form
       461: .line 2062
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 17 /* msgArgs */
        start local 17 // java.lang.Object[] msgArgs
       462: .line 2063
            aload 0 /* this */
            aload 0 /* this */
            aload 16 /* form */
            aload 17 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 17 // java.lang.Object[] msgArgs
        end local 16 // java.text.MessageFormat form
        end local 15 // int n
       463: .line 2065
            goto 468
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int int
      StackMap stack: java.lang.NumberFormatException
       464: pop
       465: .line 2066
            new java.text.MessageFormat
            dup
            ldc "R_invalidLockTimeOut"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
       466: .line 2067
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 16 /* msgArgs */
        start local 16 // java.lang.Object[] msgArgs
       467: .line 2068
            aload 0 /* this */
            aload 0 /* this */
            aload 15 /* form */
            aload 16 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 16 // java.lang.Object[] msgArgs
        end local 15 // java.text.MessageFormat form
       468: .line 2072
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.QUERY_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       469: .line 2073
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.QUERY_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 15 /* defaultQueryTimeout */
        start local 15 // int defaultQueryTimeout
       470: .line 2074
            aload 0 /* this */
            iload 15 /* defaultQueryTimeout */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.queryTimeoutSeconds:I
       471: .line 2075
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 487
       472: .line 2076
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 487
       473: .line 2078
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 16 /* n */
        start local 16 // int n
       474: .line 2079
            iload 16 /* n */
            iload 15 /* defaultQueryTimeout */
            if_icmplt 477
       475: .line 2080
            aload 0 /* this */
            iload 16 /* n */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.queryTimeoutSeconds:I
       476: .line 2081
            goto 487
       477: .line 2082
      StackMap locals: int int
      StackMap stack:
            new java.text.MessageFormat
            dup
       478: .line 2083
            ldc "R_invalidQueryTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       479: .line 2082
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 17 /* form */
        start local 17 // java.text.MessageFormat form
       480: .line 2084
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 18 /* msgArgs */
        start local 18 // java.lang.Object[] msgArgs
       481: .line 2085
            aload 0 /* this */
            aload 0 /* this */
            aload 17 /* form */
            aload 18 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 18 // java.lang.Object[] msgArgs
        end local 17 // java.text.MessageFormat form
        end local 16 // int n
       482: .line 2087
            goto 487
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int int int
      StackMap stack: java.lang.NumberFormatException
       483: pop
       484: .line 2088
            new java.text.MessageFormat
            dup
            ldc "R_invalidQueryTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 16 /* form */
        start local 16 // java.text.MessageFormat form
       485: .line 2089
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 17 /* msgArgs */
        start local 17 // java.lang.Object[] msgArgs
       486: .line 2090
            aload 0 /* this */
            aload 0 /* this */
            aload 16 /* form */
            aload 17 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 17 // java.lang.Object[] msgArgs
        end local 16 // java.text.MessageFormat form
       487: .line 2094
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.SOCKET_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       488: .line 2095
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.SOCKET_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 16 /* defaultSocketTimeout */
        start local 16 // int defaultSocketTimeout
       489: .line 2096
            aload 0 /* this */
            iload 16 /* defaultSocketTimeout */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketTimeoutMilliseconds:I
       490: .line 2097
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 506
       491: .line 2098
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 506
       492: .line 2100
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 17 /* n */
        start local 17 // int n
       493: .line 2101
            iload 17 /* n */
            iload 16 /* defaultSocketTimeout */
            if_icmplt 496
       494: .line 2102
            aload 0 /* this */
            iload 17 /* n */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketTimeoutMilliseconds:I
       495: .line 2103
            goto 506
       496: .line 2104
      StackMap locals: int int
      StackMap stack:
            new java.text.MessageFormat
            dup
       497: .line 2105
            ldc "R_invalidSocketTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       498: .line 2104
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
       499: .line 2106
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
       500: .line 2107
            aload 0 /* this */
            aload 0 /* this */
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
        end local 17 // int n
       501: .line 2109
            goto 506
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int int int int
      StackMap stack: java.lang.NumberFormatException
       502: pop
       503: .line 2110
            new java.text.MessageFormat
            dup
            ldc "R_invalidSocketTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 17 /* form */
        start local 17 // java.text.MessageFormat form
       504: .line 2111
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 18 /* msgArgs */
        start local 18 // java.lang.Object[] msgArgs
       505: .line 2112
            aload 0 /* this */
            aload 0 /* this */
            aload 17 /* form */
            aload 18 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 18 // java.lang.Object[] msgArgs
        end local 17 // java.text.MessageFormat form
       506: .line 2116
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.CANCEL_QUERY_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       507: .line 2117
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.CANCEL_QUERY_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 17 /* cancelQueryTimeout */
        start local 17 // int cancelQueryTimeout
       508: .line 2119
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 527
       509: .line 2120
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 527
       510: .line 2122
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 18 /* n */
        start local 18 // int n
       511: .line 2123
            iload 18 /* n */
            iload 17 /* cancelQueryTimeout */
            if_icmplt 515
       512: .line 2125
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.queryTimeoutSeconds:I
            iload 15 /* defaultQueryTimeout */
            if_icmple 527
       513: .line 2126
            aload 0 /* this */
            iload 18 /* n */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.cancelQueryTimeoutSeconds:I
       514: .line 2128
            goto 527
       515: .line 2129
      StackMap locals: int int
      StackMap stack:
            new java.text.MessageFormat
            dup
       516: .line 2130
            ldc "R_invalidCancelQueryTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       517: .line 2129
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 19 /* form */
        start local 19 // java.text.MessageFormat form
       518: .line 2131
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 20 /* msgArgs */
        start local 20 // java.lang.Object[] msgArgs
       519: .line 2132
            aload 0 /* this */
            aload 0 /* this */
            aload 19 /* form */
            aload 20 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 20 // java.lang.Object[] msgArgs
        end local 19 // java.text.MessageFormat form
        end local 18 // int n
       520: .line 2134
            goto 527
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int int int int int
      StackMap stack: java.lang.NumberFormatException
       521: pop
       522: .line 2135
            new java.text.MessageFormat
            dup
       523: .line 2136
            ldc "R_invalidCancelQueryTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       524: .line 2135
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
       525: .line 2137
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
       526: .line 2138
            aload 0 /* this */
            aload 0 /* this */
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
       527: .line 2142
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.SERVER_PREPARED_STATEMENT_DISCARD_THRESHOLD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       528: .line 2143
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 539
       529: .line 2144
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 539
       530: .line 2146
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 18 /* n */
        start local 18 // int n
       531: .line 2147
            aload 0 /* this */
            iload 18 /* n */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setServerPreparedStatementDiscardThreshold:(I)V
        end local 18 // int n
       532: .line 2148
            goto 539
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
       533: pop
       534: .line 2149
            new java.text.MessageFormat
            dup
       535: .line 2150
            ldc "R_serverPreparedStatementDiscardThreshold"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       536: .line 2149
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
       537: .line 2151
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
       538: .line 2152
            aload 0 /* this */
            aload 0 /* this */
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
       539: .line 2156
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.ENABLE_PREPARE_ON_FIRST_PREPARED_STATEMENT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       540: .line 2157
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       541: .line 2158
            aload 5 /* sPropValue */
            ifnull 543
       542: .line 2159
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setEnablePrepareOnFirstPreparedStatementCall:(Z)V
       543: .line 2162
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.USE_BULK_COPY_FOR_BATCH_INSERT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       544: .line 2163
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       545: .line 2164
            aload 5 /* sPropValue */
            ifnull 547
       546: .line 2165
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useBulkCopyForBatchInsert:Z
       547: .line 2168
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SSL_PROTOCOL:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       548: .line 2169
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       549: .line 2170
            aload 5 /* sPropValue */
            ifnonnull 553
       550: .line 2171
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SSL_PROTOCOL:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.getDefaultValue:()Ljava/lang/String;
            astore 5 /* sPropValue */
       551: .line 2172
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       552: .line 2173
            goto 554
       553: .line 2174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.SSLProtocol.valueOfString:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SSLProtocol;
            invokevirtual com.microsoft.sqlserver.jdbc.SSLProtocol.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       554: .line 2177
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.MSI_CLIENT_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       555: .line 2178
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       556: .line 2179
            aload 5 /* sPropValue */
            ifnull 558
       557: .line 2180
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       558: .line 2183
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.CLIENT_CERTIFICATE:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       559: .line 2184
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       560: .line 2185
            aload 5 /* sPropValue */
            ifnull 563
       561: .line 2186
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       562: .line 2187
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
       563: .line 2190
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.CLIENT_KEY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       564: .line 2191
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       565: .line 2192
            aload 5 /* sPropValue */
            ifnull 568
       566: .line 2193
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       567: .line 2194
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKey:Ljava/lang/String;
       568: .line 2197
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.CLIENT_KEY_PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       569: .line 2198
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       570: .line 2199
            aload 5 /* sPropValue */
            ifnull 573
       571: .line 2200
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       572: .line 2201
            aload 0 /* this */
            aload 5 /* sPropValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKeyPassword:Ljava/lang/String;
       573: .line 2204
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.SEND_TEMPORAL_DATATYPES_AS_STRING_FOR_BULK_COPY:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       574: .line 2205
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       575: .line 2206
            aload 5 /* sPropValue */
            ifnull 577
       576: .line 2207
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTemporalDataTypesAsStringForBulkCopy:Z
       577: .line 2210
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.MAX_RESULT_BUFFER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       578: .line 2211
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       579: .line 2212
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
       580: .line 2213
            aload 5 /* sPropValue */
            invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.validateMaxResultBuffer:(Ljava/lang/String;)J
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
       581: .line 2212
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       582: .line 2215
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.DELAY_LOADING_LOBS:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.toString:()Ljava/lang/String;
            astore 4 /* sPropKey */
       583: .line 2216
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPropValue */
       584: .line 2217
            aload 5 /* sPropValue */
            ifnonnull 587
       585: .line 2218
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.DELAY_LOADING_LOBS:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverBooleanProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverBooleanProperty.getDefaultValue:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 5 /* sPropValue */
       586: .line 2219
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       587: .line 2221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* sPropKey */
            aload 5 /* sPropValue */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isBooleanPropertyOn:(Ljava/lang/String;Ljava/lang/String;)Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
       588: .line 2223
            aconst_null
            astore 18 /* fo */
        start local 18 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
       589: .line 2224
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 19 /* databaseNameProperty */
        start local 19 // java.lang.String databaseNameProperty
       590: .line 2225
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 20 /* serverNameProperty */
        start local 20 // java.lang.String serverNameProperty
       591: .line 2226
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.FAILOVER_PARTNER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 21 /* failOverPartnerProperty */
        start local 21 // java.lang.String failOverPartnerProperty
       592: .line 2227
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 21 /* failOverPartnerProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 22 /* failOverPartnerPropertyValue */
        start local 22 // java.lang.String failOverPartnerPropertyValue
       593: .line 2230
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
            ifeq 597
            aload 22 /* failOverPartnerPropertyValue */
            ifnull 597
       594: .line 2231
            aload 0 /* this */
            aload 0 /* this */
       595: .line 2232
            ldc "R_dbMirroringWithMultiSubnetFailover"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
       596: .line 2231
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
       597: .line 2237
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int int int int int com.microsoft.sqlserver.jdbc.FailoverInfo java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
            ifne 598
            aload 22 /* failOverPartnerPropertyValue */
            ifnull 600
      StackMap locals:
      StackMap stack:
       598: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.userSetTNIR:Z
            ifne 600
       599: .line 2238
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transparentNetworkIPResolution:Z
       600: .line 2242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            ifnull 605
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            getstatic com.microsoft.sqlserver.jdbc.ApplicationIntent.READ_ONLY:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            invokevirtual com.microsoft.sqlserver.jdbc.ApplicationIntent.equals:(Ljava/lang/Object;)Z
            ifeq 605
       601: .line 2243
            aload 22 /* failOverPartnerPropertyValue */
            ifnull 605
       602: .line 2244
            aload 0 /* this */
            aload 0 /* this */
       603: .line 2245
            ldc "R_dbMirroringWithReadOnlyIntent"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
       604: .line 2244
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
       605: .line 2249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 19 /* databaseNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 612
       606: .line 2251
            aload 0 /* this */
       607: .line 2252
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 20 /* serverNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       608: .line 2253
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 11 /* instanceNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       609: .line 2254
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 19 /* databaseNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       610: .line 2251
            invokestatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.getFailoverInfo:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
            astore 18 /* fo */
       611: .line 2255
            goto 616
       612: .line 2257
      StackMap locals:
      StackMap stack:
            aload 22 /* failOverPartnerPropertyValue */
            ifnull 616
       613: .line 2258
            aload 0 /* this */
            aload 0 /* this */
       614: .line 2259
            ldc "R_failoverPartnerWithoutDB"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_1
       615: .line 2258
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
       616: .line 2262
      StackMap locals:
      StackMap stack:
            aload 18 /* fo */
            ifnonnull 617
            aload 22 /* failOverPartnerPropertyValue */
            goto 618
      StackMap locals:
      StackMap stack:
       617: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
       618: astore 23 /* mirror */
        start local 23 // java.lang.String mirror
       619: .line 2264
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 24 /* startTime */
        start local 24 // long startTime
       620: .line 2265
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 20 /* serverNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* instanceValue */
            iload 13 /* nPort */
            aload 23 /* mirror */
            aload 18 /* fo */
       621: .line 2266
            iload 6 /* loginTimeoutSeconds */
            lload 24 /* startTime */
       622: .line 2265
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.login:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Lcom/microsoft/sqlserver/jdbc/FailoverInfo;IJ)V
       623: .line 2270
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 624
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpne 636
       624: .line 2272
      StackMap locals: java.lang.String long
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.Util.isIBM:()Z
            ifeq 625
            sipush 8192
            goto 626
      StackMap locals:
      StackMap stack:
       625: sipush 16384
      StackMap locals:
      StackMap stack: int
       626: istore 26 /* sslRecordSize */
        start local 26 // int sslRecordSize
       627: .line 2274
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize:I
            iload 26 /* sslRecordSize */
            if_icmple 636
       628: .line 2275
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 633
       629: .line 2276
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Negotiated tdsPacketSize "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       630: .line 2277
            ldc " is too large for SSL with JRE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.microsoft.sqlserver.jdbc.Util.SYSTEM_JRE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (max size is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 26 /* sslRecordSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       631: .line 2278
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       632: .line 2276
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       633: .line 2280
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_packetSizeTooBigForSSL"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 27 /* form */
        start local 27 // java.text.MessageFormat form
       634: .line 2281
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 26 /* sslRecordSize */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            astore 28 /* msgArgs */
        start local 28 // java.lang.Object[] msgArgs
       635: .line 2282
            aload 0 /* this */
            bipush 6
            aload 27 /* form */
            aload 28 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 28 // java.lang.Object[] msgArgs
        end local 27 // java.text.MessageFormat form
        end local 26 // int sslRecordSize
       636: .line 2286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Opened:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
       637: .line 2288
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 645
       638: .line 2289
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " End of connect"
            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
        end local 24 // long startTime
        end local 23 // java.lang.String mirror
        end local 22 // java.lang.String failOverPartnerPropertyValue
        end local 21 // java.lang.String failOverPartnerProperty
        end local 20 // java.lang.String serverNameProperty
        end local 19 // java.lang.String databaseNameProperty
        end local 18 // com.microsoft.sqlserver.jdbc.FailoverInfo fo
        end local 17 // int cancelQueryTimeout
        end local 16 // int defaultSocketTimeout
        end local 15 // int defaultQueryTimeout
        end local 14 // int defaultLockTimeOut
        end local 13 // int nPort
        end local 12 // java.lang.String instanceValueFromProp
        end local 11 // java.lang.String instanceNameProperty
        end local 10 // java.lang.String instanceValue
        end local 9 // int px
        end local 8 // java.lang.String sPropValuePort
        end local 7 // java.lang.String sPropKeyPort
        end local 6 // int loginTimeoutSeconds
        end local 5 // java.lang.String sPropValue
        end local 4 // java.lang.String sPropKey
        end local 3 // java.lang.String hostNameInCertificate
       639: .line 2291
            goto 645
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection
      StackMap stack: java.lang.Throwable
       640: astore 29
       641: .line 2294
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Opened:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifne 644
       642: .line 2296
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Closed:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifne 644
       643: .line 2297
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
       644: .line 2299
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection top top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 29
            athrow
       645: .line 2294
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.Properties com.microsoft.sqlserver.jdbc.SQLServerPooledConnection
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Opened:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifne 648
       646: .line 2296
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Closed:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifne 648
       647: .line 2297
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
       648: .line 2301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerPooledConnection pooledConnection
        end local 1 // java.util.Properties propsIn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                                       Name  Signature
            0  649     0                                       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0  649     1                                    propsIn  Ljava/util/Properties;
            0  649     2                           pooledConnection  Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
            5  639     3                      hostNameInCertificate  Ljava/lang/String;
           15  639     4                                   sPropKey  Ljava/lang/String;
           16  639     5                                 sPropValue  Ljava/lang/String;
           30  639     6                        loginTimeoutSeconds  I
           36   38     7                                       form  Ljava/text/MessageFormat;
           37   38     8                                    msgArgs  [Ljava/lang/Object;
           40   42     7                                       form  Ljava/text/MessageFormat;
           41   42     8                                    msgArgs  [Ljava/lang/Object;
           53  639     7                               sPropKeyPort  Ljava/lang/String;
           54  639     8                             sPropValuePort  Ljava/lang/String;
           55  639     9                                         px  I
           56  639    10                              instanceValue  Ljava/lang/String;
           57  639    11                       instanceNameProperty  Ljava/lang/String;
           66   71    12                                         ex  Ljava/lang/IllegalArgumentException;
           69   71    13                                       form  Ljava/text/MessageFormat;
           70   71    14                                    msgArgs  [Ljava/lang/Object;
           73  639    12                      instanceValueFromProp  Ljava/lang/String;
          143  150    13   keyVaultColumnEncryptionProviderClientId  Ljava/lang/String;
          147  150    14  keyVaultColumnEncryptionProviderClientKey  Ljava/lang/String;
          201  203    13                                       form  Ljava/text/MessageFormat;
          202  203    14                                    msgArgs  [Ljava/lang/Object;
          211  213    13                                       form  Ljava/text/MessageFormat;
          212  213    14                                    msgArgs  [Ljava/lang/Object;
          235  236    13                                          n  I
          241  243    13                                       form  Ljava/text/MessageFormat;
          242  243    14                                    msgArgs  [Ljava/lang/Object;
          276  290    13                             sPropKeyDomain  Ljava/lang/String;
          277  290    14                           sPropValueDomain  Ljava/lang/String;
          405  639    13                                      nPort  I
          407  413    14                                    strPort  Ljava/lang/String;
          411  413    15                                       form  Ljava/text/MessageFormat;
          412  413    16                                    msgArgs  [Ljava/lang/Object;
          416  418    14                                       form  Ljava/text/MessageFormat;
          417  418    15                                    msgArgs  [Ljava/lang/Object;
          432  434    14                                       form  Ljava/text/MessageFormat;
          433  434    15                                    msgArgs  [Ljava/lang/Object;
          454  639    14                         defaultLockTimeOut  I
          458  463    15                                          n  I
          461  463    16                                       form  Ljava/text/MessageFormat;
          462  463    17                                    msgArgs  [Ljava/lang/Object;
          466  468    15                                       form  Ljava/text/MessageFormat;
          467  468    16                                    msgArgs  [Ljava/lang/Object;
          470  639    15                        defaultQueryTimeout  I
          474  482    16                                          n  I
          480  482    17                                       form  Ljava/text/MessageFormat;
          481  482    18                                    msgArgs  [Ljava/lang/Object;
          485  487    16                                       form  Ljava/text/MessageFormat;
          486  487    17                                    msgArgs  [Ljava/lang/Object;
          489  639    16                       defaultSocketTimeout  I
          493  501    17                                          n  I
          499  501    18                                       form  Ljava/text/MessageFormat;
          500  501    19                                    msgArgs  [Ljava/lang/Object;
          504  506    17                                       form  Ljava/text/MessageFormat;
          505  506    18                                    msgArgs  [Ljava/lang/Object;
          508  639    17                         cancelQueryTimeout  I
          511  520    18                                          n  I
          518  520    19                                       form  Ljava/text/MessageFormat;
          519  520    20                                    msgArgs  [Ljava/lang/Object;
          525  527    18                                       form  Ljava/text/MessageFormat;
          526  527    19                                    msgArgs  [Ljava/lang/Object;
          531  532    18                                          n  I
          537  539    18                                       form  Ljava/text/MessageFormat;
          538  539    19                                    msgArgs  [Ljava/lang/Object;
          589  639    18                                         fo  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
          590  639    19                       databaseNameProperty  Ljava/lang/String;
          591  639    20                         serverNameProperty  Ljava/lang/String;
          592  639    21                    failOverPartnerProperty  Ljava/lang/String;
          593  639    22               failOverPartnerPropertyValue  Ljava/lang/String;
          619  639    23                                     mirror  Ljava/lang/String;
          620  639    24                                  startTime  J
          627  636    26                              sslRecordSize  I
          634  636    27                                       form  Ljava/text/MessageFormat;
          635  636    28                                    msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          32    33      34  Class java.lang.NumberFormatException
          63    64      65  Class java.lang.IllegalArgumentException
         234   236     237  Class java.lang.NumberFormatException
         406   413     414  Class java.lang.NumberFormatException
         421   426     427  Class java.lang.NumberFormatException
         457   463     464  Class java.lang.NumberFormatException
         473   482     483  Class java.lang.NumberFormatException
         492   501     502  Class java.lang.NumberFormatException
         510   520     521  Class java.lang.NumberFormatException
         530   532     533  Class java.lang.NumberFormatException
           0   640     640  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      propsIn           
      pooledConnection  

  private void login(java.lang.String, java.lang.String, int, java.lang.String, com.microsoft.sqlserver.jdbc.FailoverInfo, int, long);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Lcom/microsoft/sqlserver/jdbc/FailoverInfo;IJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=33, args_size=8
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String primary
        start local 2 // java.lang.String primaryInstanceName
        start local 3 // int primaryPortNumber
        start local 4 // java.lang.String mirror
        start local 5 // com.microsoft.sqlserver.jdbc.FailoverInfo foActual
        start local 6 // int timeout
        start local 7 // long timerStart
         0: .line 2314
            aload 4 /* mirror */
            ifnonnull 1
            aload 5 /* foActual */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 9 /* isDBMirroring */
        start local 9 // boolean isDBMirroring
         3: .line 2315
            bipush 100
            istore 10 /* sleepInterval */
        start local 10 // int sleepInterval
         4: .line 2318
            iconst_0
            istore 13 /* useFailoverHost */
        start local 13 // boolean useFailoverHost
         5: .line 2319
            aconst_null
            astore 14 /* tempFailover */
        start local 14 // com.microsoft.sqlserver.jdbc.FailoverInfo tempFailover
         6: .line 2321
            aconst_null
            astore 15 /* currentFOPlaceHolder */
        start local 15 // com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder currentFOPlaceHolder
         7: .line 2323
            aconst_null
            astore 16 /* currentPrimaryPlaceHolder */
        start local 16 // com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder currentPrimaryPlaceHolder
         8: .line 2325
            aload 5 /* foActual */
            ifnull 12
         9: .line 2326
            aload 5 /* foActual */
            astore 14 /* tempFailover */
        10: .line 2327
            aload 5 /* foActual */
            invokevirtual com.microsoft.sqlserver.jdbc.FailoverInfo.getUseFailoverPartner:()Z
            istore 13 /* useFailoverHost */
        11: .line 2328
            goto 14
        12: .line 2329
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int top top int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder
      StackMap stack:
            iload 9 /* isDBMirroring */
            ifeq 14
        13: .line 2331
            new com.microsoft.sqlserver.jdbc.FailoverInfo
            dup
            aload 4 /* mirror */
            aload 0 /* this */
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.FailoverInfo.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Z)V
            astore 14 /* tempFailover */
        14: .line 2338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getMultiSubnetFailover:()Z
            istore 17 /* useParallel */
        start local 17 // boolean useParallel
        15: .line 2339
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransparentNetworkIPResolution:()Z
            istore 18 /* useTnir */
        start local 18 // boolean useTnir
        16: .line 2343
            iload 6 /* timeout */
            ifne 18
        17: .line 2344
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOGIN_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 6 /* timeout */
        18: .line 2346
      StackMap locals: int int
      StackMap stack:
            iload 6 /* timeout */
            i2l
            ldc 1000
            lmul
            lstore 21 /* timerTimeout */
        start local 21 // long timerTimeout
        19: .line 2347
            aload 0 /* this */
            lload 7 /* timerStart */
            lload 21 /* timerTimeout */
            ladd
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
        20: .line 2351
            iload 9 /* isDBMirroring */
            ifne 21
            iload 17 /* useParallel */
            ifeq 23
        21: .line 2352
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int top top int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int top top long
      StackMap stack:
            ldc 0.08
            lload 21 /* timerTimeout */
            l2f
            fmul
            f2l
            lstore 11 /* timeoutUnitInterval */
        start local 11 // long timeoutUnitInterval
        22: .line 2353
            goto 27
        end local 11 // long timeoutUnitInterval
      StackMap locals:
      StackMap stack:
        23: iload 18 /* useTnir */
            ifeq 26
        24: .line 2354
            ldc 0.125
            lload 21 /* timerTimeout */
            l2f
            fmul
            f2l
            lstore 11 /* timeoutUnitInterval */
        start local 11 // long timeoutUnitInterval
        25: .line 2355
            goto 27
        end local 11 // long timeoutUnitInterval
        26: .line 2356
      StackMap locals:
      StackMap stack:
            lload 21 /* timerTimeout */
            lstore 11 /* timeoutUnitInterval */
        start local 11 // long timeoutUnitInterval
        27: .line 2358
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int long int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int top top long
      StackMap stack:
            lload 7 /* timerStart */
            lload 11 /* timeoutUnitInterval */
            ladd
            lstore 19 /* intervalExpire */
        start local 19 // long intervalExpire
        28: .line 2362
            lload 7 /* timerStart */
            lload 21 /* timerTimeout */
            ladd
            lstore 23 /* intervalExpireFullTimeout */
        start local 23 // long intervalExpireFullTimeout
        29: .line 2364
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 33
        30: .line 2365
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Start time: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 7 /* timerStart */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " Time out time: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        31: .line 2366
            ldc " Timeout Unit Interval: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 11 /* timeoutUnitInterval */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2365
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        33: .line 2370
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int long int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int long long long
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryInteractive:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
        34: .line 2371
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
        35: .line 2370
            istore 25 /* isInteractive */
        start local 25 // boolean isInteractive
        36: .line 2374
            iconst_0
            istore 26 /* attemptNumber */
        start local 26 // int attemptNumber
        37: .line 2377
            iconst_0
            istore 27 /* noOfRedirections */
        start local 27 // int noOfRedirections
        38: .line 2387
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
        39: .line 2388
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Initialized:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
        40: .line 2391
            iload 9 /* isDBMirroring */
            ifeq 45
            iload 13 /* useFailoverHost */
            ifeq 45
        41: .line 2392
            aload 15 /* currentFOPlaceHolder */
            ifnonnull 43
        42: .line 2394
            aload 14 /* tempFailover */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            invokevirtual com.microsoft.sqlserver.jdbc.FailoverInfo.failoverPermissionCheck:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Z)Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            astore 15 /* currentFOPlaceHolder */
        43: .line 2396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* currentFOPlaceHolder */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
        44: .line 2397
            goto 54
        45: .line 2398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            ifnull 49
        46: .line 2399
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            astore 16 /* currentPrimaryPlaceHolder */
        47: .line 2400
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
        48: .line 2401
            goto 53
      StackMap locals:
      StackMap stack:
        49: aload 16 /* currentPrimaryPlaceHolder */
            ifnonnull 53
        50: .line 2402
            aload 0 /* this */
            aload 1 /* primary */
            aload 2 /* primaryInstanceName */
        51: .line 2403
            iload 3 /* primaryPortNumber */
        52: .line 2402
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck:(Ljava/lang/String;Ljava/lang/String;I)Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            astore 16 /* currentPrimaryPlaceHolder */
        53: .line 2405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 16 /* currentPrimaryPlaceHolder */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
        54: .line 2408
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 62
        55: .line 2409
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        56: .line 2410
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " This attempt server name: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        57: .line 2411
            ldc " port: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " InstanceName: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 2412
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getInstanceName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " useParallel: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 17 /* useParallel */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        59: .line 2410
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        60: .line 2413
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " This attempt endtime: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 19 /* intervalExpire */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        61: .line 2414
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " This attempt No: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 26 /* attemptNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        62: .line 2418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
        63: .line 2419
            lload 19 /* intervalExpire */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerRemaining:(J)I
            iload 6 /* timeout */
            iload 17 /* useParallel */
            iload 18 /* useTnir */
            iload 26 /* attemptNumber */
            ifne 64
            iconst_1
            goto 65
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int long int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int long long long int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int int int
        64: iconst_0
        65: .line 2422
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int long int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int long long long int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int int int int
            lload 23 /* intervalExpireFullTimeout */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerRemaining:(J)I
        66: .line 2418
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper:(Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;IIZZZI)Ljava/net/InetSocketAddress;
            astore 28 /* inetSocketAddress */
        start local 28 // java.net.InetSocketAddress inetSocketAddress
        67: .line 2424
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDNSCaching:Z
            ifeq 69
        68: .line 2425
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            aload 28 /* inetSocketAddress */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        69: .line 2428
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isRoutedInCurrentAttempt:Z
            ifeq 158
        70: .line 2430
            iload 9 /* isDBMirroring */
            ifeq 73
        71: .line 2431
            ldc "R_invalidRoutingInfo"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            astore 29 /* msg */
        start local 29 // java.lang.String msg
        72: .line 2432
            aload 0 /* this */
            bipush 6
            aload 29 /* msg */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 29 // java.lang.String msg
        73: .line 2435
      StackMap locals:
      StackMap stack:
            iinc 27 /* noOfRedirections */ 1
        74: .line 2437
            iload 27 /* noOfRedirections */
            iconst_1
            if_icmple 77
        75: .line 2438
            ldc "R_multipleRedirections"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            astore 29 /* msg */
        start local 29 // java.lang.String msg
        76: .line 2439
            aload 0 /* this */
            bipush 6
            aload 29 /* msg */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 29 // java.lang.String msg
        77: .line 2443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            ifnull 79
        78: .line 2444
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.close:()V
        79: .line 2446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.initResettableValues:()V
        80: .line 2450
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.resetNonRoutingEnvchangeValues:()V
        81: .line 2456
            iinc 26 /* attemptNumber */ 1
        82: .line 2459
            iconst_0
            istore 17 /* useParallel */
        83: .line 2460
            iconst_0
            istore 18 /* useTnir */
        84: .line 2464
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            lstore 19 /* intervalExpire */
        85: .line 2467
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerHasExpired:(J)Z
            ifeq 96
        86: .line 2468
            new java.text.MessageFormat
            dup
        87: .line 2469
            ldc "R_tcpipConnectionFailed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        88: .line 2468
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 29 /* form */
        start local 29 // java.text.MessageFormat form
        89: .line 2470
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerNameString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        90: .line 2471
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
        91: .line 2472
            ldc "R_timedOutBeforeRouting"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        92: .line 2470
            astore 30 /* msgArgs */
        start local 30 // java.lang.Object[] msgArgs
        93: .line 2473
            aload 29 /* form */
            aload 30 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            astore 31 /* msg */
        start local 31 // java.lang.String msg
        94: .line 2474
            aload 0 /* this */
            bipush 6
            aload 31 /* msg */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 31 // java.lang.String msg
        end local 30 // java.lang.Object[] msgArgs
        end local 29 // java.text.MessageFormat form
        95: .line 2475
            goto 119
        96: .line 2477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isRoutedInCurrentAttempt:Z
        97: .line 2479
            goto 38
        end local 28 // java.net.InetSocketAddress inetSocketAddress
        98: .line 2483
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String int java.lang.String com.microsoft.sqlserver.jdbc.FailoverInfo int long int int long int com.microsoft.sqlserver.jdbc.FailoverInfo com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int long long long int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
            astore 28 /* sqlex */
        start local 28 // com.microsoft.sqlserver.jdbc.SQLServerException sqlex
        99: .line 2484
            aload 28 /* sqlex */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getErrorCode:()I
            istore 29 /* errorCode */
        start local 29 // int errorCode
       100: .line 2485
            aload 28 /* sqlex */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getDriverErrorCode:()I
            istore 30 /* driverErrorCode */
        start local 30 // int driverErrorCode
       101: .line 2486
            sipush 18456
            iload 29 /* errorCode */
            if_icmpeq 111
       102: .line 2487
            sipush 18488
            iload 29 /* errorCode */
            if_icmpeq 111
       103: .line 2488
            sipush 18486
            iload 29 /* errorCode */
            if_icmpeq 111
       104: .line 2489
            iconst_4
            iload 30 /* driverErrorCode */
            if_icmpeq 111
       105: .line 2490
            iconst_5
            iload 30 /* driverErrorCode */
            if_icmpeq 111
       106: .line 2491
            bipush 7
            iload 30 /* driverErrorCode */
            if_icmpeq 111
       107: .line 2492
            bipush 6
            iload 30 /* driverErrorCode */
            if_icmpeq 111
       108: .line 2495
            bipush 8
            iload 30 /* driverErrorCode */
            if_icmpeq 111
       109: .line 2496
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerHasExpired:(J)Z
            ifeq 110
            iload 25 /* isInteractive */
            ifeq 111
       110: .line 2498
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerException int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Connected:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifeq 113
            iload 9 /* isDBMirroring */
            ifne 113
       111: .line 2500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
       112: .line 2501
            aload 28 /* sqlex */
            athrow
       113: .line 2505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            ifnull 115
       114: .line 2506
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.close:()V
       115: .line 2512
      StackMap locals:
      StackMap stack:
            iload 9 /* isDBMirroring */
            ifeq 116
            iconst_1
            iload 26 /* attemptNumber */
            iconst_2
            irem
            if_icmpne 119
       116: .line 2515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerRemaining:(J)I
            i2l
            lstore 31 /* remainingMilliseconds */
        start local 31 // long remainingMilliseconds
       117: .line 2516
            lload 31 /* remainingMilliseconds */
            iload 10 /* sleepInterval */
            i2l
            lcmp
            ifgt 119
            iload 25 /* isInteractive */
            ifne 119
       118: .line 2517
            aload 28 /* sqlex */
            athrow
        end local 31 // long remainingMilliseconds
        end local 30 // int driverErrorCode
        end local 29 // int errorCode
        end local 28 // com.microsoft.sqlserver.jdbc.SQLServerException sqlex
       119: .line 2527
      StackMap locals:
      StackMap stack:
            iload 9 /* isDBMirroring */
            ifeq 120
            iconst_1
            iload 26 /* attemptNumber */
            iconst_2
            irem
            if_icmpne 129
       120: .line 2528
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 122
       121: .line 2529
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " sleeping milisec: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 10 /* sleepInterval */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
       122: .line 2532
      StackMap locals:
      StackMap stack:
            iload 10 /* sleepInterval */
            i2l
            invokestatic java.lang.Thread.sleep:(J)V
       123: .line 2533
            goto 126
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
       124: pop
       125: .line 2535
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
       126: .line 2537
      StackMap locals:
      StackMap stack:
            iload 10 /* sleepInterval */
            sipush 500
            if_icmpge 127
            iload 10 /* sleepInterval */
            iconst_2
            imul
            goto 128
      StackMap locals:
      StackMap stack:
       127: sipush 1000
      StackMap locals:
      StackMap stack: int
       128: istore 10 /* sleepInterval */
       129: .line 2541
      StackMap locals:
      StackMap stack:
            iinc 26 /* attemptNumber */ 1
       130: .line 2543
            iload 17 /* useParallel */
            ifeq 133
       131: .line 2544
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 11 /* timeoutUnitInterval */
            iload 26 /* attemptNumber */
            iconst_1
            iadd
            i2l
            lmul
            ladd
            lstore 19 /* intervalExpire */
       132: .line 2545
            goto 151
      StackMap locals:
      StackMap stack:
       133: iload 9 /* isDBMirroring */
            ifeq 136
       134: .line 2546
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 11 /* timeoutUnitInterval */
            iload 26 /* attemptNumber */
            iconst_2
            idiv
            iconst_1
            iadd
            i2l
            lmul
            ladd
            lstore 19 /* intervalExpire */
       135: .line 2547
            goto 151
      StackMap locals:
      StackMap stack:
       136: iload 25 /* isInteractive */
            ifeq 144
       137: .line 2549
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 7 /* timerStart */
       138: .line 2550
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.LOGIN_TIMEOUT:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            istore 6 /* timeout */
       139: .line 2551
            iload 6 /* timeout */
            i2l
            ldc 1000
            lmul
            lstore 21 /* timerTimeout */
       140: .line 2552
            aload 0 /* this */
            lload 7 /* timerStart */
            lload 21 /* timerTimeout */
            ladd
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
       141: .line 2553
            lload 7 /* timerStart */
            lload 11 /* timeoutUnitInterval */
            ladd
            lstore 19 /* intervalExpire */
       142: .line 2554
            lload 7 /* timerStart */
            lload 21 /* timerTimeout */
            ladd
            lstore 23 /* intervalExpireFullTimeout */
       143: .line 2555
            goto 151
      StackMap locals:
      StackMap stack:
       144: iload 18 /* useTnir */
            ifeq 150
       145: .line 2556
            lload 11 /* timeoutUnitInterval */
            iconst_1
            iload 26 /* attemptNumber */
            ishl
            i2l
            lmul
            lstore 28 /* timeSlice */
        start local 28 // long timeSlice
       146: .line 2559
            iconst_1
            iload 26 /* attemptNumber */
            if_icmpne 148
            ldc 500
            lload 28 /* timeSlice */
            lcmp
            ifle 148
       147: .line 2560
            ldc 500
            lstore 28 /* timeSlice */
       148: .line 2563
      StackMap locals: long
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 28 /* timeSlice */
            ladd
            lstore 19 /* intervalExpire */
        end local 28 // long timeSlice
       149: .line 2564
            goto 151
       150: .line 2565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            lstore 19 /* intervalExpire */
       151: .line 2569
      StackMap locals:
      StackMap stack:
            lload 19 /* intervalExpire */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            lcmp
            ifle 153
       152: .line 2570
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            lstore 19 /* intervalExpire */
       153: .line 2574
      StackMap locals:
      StackMap stack:
            iload 9 /* isDBMirroring */
            ifeq 38
       154: .line 2575
            iload 13 /* useFailoverHost */
            ifeq 155
            iconst_0
            goto 156
      StackMap locals:
      StackMap stack:
       155: iconst_1
      StackMap locals:
      StackMap stack: int
       156: istore 13 /* useFailoverHost */
       157: .line 2386
            goto 38
       158: .line 2581
      StackMap locals:
      StackMap stack:
            iload 13 /* useFailoverHost */
            ifeq 169
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
            ifnonnull 169
       159: .line 2582
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            astore 28 /* curserverinfo */
        start local 28 // java.lang.String curserverinfo
       160: .line 2583
            aload 15 /* currentFOPlaceHolder */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getInstanceName:()Ljava/lang/String;
            ifnull 163
       161: .line 2584
            new java.lang.StringBuilder
            dup
            aload 28 /* curserverinfo */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 28 /* curserverinfo */
       162: .line 2585
            new java.lang.StringBuilder
            dup
            aload 28 /* curserverinfo */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* currentFOPlaceHolder */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getInstanceName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 28 /* curserverinfo */
       163: .line 2587
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidPartnerConfiguration"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 29 /* form */
        start local 29 // java.text.MessageFormat form
       164: .line 2588
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       165: .line 2589
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
       166: .line 2590
            aload 28 /* curserverinfo */
            aastore
       167: .line 2588
            astore 30 /* msgArgs */
        start local 30 // java.lang.Object[] msgArgs
       168: .line 2591
            aload 0 /* this */
            bipush 6
            aload 29 /* form */
            aload 30 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 30 // java.lang.Object[] msgArgs
        end local 29 // java.text.MessageFormat form
        end local 28 // java.lang.String curserverinfo
       169: .line 2594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
            ifnull 197
       170: .line 2596
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
            ifeq 173
       171: .line 2597
            ldc "R_dbMirroringWithMultiSubnetFailover"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            astore 28 /* msg */
        start local 28 // java.lang.String msg
       172: .line 2598
            aload 0 /* this */
            bipush 6
            aload 28 /* msg */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 28 // java.lang.String msg
       173: .line 2602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            ifnull 176
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            getstatic com.microsoft.sqlserver.jdbc.ApplicationIntent.READ_ONLY:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            invokevirtual com.microsoft.sqlserver.jdbc.ApplicationIntent.equals:(Ljava/lang/Object;)Z
            ifeq 176
       174: .line 2603
            ldc "R_dbMirroringWithReadOnlyIntent"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            astore 28 /* msg */
        start local 28 // java.lang.String msg
       175: .line 2604
            aload 0 /* this */
            bipush 6
            aload 28 /* msg */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 28 // java.lang.String msg
       176: .line 2607
      StackMap locals:
      StackMap stack:
            aload 14 /* tempFailover */
            ifnonnull 178
       177: .line 2608
            new com.microsoft.sqlserver.jdbc.FailoverInfo
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
            aload 0 /* this */
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.FailoverInfo.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Z)V
            astore 14 /* tempFailover */
       178: .line 2611
      StackMap locals:
      StackMap stack:
            aload 5 /* foActual */
            ifnull 181
       179: .line 2615
            aload 5 /* foActual */
            aload 0 /* this */
            iload 13 /* useFailoverHost */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.FailoverInfo.failoverAdd:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;ZLjava/lang/String;)V
       180: .line 2616
            goto 197
       181: .line 2617
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 28 /* databaseNameProperty */
        start local 28 // java.lang.String databaseNameProperty
       182: .line 2618
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.INSTANCE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 29 /* instanceNameProperty */
        start local 29 // java.lang.String instanceNameProperty
       183: .line 2619
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            astore 30 /* serverNameProperty */
        start local 30 // java.lang.String serverNameProperty
       184: .line 2621
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 191
       185: .line 2622
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " adding new failover info server: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       186: .line 2623
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 30 /* serverNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " instance: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       187: .line 2624
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 29 /* instanceNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " database: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       188: .line 2625
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 28 /* databaseNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       189: .line 2626
            ldc " server provided failover: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       190: .line 2622
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
       191: .line 2629
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 14 /* tempFailover */
            aload 0 /* this */
            iload 13 /* useFailoverHost */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.FailoverInfo.failoverAdd:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;ZLjava/lang/String;)V
       192: .line 2630
            aload 0 /* this */
            aload 1 /* primary */
       193: .line 2631
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 29 /* instanceNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
       194: .line 2632
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            aload 28 /* databaseNameProperty */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aload 14 /* tempFailover */
            iload 13 /* useFailoverHost */
       195: .line 2633
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
       196: .line 2630
            invokestatic com.microsoft.sqlserver.jdbc.FailoverMapSingleton.putFailoverInfo:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/FailoverInfo;ZLjava/lang/String;)V
        end local 30 // java.lang.String serverNameProperty
        end local 29 // java.lang.String instanceNameProperty
        end local 28 // java.lang.String databaseNameProperty
       197: .line 2636
      StackMap locals:
      StackMap stack:
            return
        end local 27 // int noOfRedirections
        end local 26 // int attemptNumber
        end local 25 // boolean isInteractive
        end local 23 // long intervalExpireFullTimeout
        end local 21 // long timerTimeout
        end local 19 // long intervalExpire
        end local 18 // boolean useTnir
        end local 17 // boolean useParallel
        end local 16 // com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder currentPrimaryPlaceHolder
        end local 15 // com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder currentFOPlaceHolder
        end local 14 // com.microsoft.sqlserver.jdbc.FailoverInfo tempFailover
        end local 13 // boolean useFailoverHost
        end local 11 // long timeoutUnitInterval
        end local 10 // int sleepInterval
        end local 9 // boolean isDBMirroring
        end local 7 // long timerStart
        end local 6 // int timeout
        end local 5 // com.microsoft.sqlserver.jdbc.FailoverInfo foActual
        end local 4 // java.lang.String mirror
        end local 3 // int primaryPortNumber
        end local 2 // java.lang.String primaryInstanceName
        end local 1 // java.lang.String primary
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  198     0                       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0  198     1                    primary  Ljava/lang/String;
            0  198     2        primaryInstanceName  Ljava/lang/String;
            0  198     3          primaryPortNumber  I
            0  198     4                     mirror  Ljava/lang/String;
            0  198     5                   foActual  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
            0  198     6                    timeout  I
            0  198     7                 timerStart  J
            3  198     9              isDBMirroring  Z
            4  198    10              sleepInterval  I
           22   23    11        timeoutUnitInterval  J
           25   26    11        timeoutUnitInterval  J
           27  198    11        timeoutUnitInterval  J
            5  198    13            useFailoverHost  Z
            6  198    14               tempFailover  Lcom/microsoft/sqlserver/jdbc/FailoverInfo;
            7  198    15       currentFOPlaceHolder  Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            8  198    16  currentPrimaryPlaceHolder  Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
           15  198    17                useParallel  Z
           16  198    18                    useTnir  Z
           28  198    19             intervalExpire  J
           19  198    21               timerTimeout  J
           29  198    23  intervalExpireFullTimeout  J
           36  198    25              isInteractive  Z
           37  198    26              attemptNumber  I
           38  198    27           noOfRedirections  I
           67   98    28          inetSocketAddress  Ljava/net/InetSocketAddress;
           72   73    29                        msg  Ljava/lang/String;
           76   77    29                        msg  Ljava/lang/String;
           89   95    29                       form  Ljava/text/MessageFormat;
           93   95    30                    msgArgs  [Ljava/lang/Object;
           94   95    31                        msg  Ljava/lang/String;
           99  119    28                      sqlex  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          100  119    29                  errorCode  I
          101  119    30            driverErrorCode  I
          117  119    31      remainingMilliseconds  J
          146  149    28                  timeSlice  J
          160  169    28              curserverinfo  Ljava/lang/String;
          164  169    29                       form  Ljava/text/MessageFormat;
          168  169    30                    msgArgs  [Ljava/lang/Object;
          172  173    28                        msg  Ljava/lang/String;
          175  176    28                        msg  Ljava/lang/String;
          182  197    28       databaseNameProperty  Ljava/lang/String;
          183  197    29       instanceNameProperty  Ljava/lang/String;
          184  197    30         serverNameProperty  Ljava/lang/String;
      Exception table:
        from    to  target  type
          40    97      98  Class com.microsoft.sqlserver.jdbc.SQLServerException
         122   123     124  Class java.lang.InterruptedException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      primary              
      primaryInstanceName  
      primaryPortNumber    
      mirror               
      foActual             
      timeout              
      timerStart           

  void resetNonRoutingEnvchangeValues();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 2641
            aload 0 /* this */
            sipush 4096
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize:I
         1: .line 2642
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseCollation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
         2: .line 2643
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.rolledBackTransaction:Z
         3: .line 2644
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
         4: .line 2645
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalCatalog:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
         5: .line 2646
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.failoverPartnerServerProvided:Ljava/lang/String;
         6: .line 2647
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder primaryPermissionCheck(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String primary
        start local 2 // java.lang.String primaryInstanceName
        start local 3 // int primaryPortNumber
         0: .line 2659
            iload 3 /* primaryPortNumber */
            ifne 22
         1: .line 2660
            aload 2 /* primaryInstanceName */
            ifnull 21
         2: .line 2661
            aload 0 /* this */
            aload 1 /* primary */
            aload 2 /* primaryInstanceName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* instancePort */
        start local 4 // java.lang.String instancePort
         3: .line 2662
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 5
         4: .line 2663
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " SQL Server port returned by SQL Browser: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* instancePort */
            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
         5: .line 2665
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* instancePort */
            ifnull 14
         6: .line 2666
            aload 4 /* instancePort */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* primaryPortNumber */
         7: .line 2668
            iload 3 /* primaryPortNumber */
            iflt 8
            iload 3 /* primaryPortNumber */
            ldc 65535
            if_icmple 22
         8: .line 2669
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         9: .line 2670
            ldc "R_invalidPortNumber"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 2669
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        11: .line 2671
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* primaryPortNumber */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
        12: .line 2672
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* form */
            aload 6 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        13: .line 2674
            goto 22
        14: .line 2675
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.DEFAULTPORT:I
            istore 3 /* primaryPortNumber */
        15: .line 2676
            goto 22
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        16: pop
        17: .line 2677
            new java.text.MessageFormat
            dup
            ldc "R_invalidPortNumber"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        18: .line 2678
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* primaryPortNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
        19: .line 2679
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* form */
            aload 6 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        20: .line 2681
            goto 22
        end local 4 // java.lang.String instancePort
        21: .line 2682
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.DEFAULTPORT:I
            istore 3 /* primaryPortNumber */
        22: .line 2686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
        23: .line 2687
            iload 3 /* primaryPortNumber */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
        24: .line 2686
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        25: .line 2688
            new com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder
            dup
            aload 1 /* primary */
            iload 3 /* primaryPortNumber */
            aload 2 /* primaryInstanceName */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            invokespecial com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.<init>:(Ljava/lang/String;ILjava/lang/String;Z)V
            areturn
        end local 3 // int primaryPortNumber
        end local 2 // java.lang.String primaryInstanceName
        end local 1 // java.lang.String primary
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   26     1              primary  Ljava/lang/String;
            0   26     2  primaryInstanceName  Ljava/lang/String;
            0   26     3    primaryPortNumber  I
            3   21     4         instancePort  Ljava/lang/String;
           11   13     5                 form  Ljava/text/MessageFormat;
           12   13     6              msgArgs  [Ljava/lang/Object;
           18   20     5                 form  Ljava/text/MessageFormat;
           19   20     6              msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5    15      16  Class java.lang.NumberFormatException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      primary              
      primaryInstanceName  
      primaryPortNumber    

  static boolean timerHasExpired(long);
    descriptor: (J)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long timerExpire
         0: .line 2692
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 0 /* timerExpire */
            lcmp
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long timerExpire
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  timerExpire  J
    MethodParameters:
             Name  Flags
      timerExpire  

  static int timerRemaining(long);
    descriptor: (J)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // long timerExpire
         0: .line 2702
            lload 0 /* timerExpire */
            invokestatic java.lang.System.currentTimeMillis:()J
            lsub
            lstore 2 /* remaining */
        start local 2 // long remaining
         1: .line 2704
            lload 2 /* remaining */
            ldc 2147483647
            lcmp
            ifle 2
            ldc 2147483647
            goto 4
      StackMap locals: long
      StackMap stack:
         2: lload 2 /* remaining */
            lconst_0
            lcmp
            ifgt 3
            lconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: lload 2 /* remaining */
      StackMap locals:
      StackMap stack: long
         4: l2i
            ireturn
        end local 2 // long remaining
        end local 0 // long timerExpire
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  timerExpire  J
            1    5     2    remaining  J
    MethodParameters:
             Name  Flags
      timerExpire  

  private java.net.InetSocketAddress connectHelper(com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder, int, int, boolean, boolean, boolean, int);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;IIZZZI)Ljava/net/InetSocketAddress;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=8
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder serverInfo
        start local 2 // int timeOutSliceInMillis
        start local 3 // int timeOutFullInSeconds
        start local 4 // boolean useParallel
        start local 5 // boolean useTnir
        start local 6 // boolean isTnirFirstAttempt
        start local 7 // int timeOutsliceInMillisForFullTimeout
         0: .line 2731
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 5
         1: .line 2732
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Connecting with server: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " port: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 2733
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " Timeout slice: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* timeOutSliceInMillis */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " Timeout Full: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 2734
            iload 3 /* timeOutFullInSeconds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2732
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         5: .line 2740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.WORKSTATION_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
         6: .line 2741
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 8
         7: .line 2742
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.Util.lookupHostName:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
         8: .line 2746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.TDSChannel
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.TDSChannel.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
         9: .line 2747
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
        10: .line 2748
            iload 3 /* timeOutFullInSeconds */
            ifne 11
            iconst_0
            goto 12
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int int int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int
        11: iload 2 /* timeOutSliceInMillis */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder int int int int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSChannel java.lang.String int int
        12: iload 4 /* useParallel */
            iload 5 /* useTnir */
            iload 6 /* isTnirFirstAttempt */
        13: .line 2749
            iload 7 /* timeOutsliceInMillisForFullTimeout */
        14: .line 2747
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.open:(Ljava/lang/String;IIZZZI)Ljava/net/InetSocketAddress;
            astore 8 /* inetSocketAddress */
        start local 8 // java.net.InetSocketAddress inetSocketAddress
        15: .line 2751
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Connected:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setState:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;)V
        16: .line 2753
            aload 0 /* this */
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
        17: .line 2754
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 18
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            ifnonnull 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 2756
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 0 /* this */
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin:(Ljava/lang/String;I)V
        19: .line 2759
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 24
        20: .line 2760
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            aload 1 /* serverInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKey:Ljava/lang/String;
        21: .line 2761
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKeyPassword:Ljava/lang/String;
        22: .line 2760
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 2762
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientKeyPassword:Ljava/lang/String;
        24: .line 2765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.CLIENT_KEY_PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 2768
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
            pop
        26: .line 2769
            aload 8 /* inetSocketAddress */
            areturn
        end local 8 // java.net.InetSocketAddress inetSocketAddress
        end local 7 // int timeOutsliceInMillisForFullTimeout
        end local 6 // boolean isTnirFirstAttempt
        end local 5 // boolean useTnir
        end local 4 // boolean useParallel
        end local 3 // int timeOutFullInSeconds
        end local 2 // int timeOutSliceInMillis
        end local 1 // com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder serverInfo
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            0   27     0                                this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   27     1                          serverInfo  Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            0   27     2                timeOutSliceInMillis  I
            0   27     3                timeOutFullInSeconds  I
            0   27     4                         useParallel  Z
            0   27     5                             useTnir  Z
            0   27     6                  isTnirFirstAttempt  Z
            0   27     7  timeOutsliceInMillisForFullTimeout  I
           15   27     8                   inetSocketAddress  Ljava/net/InetSocketAddress;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                                    Name  Flags
      serverInfo                          
      timeOutSliceInMillis                
      timeOutFullInSeconds                
      useParallel                         
      useTnir                             
      isTnirFirstAttempt                  
      timeOutsliceInMillisForFullTimeout  

  void Prelogin(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=8, locals=24, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String serverName
        start local 2 // int portNumber
         0: .line 2777
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.NotSpecified:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 2778
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 3
         2: .line 2779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredByUser:Z
         3: .line 2785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredByUser:Z
            ifeq 8
         4: .line 2786
            bipush 73
            istore 3 /* messageLength */
        start local 3 // byte messageLength
         5: .line 2787
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
         6: .line 2792
            iconst_5
            istore 4 /* fedAuthOffset */
        start local 4 // byte fedAuthOffset
         7: .line 2793
            goto 10
        end local 4 // byte fedAuthOffset
        end local 3 // byte messageLength
         8: .line 2794
      StackMap locals:
      StackMap stack:
            bipush 67
            istore 3 /* messageLength */
        start local 3 // byte messageLength
         9: .line 2795
            iconst_0
            istore 4 /* fedAuthOffset */
        start local 4 // byte fedAuthOffset
        10: .line 2798
      StackMap locals: int int
      StackMap stack:
            iload 3 /* messageLength */
            newarray 8
            astore 5 /* preloginRequest */
        start local 5 // byte[] preloginRequest
        11: .line 2800
            iconst_0
            istore 6 /* preloginRequestOffset */
        start local 6 // int preloginRequestOffset
        12: .line 2802
            bipush 8
            newarray 8
            dup
            iconst_0
        13: .line 2804
            bipush 18
            bastore
            dup
            iconst_1
        14: .line 2805
            iconst_1
            bastore
            dup
            iconst_3
            iload 3 /* messageLength */
            bastore
        15: .line 2802
            astore 7 /* bufferHeader */
        start local 7 // byte[] bufferHeader
        16: .line 2810
            aload 7 /* bufferHeader */
            iconst_0
            aload 5 /* preloginRequest */
            iload 6 /* preloginRequestOffset */
            aload 7 /* bufferHeader */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 2811
            iload 6 /* preloginRequestOffset */
            aload 7 /* bufferHeader */
            arraylength
            iadd
            istore 6 /* preloginRequestOffset */
        18: .line 2813
            bipush 15
            newarray 8
            dup
            iconst_2
        19: .line 2815
            bipush 16
            iload 4 /* fedAuthOffset */
            iadd
            i2b
            bastore
            dup
            iconst_4
            bipush 6
            bastore
            dup
            iconst_5
        20: .line 2816
            iconst_1
            bastore
            dup
            bipush 7
            bipush 22
            iload 4 /* fedAuthOffset */
            iadd
            i2b
            bastore
            dup
            bipush 9
            iconst_1
            bastore
            dup
            bipush 10
        21: .line 2817
            iconst_5
            bastore
            dup
            bipush 12
            bipush 23
            iload 4 /* fedAuthOffset */
            iadd
            i2b
            bastore
            dup
            bipush 14
            bipush 36
            bastore
        22: .line 2813
            astore 8 /* preloginOptionsBeforeFedAuth */
        start local 8 // byte[] preloginOptionsBeforeFedAuth
        23: .line 2819
            aload 8 /* preloginOptionsBeforeFedAuth */
            iconst_0
            aload 5 /* preloginRequest */
            iload 6 /* preloginRequestOffset */
        24: .line 2820
            aload 8 /* preloginOptionsBeforeFedAuth */
            arraylength
        25: .line 2819
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 2821
            iload 6 /* preloginRequestOffset */
            aload 8 /* preloginOptionsBeforeFedAuth */
            arraylength
            iadd
            istore 6 /* preloginRequestOffset */
        27: .line 2823
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredByUser:Z
            ifeq 31
        28: .line 2824
            iconst_5
            newarray 8
            dup
            iconst_0
            bipush 6
            bastore
            dup
            iconst_2
            bipush 64
            bastore
            dup
            iconst_4
            iconst_1
            bastore
            astore 9 /* preloginOptions2 */
        start local 9 // byte[] preloginOptions2
        29: .line 2825
            aload 9 /* preloginOptions2 */
            iconst_0
            aload 5 /* preloginRequest */
            iload 6 /* preloginRequestOffset */
            aload 9 /* preloginOptions2 */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 2826
            iload 6 /* preloginRequestOffset */
            aload 9 /* preloginOptions2 */
            arraylength
            iadd
            istore 6 /* preloginRequestOffset */
        end local 9 // byte[] preloginOptions2
        31: .line 2829
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int int int byte[] int byte[] byte[]
      StackMap stack:
            aload 5 /* preloginRequest */
            iload 6 /* preloginRequestOffset */
            iconst_m1
            bastore
        32: .line 2830
            iinc 6 /* preloginRequestOffset */ 1
        33: .line 2833
            bipush 43
            newarray 8
            dup
            bipush 6
        34: .line 2839
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
            ifnonnull 35
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            goto 36
        35: .line 2840
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int int int byte[] int byte[] byte[]
      StackMap stack: byte[] byte[] int
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            bipush -128
            ior
            i2b
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int int int byte[] int byte[] byte[]
      StackMap stack: byte[] byte[] int int
        36: bastore
        37: .line 2833
            astore 9 /* preloginOptionData */
        start local 9 // byte[] preloginOptionData
        38: .line 2845
            aload 9 /* preloginOptionData */
            iconst_0
            aload 5 /* preloginRequest */
            iload 6 /* preloginRequestOffset */
            aload 9 /* preloginOptionData */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 2846
            iload 6 /* preloginRequestOffset */
            aload 9 /* preloginOptionData */
            arraylength
            iadd
            istore 6 /* preloginRequestOffset */
        40: .line 2850
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredByUser:Z
            ifeq 43
        41: .line 2851
            aload 5 /* preloginRequest */
            iload 6 /* preloginRequestOffset */
            iconst_1
            bastore
        42: .line 2852
            iinc 6 /* preloginRequestOffset */ 1
        43: .line 2855
      StackMap locals: byte[]
      StackMap stack:
            sipush 4096
            newarray 8
            astore 10 /* preloginResponse */
        start local 10 // byte[] preloginResponse
        44: .line 2856
            new java.lang.StringBuilder
            dup
            ldc " Prelogin error: host "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* serverName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " port "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* portNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* preloginErrorLogString */
        start local 11 // java.lang.String preloginErrorLogString
        45: .line 2858
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            invokestatic com.microsoft.sqlserver.jdbc.Util.asGuidByteArray:(Ljava/util/UUID;)[B
            astore 12 /* conIdByteArray */
        start local 12 // byte[] conIdByteArray
        46: .line 2862
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredByUser:Z
            ifeq 49
        47: .line 2863
            aload 5 /* preloginRequest */
            arraylength
            bipush 36
            isub
            iconst_1
            isub
            istore 13 /* offset */
        start local 13 // int offset
        48: .line 2865
            goto 50
        end local 13 // int offset
        49: .line 2866
      StackMap locals: byte[] java.lang.String byte[]
      StackMap stack:
            aload 5 /* preloginRequest */
            arraylength
            bipush 36
            isub
            istore 13 /* offset */
        start local 13 // int offset
        50: .line 2870
      StackMap locals: int
      StackMap stack:
            aload 12 /* conIdByteArray */
            iconst_0
            aload 5 /* preloginRequest */
            iload 13 /* offset */
            aload 12 /* conIdByteArray */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        51: .line 2871
            iload 13 /* offset */
            aload 12 /* conIdByteArray */
            arraylength
            iadd
            istore 13 /* offset */
        52: .line 2873
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 62
        53: .line 2874
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/ActivityId;
            astore 14 /* activityId */
        start local 14 // com.microsoft.sqlserver.jdbc.ActivityId activityId
        54: .line 2875
            aload 14 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.getId:()Ljava/util/UUID;
            invokestatic com.microsoft.sqlserver.jdbc.Util.asGuidByteArray:(Ljava/util/UUID;)[B
            astore 15 /* actIdByteArray */
        start local 15 // byte[] actIdByteArray
        55: .line 2876
            aload 15 /* actIdByteArray */
            iconst_0
            aload 5 /* preloginRequest */
            iload 13 /* offset */
            aload 15 /* actIdByteArray */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        56: .line 2877
            iload 13 /* offset */
            aload 15 /* actIdByteArray */
            arraylength
            iadd
            istore 13 /* offset */
        57: .line 2878
            aload 14 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.getSequence:()J
            lstore 16 /* seqNum */
        start local 16 // long seqNum
        58: .line 2879
            lload 16 /* seqNum */
            l2i
            aload 5 /* preloginRequest */
            iload 13 /* offset */
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeInt:(I[BI)V
        59: .line 2880
            iinc 13 /* offset */ 4
        60: .line 2882
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 62
        61: .line 2883
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* 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
        end local 16 // long seqNum
        end local 15 // byte[] actIdByteArray
        end local 14 // com.microsoft.sqlserver.jdbc.ActivityId activityId
        62: .line 2887
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 66
        63: .line 2888
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        64: .line 2889
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Requesting encryption level:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            invokestatic com.microsoft.sqlserver.jdbc.TDS.getEncryptionLevel:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        65: .line 2888
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        66: .line 2893
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 68
        67: .line 2894
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 5 /* preloginRequest */
            iconst_0
            aload 5 /* preloginRequest */
            arraylength
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Prelogin request"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.logPacket:([BIILjava/lang/String;)V
        68: .line 2897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 5 /* preloginRequest */
            iconst_0
            aload 5 /* preloginRequest */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.write:([BII)V
        69: .line 2898
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.flush:()V
        70: .line 2899
            goto 76
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
        71: astore 14 /* e */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e
        72: .line 2900
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        73: .line 2901
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* preloginErrorLogString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " Error sending prelogin request: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* e */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        74: .line 2900
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        75: .line 2902
            aload 14 /* e */
            athrow
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e
        76: .line 2905
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 78
        77: .line 2906
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.setCurrentActivityIdSentFlag:()V
        78: .line 2910
      StackMap locals:
      StackMap stack:
            aload 10 /* preloginResponse */
            arraylength
            istore 14 /* responseLength */
        start local 14 // int responseLength
        79: .line 2911
            iconst_0
            istore 15 /* responseBytesRead */
        start local 15 // int responseBytesRead
        80: .line 2912
            iconst_0
            istore 16 /* processedResponseHeader */
        start local 16 // boolean processedResponseHeader
        81: .line 2913
            goto 138
        82: .line 2917
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 10 /* preloginResponse */
            iload 15 /* responseBytesRead */
            iload 14 /* responseLength */
            iload 15 /* responseBytesRead */
            isub
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.read:([BII)I
            istore 17 /* bytesRead */
        start local 17 // int bytesRead
        83: .line 2918
            goto 89
        end local 17 // int bytesRead
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
        84: astore 18 /* e */
        start local 18 // com.microsoft.sqlserver.jdbc.SQLServerException e
        85: .line 2919
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        86: .line 2920
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* preloginErrorLogString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " Error reading prelogin response: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* e */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        87: .line 2919
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        88: .line 2921
            aload 18 /* e */
            athrow
        end local 18 // com.microsoft.sqlserver.jdbc.SQLServerException e
        start local 17 // int bytesRead
        89: .line 2929
      StackMap locals: int
      StackMap stack:
            iconst_m1
            iload 17 /* bytesRead */
            if_icmpne 99
        90: .line 2930
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 94
        91: .line 2931
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* preloginErrorLogString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        92: .line 2932
            ldc " Unexpected end of prelogin response after "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 15 /* responseBytesRead */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        93: .line 2931
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        94: .line 2934
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_tcpipConnectionFailed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
        95: .line 2935
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* serverName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerNameString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 2 /* portNumber */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
        96: .line 2936
            ldc "R_notSQLServer"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        97: .line 2935
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
        98: .line 2937
            aload 0 /* this */
            iconst_3
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
        99: .line 2941
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 100
            iload 17 /* bytesRead */
            ifge 100
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       100: .line 2942
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 101
            iload 17 /* bytesRead */
            iload 14 /* responseLength */
            iload 15 /* responseBytesRead */
            isub
            if_icmple 101
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       101: .line 2944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 103
       102: .line 2945
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 10 /* preloginResponse */
            iload 15 /* responseBytesRead */
            iload 17 /* bytesRead */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Prelogin response"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.logPacket:([BIILjava/lang/String;)V
       103: .line 2947
      StackMap locals:
      StackMap stack:
            iload 15 /* responseBytesRead */
            iload 17 /* bytesRead */
            iadd
            istore 15 /* responseBytesRead */
       104: .line 2951
            iload 16 /* processedResponseHeader */
            ifne 138
            iload 15 /* responseBytesRead */
            bipush 8
            if_icmplt 138
       105: .line 2953
            iconst_4
            aload 10 /* preloginResponse */
            iconst_0
            baload
            if_icmpeq 115
       106: .line 2954
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 110
       107: .line 2955
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* preloginErrorLogString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " Unexpected response type:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       108: .line 2956
            aload 10 /* preloginResponse */
            iconst_0
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       109: .line 2955
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       110: .line 2958
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_tcpipConnectionFailed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
       111: .line 2959
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* serverName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerNameString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 2 /* portNumber */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
       112: .line 2960
            ldc "R_notSQLServer"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
       113: .line 2959
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
       114: .line 2961
            aload 0 /* this */
            iconst_3
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
       115: .line 2967
      StackMap locals:
      StackMap stack:
            iconst_1
            iconst_1
            aload 10 /* preloginResponse */
            iconst_1
            baload
            iand
            if_icmpeq 125
       116: .line 2968
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 120
       117: .line 2969
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* preloginErrorLogString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " Unexpected response status:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       118: .line 2970
            aload 10 /* preloginResponse */
            iconst_1
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       119: .line 2969
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       120: .line 2972
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_tcpipConnectionFailed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
       121: .line 2973
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* serverName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerNameString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 2 /* portNumber */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
       122: .line 2974
            ldc "R_notSQLServer"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
       123: .line 2973
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
       124: .line 2975
            aload 0 /* this */
            iconst_3
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
       125: .line 2979
      StackMap locals:
      StackMap stack:
            aload 10 /* preloginResponse */
            iconst_2
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShortBigEndian:([BI)I
            istore 14 /* responseLength */
       126: .line 2980
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 127
            iload 14 /* responseLength */
            ifge 127
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       127: .line 2982
      StackMap locals:
      StackMap stack:
            iload 14 /* responseLength */
            aload 10 /* preloginResponse */
            arraylength
            if_icmplt 137
       128: .line 2983
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 132
       129: .line 2984
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* preloginErrorLogString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " Response length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       130: .line 2985
            iload 14 /* responseLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is greater than allowed length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* preloginResponse */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       131: .line 2984
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       132: .line 2987
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_tcpipConnectionFailed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
       133: .line 2988
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* serverName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerNameString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 2 /* portNumber */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
       134: .line 2989
            ldc "R_notSQLServer"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
       135: .line 2988
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
       136: .line 2990
            aload 0 /* this */
            iconst_3
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
       137: .line 2993
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* processedResponseHeader */
        end local 17 // int bytesRead
       138: .line 2913
      StackMap locals:
      StackMap stack:
            iload 15 /* responseBytesRead */
            iload 14 /* responseLength */
            if_icmplt 82
       139: .line 2999
            iconst_0
            istore 17 /* receivedVersionOption */
        start local 17 // boolean receivedVersionOption
       140: .line 3000
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
       141: .line 3002
            bipush 8
            istore 18 /* responseIndex */
        start local 18 // int responseIndex
       142: .line 3005
      StackMap locals: int int
      StackMap stack:
            iload 18 /* responseIndex */
            iload 14 /* responseLength */
            if_icmplt 146
       143: .line 3006
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 145
       144: .line 3007
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Option token not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       145: .line 3009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       146: .line 3011
      StackMap locals:
      StackMap stack:
            aload 10 /* preloginResponse */
            iload 18 /* responseIndex */
            iinc 18 /* responseIndex */ 1
            baload
            istore 19 /* optionToken */
        start local 19 // byte optionToken
       147: .line 3014
            iconst_m1
            iload 19 /* optionToken */
            if_icmpne 149
       148: .line 3015
            goto 256
       149: .line 3018
      StackMap locals: int
      StackMap stack:
            iload 18 /* responseIndex */
            iconst_4
            iadd
            iload 14 /* responseLength */
            if_icmplt 153
       150: .line 3019
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 152
       151: .line 3020
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Offset/Length not found for option:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 19 /* optionToken */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       152: .line 3022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       153: .line 3025
      StackMap locals:
      StackMap stack:
            aload 10 /* preloginResponse */
            iload 18 /* responseIndex */
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShortBigEndian:([BI)I
       154: .line 3026
            bipush 8
       155: .line 3025
            iadd
            istore 20 /* optionOffset */
        start local 20 // int optionOffset
       156: .line 3027
            iinc 18 /* responseIndex */ 2
       157: .line 3028
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 158
            iload 20 /* optionOffset */
            ifge 158
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       158: .line 3030
      StackMap locals: int
      StackMap stack:
            aload 10 /* preloginResponse */
            iload 18 /* responseIndex */
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShortBigEndian:([BI)I
            istore 21 /* optionLength */
        start local 21 // int optionLength
       159: .line 3031
            iinc 18 /* responseIndex */ 2
       160: .line 3032
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 161
            iload 21 /* optionLength */
            ifge 161
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       161: .line 3034
      StackMap locals: int
      StackMap stack:
            iload 20 /* optionOffset */
            iload 21 /* optionLength */
            iadd
            iload 14 /* responseLength */
            if_icmple 167
       162: .line 3035
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 166
       163: .line 3036
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Offset:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 20 /* optionOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " and length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 21 /* optionLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       164: .line 3037
            ldc " exceed response length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 14 /* responseLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       165: .line 3036
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       166: .line 3039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       167: .line 3042
      StackMap locals:
      StackMap stack:
            iload 19 /* optionToken */
            tableswitch { // 0 - 6
                    0: 168
                    1: 194
                    2: 253
                    3: 253
                    4: 253
                    5: 253
                    6: 236
              default: 253
          }
       168: .line 3044
      StackMap locals:
      StackMap stack:
            iload 17 /* receivedVersionOption */
            ifeq 172
       169: .line 3045
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 171
       170: .line 3046
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Version option already received"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       171: .line 3048
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       172: .line 3051
      StackMap locals:
      StackMap stack:
            bipush 6
            iload 21 /* optionLength */
            if_icmpeq 178
       173: .line 3052
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 177
       174: .line 3053
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Version option length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 21 /* optionLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       175: .line 3054
            ldc " is incorrect.  Correct value is 6."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       176: .line 3053
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       177: .line 3056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       178: .line 3059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
       179: .line 3060
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            bipush 9
            if_icmpge 189
       180: .line 3061
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 184
       181: .line 3062
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Server major version:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       182: .line 3063
            ldc " is not supported by this driver."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       183: .line 3062
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       184: .line 3065
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
       185: .line 3066
            ldc "R_unsupportedServerVersion"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       186: .line 3065
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 22 /* form */
        start local 22 // java.text.MessageFormat form
       187: .line 3067
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            astore 23 /* msgArgs */
        start local 23 // java.lang.Object[] msgArgs
       188: .line 3068
            aload 0 /* this */
            bipush 6
            aload 22 /* form */
            aload 23 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 23 // java.lang.Object[] msgArgs
        end local 22 // java.text.MessageFormat form
       189: .line 3071
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 192
       190: .line 3072
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       191: .line 3073
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Server returned major version:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
       192: .line 3075
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 17 /* receivedVersionOption */
       193: .line 3076
            goto 142
       194: .line 3079
      StackMap locals:
      StackMap stack:
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 198
       195: .line 3080
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 197
       196: .line 3081
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Encryption option already received"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       197: .line 3083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       198: .line 3086
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 21 /* optionLength */
            if_icmpeq 204
       199: .line 3087
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 203
       200: .line 3088
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Encryption option length:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 21 /* optionLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       201: .line 3089
            ldc " is incorrect.  Correct value is 1."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       202: .line 3088
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       203: .line 3091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       204: .line 3094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
       205: .line 3097
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            ifeq 213
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 213
       206: .line 3098
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 213
       207: .line 3099
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 213
       208: .line 3100
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 212
       209: .line 3101
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Server returned "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       210: .line 3102
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            invokestatic com.microsoft.sqlserver.jdbc.TDS.getEncryptionLevel:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       211: .line 3101
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       212: .line 3104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       213: .line 3107
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 217
       214: .line 3108
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Negotiated encryption level:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       215: .line 3109
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            invokestatic com.microsoft.sqlserver.jdbc.TDS.getEncryptionLevel:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       216: .line 3108
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       217: .line 3112
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 222
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 222
       218: .line 3113
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 222
       219: .line 3114
            aload 0 /* this */
            iconst_5
       220: .line 3115
            ldc "R_sslRequiredNoServerSupport"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       221: .line 3114
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
       222: .line 3120
      StackMap locals:
      StackMap stack:
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 142
       223: .line 3121
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpeq 142
       224: .line 3123
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpne 228
       225: .line 3124
            aload 0 /* this */
            iconst_5
       226: .line 3125
            ldc "R_sslRequiredByServer"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       227: .line 3124
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
       228: .line 3127
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 234
       229: .line 3128
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Client requested encryption level: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       230: .line 3129
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            invokestatic com.microsoft.sqlserver.jdbc.TDS.getEncryptionLevel:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       231: .line 3130
            ldc " Server returned unexpected encryption level: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       232: .line 3131
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            invokestatic com.microsoft.sqlserver.jdbc.TDS.getEncryptionLevel:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       233: .line 3128
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       234: .line 3133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       235: .line 3135
            goto 142
       236: .line 3139
      StackMap locals:
      StackMap stack:
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            ifeq 246
            iconst_1
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            if_icmpeq 246
       237: .line 3140
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 242
       238: .line 3141
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       239: .line 3142
            ldc " Server sent an unexpected value for FedAuthRequired PreLogin Option. Value was "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       240: .line 3143
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       241: .line 3141
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
       242: .line 3145
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
       243: .line 3146
            ldc "R_FedAuthRequiredPreLoginResponseInvalidValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       244: .line 3145
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 22 /* form */
        start local 22 // java.text.MessageFormat form
       245: .line 3147
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 22 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 22 // java.text.MessageFormat form
       246: .line 3154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            ifnull 248
       247: .line 3155
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.NotSpecified:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 249
       248: .line 3156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 142
       249: .line 3157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* preloginResponse */
            iload 20 /* optionOffset */
            baload
            iconst_1
            if_icmpne 250
            iconst_1
            goto 251
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
       250: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int int int byte[] int byte[] byte[] byte[] byte[] java.lang.String byte[] int int int int int int int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
       251: putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
       252: .line 3159
            goto 142
       253: .line 3162
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 142
       254: .line 3163
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Ignoring prelogin response option:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 19 /* optionToken */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        end local 21 // int optionLength
        end local 20 // int optionOffset
        end local 19 // byte optionToken
       255: .line 3003
            goto 142
       256: .line 3168
      StackMap locals:
      StackMap stack:
            iload 17 /* receivedVersionOption */
            ifeq 257
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpne 261
       257: .line 3169
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 260
       258: .line 3170
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
       259: .line 3171
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Prelogin response is missing version and/or encryption option."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       260: .line 3173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       261: .line 3175
      StackMap locals:
      StackMap stack:
            return
        end local 18 // int responseIndex
        end local 17 // boolean receivedVersionOption
        end local 16 // boolean processedResponseHeader
        end local 15 // int responseBytesRead
        end local 14 // int responseLength
        end local 13 // int offset
        end local 12 // byte[] conIdByteArray
        end local 11 // java.lang.String preloginErrorLogString
        end local 10 // byte[] preloginResponse
        end local 9 // byte[] preloginOptionData
        end local 8 // byte[] preloginOptionsBeforeFedAuth
        end local 7 // byte[] bufferHeader
        end local 6 // int preloginRequestOffset
        end local 5 // byte[] preloginRequest
        end local 4 // byte fedAuthOffset
        end local 3 // byte messageLength
        end local 2 // int portNumber
        end local 1 // java.lang.String serverName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0  262     0                          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0  262     1                    serverName  Ljava/lang/String;
            0  262     2                    portNumber  I
            5    8     3                 messageLength  B
            9  262     3                 messageLength  B
            7    8     4                 fedAuthOffset  B
           10  262     4                 fedAuthOffset  B
           11  262     5               preloginRequest  [B
           12  262     6         preloginRequestOffset  I
           16  262     7                  bufferHeader  [B
           23  262     8  preloginOptionsBeforeFedAuth  [B
           29   31     9              preloginOptions2  [B
           38  262     9            preloginOptionData  [B
           44  262    10              preloginResponse  [B
           45  262    11        preloginErrorLogString  Ljava/lang/String;
           46  262    12                conIdByteArray  [B
           48   49    13                        offset  I
           50  262    13                        offset  I
           54   62    14                    activityId  Lcom/microsoft/sqlserver/jdbc/ActivityId;
           55   62    15                actIdByteArray  [B
           58   62    16                        seqNum  J
           72   76    14                             e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           79  262    14                responseLength  I
           80  262    15             responseBytesRead  I
           81  262    16       processedResponseHeader  Z
           83   84    17                     bytesRead  I
           89  138    17                     bytesRead  I
           85   89    18                             e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           95   99    18                          form  Ljava/text/MessageFormat;
           98   99    19                       msgArgs  [Ljava/lang/Object;
          111  115    18                          form  Ljava/text/MessageFormat;
          114  115    19                       msgArgs  [Ljava/lang/Object;
          121  125    18                          form  Ljava/text/MessageFormat;
          124  125    19                       msgArgs  [Ljava/lang/Object;
          133  137    18                          form  Ljava/text/MessageFormat;
          136  137    19                       msgArgs  [Ljava/lang/Object;
          140  262    17         receivedVersionOption  Z
          142  262    18                 responseIndex  I
          147  255    19                   optionToken  B
          156  255    20                  optionOffset  I
          159  255    21                  optionLength  I
          187  189    22                          form  Ljava/text/MessageFormat;
          188  189    23                       msgArgs  [Ljava/lang/Object;
          245  246    22                          form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          68    70      71  Class com.microsoft.sqlserver.jdbc.SQLServerException
          82    83      84  Class com.microsoft.sqlserver.jdbc.SQLServerException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      serverName  
      portNumber  

  final void throwInvalidTDS();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3178
            aload 0 /* this */
            iconst_4
            ldc "R_invalidTDS"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
         1: .line 3179
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final void throwInvalidTDSToken(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String tokenName
         0: .line 3182
            new java.text.MessageFormat
            dup
            ldc "R_unexpectedToken"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         1: .line 3183
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* tokenName */
            aastore
            astore 3 /* msgArgs */
        start local 3 // java.lang.Object[] msgArgs
         2: .line 3184
            new java.lang.StringBuilder
            dup
            ldc "R_invalidTDS"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* form */
            aload 3 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         3: .line 3185
            aload 0 /* this */
            iconst_4
            aload 4 /* message */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
         4: .line 3186
            return
        end local 4 // java.lang.String message
        end local 3 // java.lang.Object[] msgArgs
        end local 2 // java.text.MessageFormat form
        end local 1 // java.lang.String tokenName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1  tokenName  Ljava/lang/String;
            1    5     2       form  Ljava/text/MessageFormat;
            2    5     3    msgArgs  [Ljava/lang/Object;
            3    5     4    message  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tokenName  

  final void terminate(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int driverErrorCode
        start local 2 // java.lang.String message
         0: .line 3195
            aload 0 /* this */
            iload 1 /* driverErrorCode */
            aload 2 /* message */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
         1: .line 3196
            return
        end local 2 // java.lang.String message
        end local 1 // int driverErrorCode
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  driverErrorCode  I
            0    2     2          message  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      driverErrorCode  
      message          

  final void terminate(int, java.lang.String, java.lang.Throwable);
    descriptor: (ILjava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int driverErrorCode
        start local 2 // java.lang.String message
        start local 3 // java.lang.Throwable throwable
         0: .line 3199
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Opened:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifeq 1
            ldc "08006"
            goto 2
         1: .line 3200
      StackMap locals:
      StackMap stack:
            ldc "08001"
         2: .line 3199
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* state */
        start local 4 // java.lang.String state
         3: .line 3202
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.xopenStates:Z
            ifne 5
         4: .line 3203
            aload 4 /* state */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.mapFromXopen:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* state */
         5: .line 3205
      StackMap locals: java.lang.String
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
         6: .line 3206
            aload 2 /* message */
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.checkAndAppendClientConnId:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)Ljava/lang/String;
            aload 4 /* state */
         7: .line 3208
            iconst_0
         8: .line 3209
            iconst_1
         9: .line 3205
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            astore 5 /* ex */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerException ex
        10: .line 3211
            aload 3 /* throwable */
            ifnull 12
        11: .line 3212
            aload 5 /* ex */
            aload 3 /* throwable */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        12: .line 3214
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerException
      StackMap stack:
            aload 5 /* ex */
            iload 1 /* driverErrorCode */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.setDriverErrorCode:(I)V
        13: .line 3216
            aload 0 /* this */
            aload 5 /* ex */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.notifyPooledConnection:(Lcom/microsoft/sqlserver/jdbc/SQLServerException;)V
        14: .line 3218
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
        15: .line 3220
            aload 5 /* ex */
            athrow
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerException ex
        end local 4 // java.lang.String state
        end local 3 // java.lang.Throwable throwable
        end local 2 // java.lang.String message
        end local 1 // int driverErrorCode
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   16     1  driverErrorCode  I
            0   16     2          message  Ljava/lang/String;
            0   16     3        throwable  Ljava/lang/Throwable;
            3   16     4            state  Ljava/lang/String;
           10   16     5               ex  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      driverErrorCode  
      message          
      throwable        

  boolean executeCommand(com.microsoft.sqlserver.jdbc.TDSCommand);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSCommand newCommand
         0: .line 3232
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.schedulerLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 3233
            aconst_null
            astore 3 /* previousCounter */
        start local 3 // com.microsoft.sqlserver.jdbc.ICounter previousCounter
         2: .line 3239
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 17
         3: .line 3246
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCounter:()Lcom/microsoft/sqlserver/jdbc/ICounter;
            invokeinterface com.microsoft.sqlserver.jdbc.ICounter.resetCounter:()V
         4: .line 3247
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.detach:()V
         5: .line 3248
            goto 15
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSCommand java.lang.Object com.microsoft.sqlserver.jdbc.ICounter
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
         6: astore 4 /* e */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerException e
         7: .line 3254
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 9
         8: .line 3255
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Failed to detach current command : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()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.fine:(Ljava/lang/String;)V
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerException e
         9: .line 3258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCounter:()Lcom/microsoft/sqlserver/jdbc/ICounter;
            astore 3 /* previousCounter */
        10: .line 3259
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            goto 17
        11: .line 3257
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        12: .line 3258
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCounter:()Lcom/microsoft/sqlserver/jdbc/ICounter;
            astore 3 /* previousCounter */
        13: .line 3259
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        14: .line 3260
            aload 5
            athrow
        15: .line 3258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getCounter:()Lcom/microsoft/sqlserver/jdbc/ICounter;
            astore 3 /* previousCounter */
        16: .line 3259
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        17: .line 3265
      StackMap locals:
      StackMap stack:
            aload 1 /* newCommand */
            aload 3 /* previousCounter */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.createCounter:(Lcom/microsoft/sqlserver/jdbc/ICounter;Ljava/util/Properties;)V
        18: .line 3270
            iconst_0
            istore 4 /* commandComplete */
        start local 4 // boolean commandComplete
        19: .line 3272
            aload 1 /* newCommand */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 1 /* newCommand */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getReader:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSReader;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.execute:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/TDSReader;)Z
            istore 4 /* commandComplete */
        20: .line 3273
            goto 25
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSCommand java.lang.Object com.microsoft.sqlserver.jdbc.ICounter int
      StackMap stack: java.lang.Throwable
        21: astore 5
        22: .line 3279
            iload 4 /* commandComplete */
            ifne 24
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ifne 24
        23: .line 3280
            aload 0 /* this */
            aload 1 /* newCommand */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        24: .line 3281
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        25: .line 3279
      StackMap locals:
      StackMap stack:
            iload 4 /* commandComplete */
            ifne 27
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ifne 27
        26: .line 3280
            aload 0 /* this */
            aload 1 /* newCommand */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
        27: .line 3283
      StackMap locals:
      StackMap stack:
            iload 4 /* commandComplete */
            aload 2
            monitorexit
        28: ireturn
        end local 4 // boolean commandComplete
        end local 3 // com.microsoft.sqlserver.jdbc.ICounter previousCounter
        29: .line 3232
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSCommand java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        30: athrow
        end local 1 // com.microsoft.sqlserver.jdbc.TDSCommand newCommand
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   31     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   31     1       newCommand  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            2   29     3  previousCounter  Lcom/microsoft/sqlserver/jdbc/ICounter;
            7    9     4                e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           19   29     4  commandComplete  Z
      Exception table:
        from    to  target  type
           3     5       6  Class com.microsoft.sqlserver.jdbc.SQLServerException
           3     9      11  any
          19    21      21  any
           1    28      29  any
          29    30      29  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      newCommand  

  void resetCurrentCommand();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3288
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            ifnull 3
         1: .line 3289
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.detach:()V
         2: .line 3290
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentCommand:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
         3: .line 3292
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void connectionCommand(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.String logContext
         0: .line 3318
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand
            dup
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* logContext */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
            pop
         1: .line 3319
            return
        end local 2 // java.lang.String logContext
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1         sql  Ljava/lang/String;
            0    2     2  logContext  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sql         
      logContext  

  private java.lang.String sqlStatementToInitialize();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3327
            aconst_null
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 3328
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nLockTimeout:I
            iconst_m1
            if_icmple 3
         2: .line 3329
            new java.lang.StringBuilder
            dup
            ldc " set lock_timeout "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nLockTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         3: .line 3330
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* s */
            areturn
        end local 1 // java.lang.String s
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            1    4     1     s  Ljava/lang/String;

  void setCatalogName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sDB
         0: .line 3341
            aload 1 /* sDB */
            ifnull 3
         1: .line 3342
            aload 1 /* sDB */
            invokevirtual java.lang.String.length:()I
            ifle 3
         2: .line 3343
            aload 0 /* this */
            aload 1 /* sDB */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
         3: .line 3346
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String sDB
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1   sDB  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sDB   

  java.lang.String sqlStatementToSetTransactionIsolationLevel();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3354
            ldc "set transaction isolation level "
            astore 1 /* sql */
        start local 1 // java.lang.String sql
         1: .line 3356
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
            lookupswitch { // 5
                    1: 2
                    2: 4
                    4: 6
                    8: 8
                 4096: 10
              default: 12
          }
         2: .line 3358
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " read uncommitted "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* sql */
         3: .line 3359
            goto 15
         4: .line 3362
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " read committed "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* sql */
         5: .line 3363
            goto 15
         6: .line 3366
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " repeatable read "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* sql */
         7: .line 3367
            goto 15
         8: .line 3370
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " serializable "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* sql */
         9: .line 3371
            goto 15
        10: .line 3374
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " snapshot "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* sql */
        11: .line 3375
            goto 15
        12: .line 3378
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidTransactionLevel"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
        13: .line 3379
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            astore 3 /* msgArgs */
        start local 3 // java.lang.Object[] msgArgs
        14: .line 3380
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* form */
            aload 3 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 3 // java.lang.Object[] msgArgs
        end local 2 // java.text.MessageFormat form
        15: .line 3383
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            areturn
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            1   16     1      sql  Ljava/lang/String;
           13   15     2     form  Ljava/text/MessageFormat;
           14   15     3  msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  static java.lang.String sqlStatementToSetCommit(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean autoCommit
         0: .line 3392
            iload 0 /* autoCommit */
            ifeq 1
            ldc "set implicit_transactions off "
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "set implicit_transactions on "
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // boolean autoCommit
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  autoCommit  Z
    MethodParameters:
            Name  Flags
      autoCommit  

  public java.sql.Statement createStatement();
    descriptor: ()Ljava/sql/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3397
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3398
            aload 0 /* this */
            sipush 1003
            sipush 1007
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:(II)Ljava/sql/Statement;
            astore 1 /* st */
        start local 1 // java.sql.Statement st
         2: .line 3399
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
            aload 1 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 3400
            aload 1 /* st */
            areturn
        end local 1 // java.sql.Statement st
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            2    4     1    st  Ljava/sql/Statement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public java.sql.PreparedStatement prepareStatement(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
         0: .line 3405
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 1 /* sql */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 3406
            aload 0 /* this */
            aload 1 /* sql */
            sipush 1003
            sipush 1007
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;II)Ljava/sql/PreparedStatement;
            astore 2 /* pst */
        start local 2 // java.sql.PreparedStatement pst
         2: .line 3407
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 2 /* pst */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 3408
            aload 2 /* pst */
            areturn
        end local 2 // java.sql.PreparedStatement pst
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1   sql  Ljava/lang/String;
            2    4     2   pst  Ljava/sql/PreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      sql   

  public java.sql.CallableStatement prepareCall(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/sql/CallableStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
         0: .line 3413
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareCall"
            aload 1 /* sql */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 3414
            aload 0 /* this */
            aload 1 /* sql */
            sipush 1003
            sipush 1007
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;II)Ljava/sql/CallableStatement;
            astore 2 /* st */
        start local 2 // java.sql.CallableStatement st
         2: .line 3415
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareCall"
            aload 2 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 3416
            aload 2 /* st */
            areturn
        end local 2 // java.sql.CallableStatement st
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1   sql  Ljava/lang/String;
            2    4     2    st  Ljava/sql/CallableStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      sql   

  public java.lang.String nativeSQL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
         0: .line 3421
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "nativeSQL"
            aload 1 /* sql */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 3422
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3423
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "nativeSQL"
            aload 1 /* sql */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 3424
            aload 1 /* sql */
            areturn
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1   sql  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      sql   

  public void setAutoCommit(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean newAutoCommitMode
         0: .line 3429
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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
         1: .line 3430
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setAutoCommit"
            iload 1 /* newAutoCommitMode */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 3431
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 4
         3: .line 3432
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         4: .line 3434
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 2 /* commitPendingTransaction */
        start local 2 // java.lang.String commitPendingTransaction
         5: .line 3435
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         6: .line 3437
            iload 1 /* newAutoCommitMode */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            if_icmpne 8
         7: .line 3438
            return
         8: .line 3442
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* newAutoCommitMode */
            ifeq 10
         9: .line 3443
            ldc "IF @@TRANCOUNT > 0 COMMIT TRAN "
            astore 2 /* commitPendingTransaction */
        10: .line 3445
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 14
        11: .line 3446
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        12: .line 3447
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Autocommitmode current :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc " new: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* newAutoCommitMode */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 3446
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        14: .line 3450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.rolledBackTransaction:Z
        15: .line 3451
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            iload 1 /* newAutoCommitMode */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlStatementToSetCommit:(Z)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* commitPendingTransaction */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "setAutoCommit"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 3452
            aload 0 /* this */
            iload 1 /* newAutoCommitMode */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
        17: .line 3453
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setAutoCommit"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 3454
            return
        end local 2 // java.lang.String commitPendingTransaction
        end local 1 // boolean newAutoCommitMode
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   19     0                      this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   19     1         newAutoCommitMode  Z
            5   19     2  commitPendingTransaction  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      newAutoCommitMode  

  public boolean getAutoCommit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3458
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getAutoCommit"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3459
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3460
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.inXATransaction:Z
            ifne 3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 1 /* res */
        start local 1 // boolean res
         5: .line 3461
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 7
         6: .line 3462
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getAutoCommit"
            iload 1 /* res */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 3463
      StackMap locals: int
      StackMap stack:
            iload 1 /* res */
            ireturn
        end local 1 // boolean res
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            5    8     1   res  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final byte[] getTransactionDescriptor();
    descriptor: ()[B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3467
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionDescriptor:[B
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void commit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3472
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.commit:(Z)V
         1: .line 3473
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void commit(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean delayedDurability
         0: .line 3486
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "commit"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3487
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 3488
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 3491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 3492
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifne 10
         5: .line 3493
            iload 1 /* delayedDurability */
            ifne 7
         6: .line 3494
            aload 0 /* this */
            ldc "IF @@TRANCOUNT > 0 COMMIT TRAN"
            ldc "Connection.commit"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
            goto 10
         7: .line 3496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "IF @@TRANCOUNT > 0 COMMIT TRAN WITH ( DELAYED_DURABILITY =  ON )"
         8: .line 3497
            ldc "Connection.commit"
         9: .line 3496
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 3499
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "commit"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 3500
            return
        end local 1 // boolean delayedDurability
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   12     1  delayedDurability  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      delayedDurability  

  public void rollback();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3504
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "rollback"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3505
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 3506
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 3508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 3510
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifeq 9
         5: .line 3511
            aload 0 /* this */
            aload 0 /* this */
            ldc "R_cantInvokeRollback"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 3512
            aconst_null
            iconst_1
         7: .line 3511
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 3513
            goto 10
         9: .line 3514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "IF @@TRANCOUNT > 0 ROLLBACK TRAN"
            ldc "Connection.rollback"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 3515
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "rollback"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 3516
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void abort(java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/Executor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.util.concurrent.Executor executor
         0: .line 3520
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "abort"
            aload 1 /* executor */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 3523
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isClosed:()Z
            ifeq 3
         2: .line 3524
            return
         3: .line 3527
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* secMgr */
        start local 2 // java.lang.SecurityManager secMgr
         4: .line 3528
            aload 2 /* secMgr */
            ifnull 12
         5: .line 3530
            new java.sql.SQLPermission
            dup
            ldc "callAbort"
            invokespecial java.sql.SQLPermission.<init>:(Ljava/lang/String;)V
            astore 3 /* perm */
        start local 3 // java.sql.SQLPermission perm
         6: .line 3531
            aload 2 /* secMgr */
            aload 3 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 3 // java.sql.SQLPermission perm
         7: .line 3532
            goto 12
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.concurrent.Executor java.lang.SecurityManager
      StackMap stack: java.lang.SecurityException
         8: pop
         9: .line 3533
            new java.text.MessageFormat
            dup
            ldc "R_permissionDenied"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        10: .line 3534
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "callAbort"
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        11: .line 3535
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* form */
            aload 4 /* 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
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        12: .line 3538
      StackMap locals:
      StackMap stack:
            aload 1 /* executor */
            ifnonnull 17
        13: .line 3539
            new java.text.MessageFormat
            dup
            ldc "R_invalidArgument"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        14: .line 3540
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "executor"
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        15: .line 3541
            aconst_null
            aconst_null
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        16: .line 3542
            goto 19
        17: .line 3547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Closed:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setState:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;)V
        18: .line 3549
            aload 1 /* executor */
            aload 0 /* this */
            invokedynamic run(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/microsoft/sqlserver/jdbc/SQLServerConnection.lambda$1()V (7)
                  ()V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        19: .line 3552
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "abort"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 3553
            return
        end local 2 // java.lang.SecurityManager secMgr
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   21     1  executor  Ljava/util/concurrent/Executor;
            4   21     2    secMgr  Ljava/lang/SecurityManager;
            6    7     3      perm  Ljava/sql/SQLPermission;
           10   12     3      form  Ljava/text/MessageFormat;
           11   12     4   msgArgs  [Ljava/lang/Object;
           14   16     3      form  Ljava/text/MessageFormat;
           15   16     4   msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.SecurityException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
          Name  Flags
      executor  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3557
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "close"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3563
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Closed:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setState:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;)V
         2: .line 3565
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.clearConnectionResources:()V
         3: .line 3567
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "close"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 3568
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void clearConnectionResources();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3571
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            ifnull 3
         1: .line 3572
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            invokevirtual com.microsoft.sqlserver.jdbc.SharedTimer.removeRef:()V
         2: .line 3573
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
         3: .line 3580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            ifnull 5
         4: .line 3581
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.close:()V
         5: .line 3585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            ifnull 7
         6: .line 3586
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.clear:()V
         7: .line 3588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            ifnull 9
         8: .line 3589
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.clear:()V
         9: .line 3592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.cleanupPreparedStatementDiscardActions:()V
        10: .line 3594
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 12
        11: .line 3595
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.cleanupActivityId:()V
        12: .line 3597
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final void poolCloseEventNotify();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3604
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Opened:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$State.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.pooledConnectionParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
            ifnull 8
         1: .line 3613
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifne 3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.pooledConnectionParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
            instanceof javax.sql.XAConnection
            ifne 3
         2: .line 3614
            aload 0 /* this */
            ldc "IF @@TRANCOUNT > 0 ROLLBACK TRAN"
            ldc "close connection"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 3616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.notifyPooledConnection:(Lcom/microsoft/sqlserver/jdbc/SQLServerException;)V
         4: .line 3617
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 6
         5: .line 3618
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.cleanupActivityId:()V
         6: .line 3620
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 3621
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Connection closed and returned to connection pool"
            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 3624
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3628
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isClosed"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3629
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isClosed"
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 3630
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public java.sql.DatabaseMetaData getMetaData();
    descriptor: ()Ljava/sql/DatabaseMetaData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3635
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getMetaData"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3636
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3637
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseMetaData:Lcom/microsoft/sqlserver/jdbc/SQLServerDatabaseMetaData;
            ifnonnull 4
         3: .line 3638
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseMetaData:Lcom/microsoft/sqlserver/jdbc/SQLServerDatabaseMetaData;
         4: .line 3640
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getMetaData"
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseMetaData:Lcom/microsoft/sqlserver/jdbc/SQLServerDatabaseMetaData;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 3641
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseMetaData:Lcom/microsoft/sqlserver/jdbc/SQLServerDatabaseMetaData;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void setReadOnly(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean readOnly
         0: .line 3646
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 2
         1: .line 3647
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setReadOnly"
            iload 1 /* readOnly */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 3648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         3: .line 3650
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setReadOnly"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 3651
            return
        end local 1 // boolean readOnly
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1  readOnly  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
          Name  Flags
      readOnly  

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3655
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isReadOnly"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3656
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3657
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3658
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isReadOnly"
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 3659
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void setCatalog(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String catalog
         0: .line 3664
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setCatalog"
            aload 1 /* catalog */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 3665
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 3666
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 3668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 3669
            aload 1 /* catalog */
            ifnull 7
         5: .line 3670
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "use "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* catalog */
            invokestatic com.microsoft.sqlserver.jdbc.Util.escapeSQLId:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "setCatalog"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 3671
            aload 0 /* this */
            aload 1 /* catalog */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
         7: .line 3673
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setCatalog"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 3674
            return
        end local 1 // java.lang.String catalog
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    9     1  catalog  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
         Name  Flags
      catalog  

  public java.lang.String getCatalog();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3678
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getCatalog"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3679
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3680
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getCatalog"
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 3681
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void setTransactionIsolation(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int level
         0: .line 3686
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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
         1: .line 3687
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setTransactionIsolation"
            iload 1 /* level */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 3688
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 4
         3: .line 3689
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         4: .line 3693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         5: .line 3694
            iload 1 /* level */
            ifne 7
         6: .line 3695
            return
         7: .line 3697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* level */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
         8: .line 3698
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlStatementToSetTransactionIsolationLevel:()Ljava/lang/String;
            astore 2 /* sql */
        start local 2 // java.lang.String sql
         9: .line 3699
            aload 0 /* this */
            aload 2 /* sql */
            ldc "setTransactionIsolation"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 3700
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setTransactionIsolation"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 3701
            return
        end local 2 // java.lang.String sql
        end local 1 // int level
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   12     1  level  I
            9   12     2    sql  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      level  

  public int getTransactionIsolation();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3705
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getTransactionIsolation"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3706
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3707
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3708
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getTransactionIsolation"
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 3709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public java.sql.SQLWarning getWarnings();
    descriptor: ()Ljava/sql/SQLWarning;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3718
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getWarnings"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3719
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3721
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getWarnings"
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 3722
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void addWarning(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String warningString
         0: .line 3727
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.warningSynchronization:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 3728
            new java.sql.SQLWarning
            dup
            aload 1 /* warningString */
            invokespecial java.sql.SQLWarning.<init>:(Ljava/lang/String;)V
            astore 3 /* warning */
        start local 3 // java.sql.SQLWarning warning
         2: .line 3730
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
            ifnonnull 5
         3: .line 3731
            aload 0 /* this */
            aload 3 /* warning */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
         4: .line 3732
            goto 6
         5: .line 3733
      StackMap locals: java.lang.Object java.sql.SQLWarning
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
            aload 3 /* warning */
            invokevirtual java.sql.SQLWarning.setNextWarning:(Ljava/sql/SQLWarning;)V
        end local 3 // java.sql.SQLWarning warning
         6: .line 3727
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 3736
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String warningString
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   11     1  warningString  Ljava/lang/String;
            2    6     3        warning  Ljava/sql/SQLWarning;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    MethodParameters:
               Name  Flags
      warningString  

  public void clearWarnings();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3740
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.warningSynchronization:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 3741
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "clearWarnings"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 3742
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         3: .line 3743
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
         4: .line 3744
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "clearWarnings"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 3740
            aload 1
            monitorexit
         6: goto 9
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
         9: .line 3746
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public java.sql.Statement createStatement(int, int);
    descriptor: (II)Ljava/sql/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int resultSetType
        start local 2 // int resultSetConcurrency
         0: .line 3751
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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
         1: .line 3752
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
         2: .line 3753
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* resultSetType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* resultSetConcurrency */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 3752
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 3754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         5: .line 3755
            new com.microsoft.sqlserver.jdbc.SQLServerStatement
            dup
            aload 0 /* this */
            iload 1 /* resultSetType */
            iload 2 /* resultSetConcurrency */
         6: .line 3756
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         7: .line 3755
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 3 /* st */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement st
         8: .line 3757
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 10
         9: .line 3758
            aload 0 /* this */
            aload 3 /* st */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
        10: .line 3760
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerStatement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
            aload 3 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 3761
            aload 3 /* st */
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement st
        end local 2 // int resultSetConcurrency
        end local 1 // int resultSetType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   12     1         resultSetType  I
            0   12     2  resultSetConcurrency  I
            8   12     3                    st  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      resultSetType         
      resultSetConcurrency  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int resultSetType
        start local 3 // int resultSetConcurrency
         0: .line 3767
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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
         1: .line 3768
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         2: .line 3769
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            iload 2 /* resultSetType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* resultSetConcurrency */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 3768
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 3770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         5: .line 3772
            new com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            dup
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* resultSetType */
            iload 3 /* resultSetConcurrency */
         6: .line 3773
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         7: .line 3772
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 4 /* st */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement st
         8: .line 3775
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 10
         9: .line 3776
            aload 0 /* this */
            aload 4 /* st */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
        10: .line 3778
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 4 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 3779
            aload 4 /* st */
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement st
        end local 3 // int resultSetConcurrency
        end local 2 // int resultSetType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   12     1                   sql  Ljava/lang/String;
            0   12     2         resultSetType  I
            0   12     3  resultSetConcurrency  I
            8   12     4                    st  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      resultSetType         
      resultSetConcurrency  

  private java.sql.PreparedStatement prepareStatement(java.lang.String, int, int, com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int resultSetType
        start local 3 // int resultSetConcurrency
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
         0: .line 3784
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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
         1: .line 3785
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         2: .line 3786
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            iload 2 /* resultSetType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* resultSetConcurrency */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 4 /* stmtColEncSetting */
            aastore
         3: .line 3785
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 3787
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         5: .line 3789
            new com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            dup
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* resultSetType */
            iload 3 /* resultSetConcurrency */
         6: .line 3790
            aload 4 /* stmtColEncSetting */
         7: .line 3789
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 5 /* st */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement st
         8: .line 3792
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 10
         9: .line 3793
            aload 0 /* this */
            aload 5 /* st */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
        10: .line 3796
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 5 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 3797
            aload 5 /* st */
            areturn
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement st
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
        end local 3 // int resultSetConcurrency
        end local 2 // int resultSetType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   12     1                   sql  Ljava/lang/String;
            0   12     2         resultSetType  I
            0   12     3  resultSetConcurrency  I
            0   12     4     stmtColEncSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            8   12     5                    st  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      resultSetType         
      resultSetConcurrency  
      stmtColEncSetting     

  public java.sql.CallableStatement prepareCall(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/sql/CallableStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int resultSetType
        start local 3 // int resultSetConcurrency
         0: .line 3803
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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
         1: .line 3804
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareCall"
         2: .line 3805
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            iload 2 /* resultSetType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* resultSetConcurrency */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 3804
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 3806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         5: .line 3808
            new com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            dup
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* resultSetType */
            iload 3 /* resultSetConcurrency */
         6: .line 3809
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         7: .line 3808
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 4 /* st */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement st
         8: .line 3811
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 10
         9: .line 3812
            aload 0 /* this */
            aload 4 /* st */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
        10: .line 3815
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareCall"
            aload 4 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 3816
            aload 4 /* st */
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement st
        end local 3 // int resultSetConcurrency
        end local 2 // int resultSetType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   12     1                   sql  Ljava/lang/String;
            0   12     2         resultSetType  I
            0   12     3  resultSetConcurrency  I
            8   12     4                    st  Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      resultSetType         
      resultSetConcurrency  

  public void setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.util.Map map
         0: .line 3821
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setTypeMap"
            aload 1 /* map */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 3822
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3823
            aload 1 /* map */
            ifnull 6
            aload 1 /* map */
            instanceof java.util.HashMap
            ifeq 6
         3: .line 3825
            aload 1 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 6
         4: .line 3826
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setTypeMap"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 3827
            return
         6: .line 3831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.throwNotSupportedException:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;)V
         7: .line 3832
            return
        end local 1 // java.util.Map map
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)V
    MethodParameters:
      Name  Flags
      map   

  public java.util.Map<java.lang.String, java.lang.Class<?>> getTypeMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3836
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getTypeMap"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 3837
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 3838
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* mp */
        start local 1 // java.util.Map mp
         3: .line 3839
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getTypeMap"
            aload 1 /* mp */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 3840
            aload 1 /* mp */
            areturn
        end local 1 // java.util.Map mp
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            3    5     1    mp  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;

  int writeAEFeatureRequest(boolean, com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean write
        start local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 3849
            bipush 6
            istore 3 /* len */
        start local 3 // int len
         1: .line 3851
            iload 1 /* write */
            ifeq 8
         2: .line 3852
            aload 2 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 3853
            aload 2 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         4: .line 3854
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            ifnull 5
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         5: .line 3855
      StackMap locals: int
      StackMap stack:
            aload 2 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 3856
            goto 8
         7: .line 3857
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsWriter */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         8: .line 3860
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 1 // boolean write
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    9     1      write  Z
            0    9     2  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1    9     3        len  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      write      
      tdsWriter  

  int writeFedAuthFeatureRequest(boolean, com.microsoft.sqlserver.jdbc.TDSWriter, com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData);
    descriptor: (ZLcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;)I
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean write
        start local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData
         0: .line 3867
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 2
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            iconst_2
            if_icmpeq 2
         1: .line 3868
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            iconst_1
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3870
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* dataLen */
        start local 4 // int dataLen
         3: .line 3873
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            tableswitch { // 1 - 2
                    1: 6
                    2: 4
              default: 9
          }
         4: .line 3875
      StackMap locals: int
      StackMap stack:
            iconst_2
            istore 4 /* dataLen */
         5: .line 3876
            goto 10
         6: .line 3878
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 7
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.accessToken:[B
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3881
      StackMap locals:
      StackMap stack:
            iconst_5
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.accessToken:[B
            arraylength
            iadd
            istore 4 /* dataLen */
         8: .line 3882
            goto 10
         9: .line 3884
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 3888
      StackMap locals:
      StackMap stack:
            iload 4 /* dataLen */
            iconst_5
            iadd
            istore 5 /* totalLen */
        start local 5 // int totalLen
        11: .line 3892
            iload 1 /* write */
            ifeq 49
        12: .line 3893
            aload 2 /* tdsWriter */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        13: .line 3896
            iconst_0
            istore 6 /* options */
        start local 6 // byte options
        14: .line 3899
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            tableswitch { // 1 - 2
                    1: 18
                    2: 15
              default: 21
          }
        15: .line 3901
      StackMap locals: int int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 3902
      StackMap locals:
      StackMap stack:
            iload 6 /* options */
            iconst_4
            ior
            i2b
            istore 6 /* options */
        17: .line 3903
            goto 22
        18: .line 3905
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 19
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifne 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 3906
      StackMap locals:
      StackMap stack:
            iload 6 /* options */
            iconst_2
            ior
            i2b
            istore 6 /* options */
        20: .line 3907
            goto 22
        21: .line 3909
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 3913
      StackMap locals:
      StackMap stack:
            iload 6 /* options */
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.fedAuthRequiredPreLoginResponse:Z
            ifeq 23
            iconst_1
            goto 24
      StackMap locals:
      StackMap stack: int
        23: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData int int int
      StackMap stack: int int
        24: i2b
            ior
            i2b
            istore 6 /* options */
        25: .line 3916
            aload 2 /* tdsWriter */
            iload 4 /* dataLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        26: .line 3920
            aload 2 /* tdsWriter */
            iload 6 /* options */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        27: .line 3924
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            tableswitch { // 1 - 2
                    1: 43
                    2: 28
              default: 48
          }
        28: .line 3926
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* workflow */
        start local 7 // byte workflow
        29: .line 3927
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SqlAuthentication:()[I
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.authentication:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            iaload
            tableswitch { // 3 - 7
                    3: 30
                    4: 32
                    5: 34
                    6: 38
                    7: 36
              default: 40
          }
        30: .line 3929
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 7 /* workflow */
        31: .line 3930
            goto 41
        32: .line 3932
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 7 /* workflow */
        33: .line 3933
            goto 41
        34: .line 3935
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 7 /* workflow */
        35: .line 3936
            goto 41
        36: .line 3938
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 7 /* workflow */
        37: .line 3939
            goto 41
        38: .line 3941
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* workflow */
        39: .line 3942
            goto 41
        40: .line 3944
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 3948
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsWriter */
            iload 7 /* workflow */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        42: .line 3949
            goto 49
        end local 7 // byte workflow
        43: .line 3951
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsWriter */
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.accessToken:[B
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        44: .line 3952
            aload 2 /* tdsWriter */
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.accessToken:[B
            iconst_0
        45: .line 3953
            aload 3 /* fedAuthFeatureExtensionData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.accessToken:[B
            arraylength
        46: .line 3952
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
        47: .line 3954
            goto 49
        48: .line 3956
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 49
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 6 // byte options
        49: .line 3960
      StackMap locals:
      StackMap stack:
            iload 5 /* totalLen */
            ireturn
        end local 5 // int totalLen
        end local 4 // int dataLen
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData
        end local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 1 // boolean write
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   50     0                         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   50     1                        write  Z
            0   50     2                    tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   50     3  fedAuthFeatureExtensionData  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
            3   50     4                      dataLen  I
           11   50     5                     totalLen  I
           14   49     6                      options  B
           29   43     7                     workflow  B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                             Name  Flags
      write                        
      tdsWriter                    
      fedAuthFeatureExtensionData  

  int writeDataClassificationFeatureRequest(boolean, com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean write
        start local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 3965
            bipush 6
            istore 3 /* len */
        start local 3 // int len
         1: .line 3966
            iload 1 /* write */
            ifeq 5
         2: .line 3968
            aload 2 /* tdsWriter */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 3969
            aload 2 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         4: .line 3970
            aload 2 /* tdsWriter */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 3972
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 1 // boolean write
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    6     1      write  Z
            0    6     2  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1    6     3        len  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      write      
      tdsWriter  

  int writeUTF8SupportFeatureRequest(boolean, com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean write
        start local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 3977
            iconst_5
            istore 3 /* len */
        start local 3 // int len
         1: .line 3978
            iload 1 /* write */
            ifeq 4
         2: .line 3979
            aload 2 /* tdsWriter */
            bipush 10
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 3980
            aload 2 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         4: .line 3982
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 1 // boolean write
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1      write  Z
            0    5     2  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1    5     3        len  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      write      
      tdsWriter  

  int writeDNSCacheFeatureRequest(boolean, com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean write
        start local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 3987
            iconst_5
            istore 3 /* len */
        start local 3 // int len
         1: .line 3988
            iload 1 /* write */
            ifeq 4
         2: .line 3989
            aload 2 /* tdsWriter */
            bipush 11
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 3990
            aload 2 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         4: .line 3992
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 1 // boolean write
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1      write  Z
            0    5     2  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1    5     3        len  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      write      
      tdsWriter  

  private void logon(com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$LogonCommand;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand command
         0: .line 4010
            aconst_null
            astore 2 /* authentication */
        start local 2 // com.microsoft.sqlserver.jdbc.SSPIAuthentication authentication
         1: .line 4012
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 28
         2: .line 4013
            getstatic com.microsoft.sqlserver.jdbc.AuthenticationScheme.nativeAuthentication:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.intAuthScheme:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            if_acmpne 7
         3: .line 4014
            new com.microsoft.sqlserver.jdbc.AuthenticationJNI
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
         4: .line 4015
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
         5: .line 4014
            invokespecial com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;I)V
            astore 2 /* authentication */
         6: .line 4016
            goto 28
      StackMap locals: com.microsoft.sqlserver.jdbc.SSPIAuthentication
      StackMap stack:
         7: getstatic com.microsoft.sqlserver.jdbc.AuthenticationScheme.javaKerberos:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.intAuthScheme:Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
            if_acmpne 17
         8: .line 4017
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
            ifnull 13
         9: .line 4018
            new com.microsoft.sqlserver.jdbc.KerbAuthentication
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
        10: .line 4019
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isUserCreatedCredential:Z
        11: .line 4018
            invokespecial com.microsoft.sqlserver.jdbc.KerbAuthentication.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;ILorg/ietf/jgss/GSSCredential;Z)V
            astore 2 /* authentication */
        12: .line 4020
            goto 28
        13: .line 4021
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.KerbAuthentication
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
        14: .line 4022
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getPortNumber:()I
        15: .line 4021
            invokespecial com.microsoft.sqlserver.jdbc.KerbAuthentication.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;I)V
            astore 2 /* authentication */
        16: .line 4024
            goto 28
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmAuthentication:Z
            ifeq 28
        18: .line 4025
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmPasswordHash:[B
            ifnonnull 23
        19: .line 4026
            aload 0 /* this */
        20: .line 4027
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 4026
            invokestatic com.microsoft.sqlserver.jdbc.NTLMAuthentication.getNtlmPasswordHash:(Ljava/lang/String;)[B
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmPasswordHash:[B
        22: .line 4028
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 4031
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.NTLMAuthentication
            dup
            aload 0 /* this */
        24: .line 4032
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DOMAIN:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        25: .line 4033
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        26: .line 4034
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmPasswordHash:[B
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
        27: .line 4031
            invokespecial com.microsoft.sqlserver.jdbc.NTLMAuthentication.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;[BLjava/lang/String;)V
            astore 2 /* authentication */
        28: .line 4043
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryPassword:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 36
        29: .line 4044
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryIntegrated:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 35
        30: .line 4045
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryMSI:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 35
        31: .line 4046
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        32: .line 4047
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryServicePrincipal:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 35
        33: .line 4048
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        34: .line 4049
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryInteractive:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 40
        35: .line 4050
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
            ifeq 40
        36: .line 4051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
        37: .line 4052
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData
            dup
            aload 0 /* this */
            iconst_2
        38: .line 4053
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;ILjava/lang/String;Z)V
        39: .line 4052
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
        40: .line 4056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            ifnull 45
        41: .line 4057
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData
            dup
            aload 0 /* this */
        42: .line 4058
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.accessTokenInByte:[B
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;IZ[B)V
        43: .line 4057
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
        44: .line 4063
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
        45: .line 4066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* command */
            aload 2 /* authentication */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$LogonCommand;Lcom/microsoft/sqlserver/jdbc/SSPIAuthentication;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;)V
        46: .line 4071
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isRoutedInCurrentAttempt:Z
            ifne 60
        47: .line 4072
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalCatalog:Ljava/lang/String;
        48: .line 4073
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlStatementToInitialize:()Ljava/lang/String;
            astore 3 /* sqlStmt */
        start local 3 // java.lang.String sqlStmt
        49: .line 4074
            aload 3 /* sqlStmt */
            ifnull 60
        50: .line 4075
            aload 0 /* this */
            aload 3 /* sqlStmt */
            ldc "Change Settings"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.lang.String sqlStmt
        51: .line 4078
            goto 60
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 4
        53: .line 4079
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 59
        54: .line 4080
            aload 2 /* authentication */
            ifnull 57
        55: .line 4081
            aload 2 /* authentication */
            invokevirtual com.microsoft.sqlserver.jdbc.SSPIAuthentication.releaseClientContext:()V
        56: .line 4082
            aconst_null
            astore 2 /* authentication */
        57: .line 4084
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
            ifnull 59
        58: .line 4085
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
        59: .line 4088
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        60: .line 4079
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 66
        61: .line 4080
            aload 2 /* authentication */
            ifnull 64
        62: .line 4081
            aload 2 /* authentication */
            invokevirtual com.microsoft.sqlserver.jdbc.SSPIAuthentication.releaseClientContext:()V
        63: .line 4082
            aconst_null
            astore 2 /* authentication */
        64: .line 4084
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
            ifnull 66
        65: .line 4085
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.impersonatedUserCred:Lorg/ietf/jgss/GSSCredential;
        66: .line 4089
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.microsoft.sqlserver.jdbc.SSPIAuthentication authentication
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand command
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   67     0            this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   67     1         command  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$LogonCommand;
            1   67     2  authentication  Lcom/microsoft/sqlserver/jdbc/SSPIAuthentication;
           49   51     3         sqlStmt  Ljava/lang/String;
      Exception table:
        from    to  target  type
          45    52      52  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
         Name  Flags
      command  

  final void processEnvChange(com.microsoft.sqlserver.jdbc.TDSReader);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=17, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
         0: .line 4114
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            pop
         1: .line 4115
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            istore 2 /* envValueLength */
        start local 2 // int envValueLength
         2: .line 4117
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.mark:()Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            astore 3 /* mark */
        start local 3 // com.microsoft.sqlserver.jdbc.TDSReaderMark mark
         3: .line 4118
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            istore 4 /* envchange */
        start local 4 // int envchange
         4: .line 4119
            iload 4 /* envchange */
            tableswitch { // 1 - 20
                    1: 48
                    2: 52
                    3: 52
                    4: 5
                    5: 52
                    6: 52
                    7: 12
                    8: 19
                    9: 40
                   10: 31
                   11: 19
                   12: 44
                   13: 50
                   14: 114
                   15: 52
                   16: 52
                   17: 52
                   18: 52
                   19: 52
                   20: 55
              default: 114
          }
         5: .line 4123
      StackMap locals: int com.microsoft.sqlserver.jdbc.TDSReaderMark int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsReader */
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnicodeString:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize:I
         6: .line 4124
            goto 9
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         7: pop
         8: .line 4125
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
         9: .line 4127
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 117
        10: .line 4128
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Network packet size is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsPacketSize: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;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        11: .line 4129
            goto 117
        12: .line 4132
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLCollation.tdsLength:()I
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            if_icmpeq 14
        13: .line 4133
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        14: .line 4136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLCollation
            dup
            aload 1 /* tdsReader */
            invokespecial com.microsoft.sqlserver.jdbc.SQLCollation.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseCollation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
        15: .line 4137
            goto 117
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        16: astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
        17: .line 4138
            aload 0 /* this */
            iconst_4
            aload 5 /* e */
            invokevirtual java.io.UnsupportedEncodingException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.io.UnsupportedEncodingException e
        18: .line 4141
            goto 117
        19: .line 4145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.rolledBackTransaction:Z
        20: .line 4146
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            astore 5 /* transactionDescriptor */
        start local 5 // byte[] transactionDescriptor
        21: .line 4148
            aload 5 /* transactionDescriptor */
            arraylength
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            if_icmpeq 23
        22: .line 4149
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        23: .line 4151
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* tdsReader */
            aload 5 /* transactionDescriptor */
            iconst_0
            aload 5 /* transactionDescriptor */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
        24: .line 4153
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 117
        25: .line 4155
            bipush 8
            iload 4 /* envchange */
            if_icmpne 28
        26: .line 4156
            ldc " started"
            astore 6 /* op */
        start local 6 // java.lang.String op
        27: goto 29
        end local 6 // java.lang.String op
        28: .line 4158
      StackMap locals:
      StackMap stack:
            ldc " enlisted"
            astore 6 /* op */
        start local 6 // java.lang.String op
        29: .line 4160
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* op */
            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
        end local 6 // java.lang.String op
        30: .line 4162
            goto 117
        end local 5 // byte[] transactionDescriptor
        31: .line 4165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.rolledBackTransaction:Z
        32: .line 4167
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.inXATransaction:Z
            ifeq 36
        33: .line 4168
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 117
        34: .line 4169
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " rolled back. (DTC)"
            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
        35: .line 4176
            goto 117
        36: .line 4177
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 38
        37: .line 4178
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " rolled back"
            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
        38: .line 4180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        39: .line 4183
            goto 117
        40: .line 4186
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 42
        41: .line 4187
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " committed"
            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
        42: .line 4189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        43: .line 4191
            goto 117
        44: .line 4194
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 46
        45: .line 4195
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " defected"
            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
        46: .line 4197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        47: .line 4199
            goto 117
        48: .line 4202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsReader */
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnicodeString:(I)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setCatalogName:(Ljava/lang/String;)V
        49: .line 4203
            goto 117
        50: .line 4206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsReader */
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnicodeString:(I)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setFailoverPartnerServerProvided:(Ljava/lang/String;)V
        51: .line 4207
            goto 117
        52: .line 4218
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 117
        53: .line 4219
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Ignored env change: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* envchange */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        54: .line 4220
            goto 117
        55: .line 4225
      StackMap locals:
      StackMap stack:
            iconst_m1
            dup
            istore 9 /* routingServerNameLength */
        start local 9 // int routingServerNameLength
        56: dup
            istore 8 /* routingPortNumber */
        start local 8 // int routingPortNumber
        57: dup
            istore 7 /* routingProtocol */
        start local 7 // int routingProtocol
        58: istore 6 /* routingDataValueLength */
        start local 6 // int routingDataValueLength
        59: .line 4227
            aconst_null
            astore 10 /* routingServerName */
        start local 10 // java.lang.String routingServerName
        60: .line 4230
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            istore 6 /* routingDataValueLength */
        61: .line 4231
            iload 6 /* routingDataValueLength */
            iconst_5
            if_icmpgt 63
        62: .line 4234
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
        63: .line 4237
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int top int int int int java.lang.String
      StackMap stack:
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            istore 7 /* routingProtocol */
        64: .line 4238
            iload 7 /* routingProtocol */
            ifeq 66
        65: .line 4239
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
        66: .line 4242
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            istore 8 /* routingPortNumber */
        67: .line 4243
            iload 8 /* routingPortNumber */
            ifle 68
            iload 8 /* routingPortNumber */
            ldc 65535
            if_icmple 69
        68: .line 4244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
        69: .line 4247
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            istore 9 /* routingServerNameLength */
        70: .line 4248
            iload 9 /* routingServerNameLength */
            ifle 71
            iload 9 /* routingServerNameLength */
            sipush 1024
            if_icmple 72
        71: .line 4249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
        72: .line 4252
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsReader */
            iload 9 /* routingServerNameLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnicodeString:(I)Ljava/lang/String;
            astore 10 /* routingServerName */
        73: .line 4253
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 84
            aload 10 /* routingServerName */
            ifnonnull 84
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        74: .line 4255
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        75: .line 4256
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 83
        76: .line 4257
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received routing ENVCHANGE with the following values."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        77: .line 4258
            ldc " routingDataValueLength:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* routingDataValueLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " protocol:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* routingProtocol */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        78: .line 4259
            ldc " portNumber:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* routingPortNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " serverNameLength:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* routingServerNameLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        79: .line 4260
            ldc " serverName:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* routingServerName */
            ifnull 80
            aload 10 /* routingServerName */
            goto 81
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int top int int int int java.lang.String java.lang.Throwable
      StackMap stack: java.util.logging.Logger java.lang.StringBuilder
        80: ldc "null"
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int top int int int int java.lang.String java.lang.Throwable
      StackMap stack: java.util.logging.Logger java.lang.StringBuilder java.lang.String
        81: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        82: .line 4257
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        83: .line 4262
      StackMap locals:
      StackMap stack:
            aload 11
            athrow
        84: .line 4256
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 92
        85: .line 4257
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received routing ENVCHANGE with the following values."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        86: .line 4258
            ldc " routingDataValueLength:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* routingDataValueLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " protocol:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* routingProtocol */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        87: .line 4259
            ldc " portNumber:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* routingPortNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " serverNameLength:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* routingServerNameLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        88: .line 4260
            ldc " serverName:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* routingServerName */
            ifnull 89
            aload 10 /* routingServerName */
            goto 90
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int top int int int int java.lang.String
      StackMap stack: java.util.logging.Logger java.lang.StringBuilder
        89: ldc "null"
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int top int int int int java.lang.String
      StackMap stack: java.util.logging.Logger java.lang.StringBuilder java.lang.String
        90: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        91: .line 4257
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        92: .line 4265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            ldc "hostNameInCertificate"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* currentHostName */
        start local 11 // java.lang.String currentHostName
        93: .line 4268
            aload 11 /* currentHostName */
            ifnull 111
            aload 11 /* currentHostName */
            ldc "*"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 111
            aload 10 /* routingServerName */
            ifnull 111
        94: .line 4269
            aload 10 /* routingServerName */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 111
        95: .line 4270
            aload 11 /* currentHostName */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 12 /* currentHostNameCharArray */
        start local 12 // char[] currentHostNameCharArray
        96: .line 4271
            aload 10 /* routingServerName */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 13 /* routingServerNameCharArray */
        start local 13 // char[] routingServerNameCharArray
        97: .line 4272
            iconst_1
            istore 14 /* hostNameNeedsUpdate */
        start local 14 // boolean hostNameNeedsUpdate
        98: .line 4279
            aload 11 /* currentHostName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 15 /* i */
        start local 15 // int i
        99: aload 10 /* routingServerName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 16 /* j */
        start local 16 // int j
       100: goto 105
       101: .line 4281
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int top int int int int java.lang.String java.lang.String char[] char[] int int int
      StackMap stack:
            aload 13 /* routingServerNameCharArray */
            iload 16 /* j */
            caload
            aload 12 /* currentHostNameCharArray */
            iload 15 /* i */
            caload
            if_icmpeq 104
       102: .line 4282
            iconst_0
            istore 14 /* hostNameNeedsUpdate */
       103: .line 4283
            goto 106
       104: .line 4280
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ -1
            iinc 16 /* j */ -1
       105: .line 4279
      StackMap locals:
      StackMap stack:
            iload 15 /* i */
            ifle 106
            iload 16 /* j */
            ifgt 101
        end local 16 // int j
        end local 15 // int i
       106: .line 4287
      StackMap locals:
      StackMap stack:
            iload 14 /* hostNameNeedsUpdate */
            ifeq 111
       107: .line 4288
            new java.lang.StringBuilder
            dup
            ldc "*"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* routingServerName */
            aload 10 /* routingServerName */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* newHostName */
        start local 15 // java.lang.String newHostName
       108: .line 4289
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            ldc "hostNameInCertificate"
            aload 15 /* newHostName */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
       109: .line 4291
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 111
       110: .line 4292
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 "Using new host to validate the SSL certificate"
            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
        end local 15 // java.lang.String newHostName
        end local 14 // boolean hostNameNeedsUpdate
        end local 13 // char[] routingServerNameCharArray
        end local 12 // char[] currentHostNameCharArray
       111: .line 4297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isRoutedInCurrentAttempt:Z
       112: .line 4298
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder
            dup
            aload 10 /* routingServerName */
            iload 8 /* routingPortNumber */
            aconst_null
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            invokespecial com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.<init>:(Ljava/lang/String;ILjava/lang/String;Z)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
       113: .line 4300
            goto 117
        end local 11 // java.lang.String currentHostName
        end local 10 // java.lang.String routingServerName
        end local 9 // int routingServerNameLength
        end local 8 // int routingPortNumber
        end local 7 // int routingProtocol
        end local 6 // int routingDataValueLength
       114: .line 4304
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.TDSReaderMark int
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 116
       115: .line 4305
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Unknown environment change: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* envchange */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
       116: .line 4307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.throwInvalidTDS:()V
       117: .line 4313
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsReader */
            aload 3 /* mark */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.reset:(Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;)V
       118: .line 4314
            aload 1 /* tdsReader */
            iload 2 /* envValueLength */
            newarray 8
            iconst_0
            iload 2 /* envValueLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
       119: .line 4315
            return
        end local 4 // int envchange
        end local 3 // com.microsoft.sqlserver.jdbc.TDSReaderMark mark
        end local 2 // int envValueLength
        end local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0  120     0                        this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0  120     1                   tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2  120     2              envValueLength  I
            3  120     3                        mark  Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            4  120     4                   envchange  I
           17   18     5                           e  Ljava/io/UnsupportedEncodingException;
           21   31     5       transactionDescriptor  [B
           27   28     6                          op  Ljava/lang/String;
           29   30     6                          op  Ljava/lang/String;
           59  114     6      routingDataValueLength  I
           58  114     7             routingProtocol  I
           57  114     8           routingPortNumber  I
           56  114     9     routingServerNameLength  I
           60  114    10           routingServerName  Ljava/lang/String;
           93  114    11             currentHostName  Ljava/lang/String;
           96  111    12    currentHostNameCharArray  [C
           97  111    13  routingServerNameCharArray  [C
           98  111    14         hostNameNeedsUpdate  Z
           99  106    15                           i  I
          100  106    16                           j  I
          108  111    15                 newHostName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.NumberFormatException
          14    15      16  Class java.io.UnsupportedEncodingException
          60    74      74  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsReader  

  final void processFedAuthInfo(com.microsoft.sqlserver.jdbc.TDSReader, com.microsoft.sqlserver.jdbc.TDSTokenHandler);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=17, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        start local 2 // com.microsoft.sqlserver.jdbc.TDSTokenHandler tdsTokenHandler
         0: .line 4318
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            astore 3 /* sqlFedAuthInfo */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo sqlFedAuthInfo
         1: .line 4320
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            pop
         2: .line 4323
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 4 /* tokenLen */
        start local 4 // int tokenLen
         3: .line 4325
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 5
         4: .line 4326
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " FEDAUTHINFO token stream length = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* tokenLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         5: .line 4329
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo int
      StackMap stack:
            iload 4 /* tokenLen */
            iconst_4
            if_icmpge 11
         6: .line 4331
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 8
         7: .line 4332
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 "FEDAUTHINFO token stream length too short for CountOfInfoIDs."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
         8: .line 4334
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
         9: .line 4335
            ldc "R_FedAuthInfoLengthTooShortForCountOfInfoIds"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        10: .line 4334
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        11: .line 4339
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 5 /* optionsCount */
        start local 5 // int optionsCount
        12: .line 4341
            iinc 4 /* tokenLen */ -4
        13: .line 4343
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 15
        14: .line 4344
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " CountOfInfoIDs = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* optionsCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        15: .line 4347
      StackMap locals: int
      StackMap stack:
            iload 4 /* tokenLen */
            ifle 73
        16: .line 4349
            iload 4 /* tokenLen */
            newarray 8
            astore 6 /* tokenData */
        start local 6 // byte[] tokenData
        17: .line 4351
            aload 1 /* tdsReader */
            aload 6 /* tokenData */
            iconst_0
            iload 4 /* tokenLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
        18: .line 4353
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 21
        19: .line 4354
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        20: .line 4355
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Read rest of FEDAUTHINFO token stream: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* tokenData */
            invokestatic java.util.Arrays.toString:([B)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.fine:(Ljava/lang/String;)V
        21: .line 4366
      StackMap locals: byte[]
      StackMap stack:
            iload 5 /* optionsCount */
            bipush 9
            imul
            istore 7 /* totalOptionsSize */
        start local 7 // int totalOptionsSize
        22: .line 4368
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        23: goto 71
        24: .line 4369
      StackMap locals: int int
      StackMap stack:
            iload 8 /* i */
            bipush 9
            imul
            istore 9 /* currentOptionOffset */
        start local 9 // int currentOptionOffset
        25: .line 4371
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            baload
            istore 10 /* id */
        start local 10 // byte id
        26: .line 4372
            iconst_4
            newarray 8
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        27: .line 4373
            aload 11 /* buffer */
            iconst_3
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            iconst_1
            iadd
            baload
            bastore
        28: .line 4374
            aload 11 /* buffer */
            iconst_2
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            iconst_2
            iadd
            baload
            bastore
        29: .line 4375
            aload 11 /* buffer */
            iconst_1
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            iconst_3
            iadd
            baload
            bastore
        30: .line 4376
            aload 11 /* buffer */
            iconst_0
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            iconst_4
            iadd
            baload
            bastore
        31: .line 4377
            aload 11 /* buffer */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 12 /* wrapped */
        start local 12 // java.nio.ByteBuffer wrapped
        32: .line 4378
            aload 12 /* wrapped */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 13 /* dataLen */
        start local 13 // int dataLen
        33: .line 4380
            iconst_4
            newarray 8
            astore 11 /* buffer */
        34: .line 4381
            aload 11 /* buffer */
            iconst_3
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            iconst_5
            iadd
            baload
            bastore
        35: .line 4382
            aload 11 /* buffer */
            iconst_2
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            bipush 6
            iadd
            baload
            bastore
        36: .line 4383
            aload 11 /* buffer */
            iconst_1
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            bipush 7
            iadd
            baload
            bastore
        37: .line 4384
            aload 11 /* buffer */
            iconst_0
            aload 6 /* tokenData */
            iload 9 /* currentOptionOffset */
            bipush 8
            iadd
            baload
            bastore
        38: .line 4385
            aload 11 /* buffer */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 12 /* wrapped */
        39: .line 4386
            aload 12 /* wrapped */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 14 /* dataOffset */
        start local 14 // int dataOffset
        40: .line 4388
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 44
        41: .line 4389
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " FedAuthInfoOpt: ID="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 10 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", DataLen="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 13 /* dataLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        42: .line 4390
            ldc ", Offset="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 14 /* dataOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 4389
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        44: .line 4395
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.TDSTokenHandler com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo int int byte[] int int int int byte[] java.nio.ByteBuffer int int
      StackMap stack:
            iinc 14 /* dataOffset */ -4
        45: .line 4398
            iload 14 /* dataOffset */
            iload 7 /* totalOptionsSize */
            if_icmplt 46
            iload 14 /* dataOffset */
            iload 4 /* tokenLen */
            if_icmplt 52
        46: .line 4399
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 48
        47: .line 4400
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 "FedAuthInfoDataOffset points to an invalid location."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        48: .line 4402
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        49: .line 4403
            ldc "R_FedAuthInfoInvalidOffset"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        50: .line 4402
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
        51: .line 4404
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 15 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 14 /* dataOffset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 15 // java.text.MessageFormat form
        52: .line 4408
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 15 /* data */
        start local 15 // java.lang.String data
        53: .line 4410
            iload 13 /* dataLen */
            newarray 8
            astore 16 /* dataArray */
        start local 16 // byte[] dataArray
        54: .line 4411
            aload 6 /* tokenData */
            iload 14 /* dataOffset */
            aload 16 /* dataArray */
            iconst_0
            iload 13 /* dataLen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        55: .line 4412
            new java.lang.String
            dup
            aload 16 /* dataArray */
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            astore 15 /* data */
        end local 16 // byte[] dataArray
        56: .line 4413
            goto 60
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.TDSTokenHandler com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo int int byte[] int int int int byte[] java.nio.ByteBuffer int int java.lang.String
      StackMap stack: java.lang.Exception
        57: astore 16 /* e */
        start local 16 // java.lang.Exception e
        58: .line 4414
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 "Failed to read FedAuthInfoData."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        59: .line 4415
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_FedAuthInfoFailedToReadData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 16 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 16 // java.lang.Exception e
        60: .line 4418
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 62
        61: .line 4419
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " FedAuthInfoData: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* data */
            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
        62: .line 4423
      StackMap locals:
      StackMap stack:
            iload 10 /* id */
            tableswitch { // 1 - 2
                    1: 65
                    2: 63
              default: 67
          }
        63: .line 4425
      StackMap locals:
      StackMap stack:
            aload 3 /* sqlFedAuthInfo */
            aload 15 /* data */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.spn:Ljava/lang/String;
        64: .line 4426
            goto 70
        65: .line 4428
      StackMap locals:
      StackMap stack:
            aload 3 /* sqlFedAuthInfo */
            aload 15 /* data */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.stsurl:Ljava/lang/String;
        66: .line 4429
            goto 70
        67: .line 4431
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 70
        68: .line 4432
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        69: .line 4433
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Ignoring unknown federated authentication info option: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 10 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 15 // java.lang.String data
        end local 14 // int dataOffset
        end local 13 // int dataLen
        end local 12 // java.nio.ByteBuffer wrapped
        end local 11 // byte[] buffer
        end local 10 // byte id
        end local 9 // int currentOptionOffset
        70: .line 4368
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.TDSTokenHandler com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo int int byte[] int int
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 8 /* i */
            iload 5 /* optionsCount */
            if_icmplt 24
        end local 8 // int i
        end local 7 // int totalOptionsSize
        end local 6 // byte[] tokenData
        72: .line 4438
            goto 81
        73: .line 4439
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 77
        74: .line 4440
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        75: .line 4441
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 "FEDAUTHINFO token stream is not long enough to contain the data it claims to."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        76: .line 4440
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        77: .line 4443
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        78: .line 4444
            ldc "R_FedAuthInfoLengthTooShortForData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        79: .line 4443
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        80: .line 4445
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tokenLen */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.text.MessageFormat form
        81: .line 4448
      StackMap locals:
      StackMap stack:
            aload 3 /* sqlFedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.spn:Ljava/lang/String;
            ifnull 83
            aload 3 /* sqlFedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.stsurl:Ljava/lang/String;
            ifnull 83
            aload 3 /* sqlFedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.spn:Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 83
        82: .line 4449
            aload 3 /* sqlFedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.stsurl:Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 88
        83: .line 4451
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 85
        84: .line 4452
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 "FEDAUTHINFO token stream does not contain both STSURL and SPN."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        85: .line 4454
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_FedAuthInfoDoesNotContainStsurlAndSpn"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        86: .line 4455
            aconst_null
        87: .line 4454
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        88: .line 4458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* sqlFedAuthInfo */
            aload 2 /* tdsTokenHandler */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.onFedAuthInfo:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
        89: .line 4460
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalSecret:Ljava/lang/String;
        90: .line 4461
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.AAD_SECURE_PRINCIPAL_SECRET:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        91: .line 4462
            return
        end local 5 // int optionsCount
        end local 4 // int tokenLen
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo sqlFedAuthInfo
        end local 2 // com.microsoft.sqlserver.jdbc.TDSTokenHandler tdsTokenHandler
        end local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   92     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   92     1            tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   92     2      tdsTokenHandler  Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;
            1   92     3       sqlFedAuthInfo  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;
            3   92     4             tokenLen  I
           12   92     5         optionsCount  I
           17   72     6            tokenData  [B
           22   72     7     totalOptionsSize  I
           23   72     8                    i  I
           25   70     9  currentOptionOffset  I
           26   70    10                   id  B
           27   70    11               buffer  [B
           32   70    12              wrapped  Ljava/nio/ByteBuffer;
           33   70    13              dataLen  I
           40   70    14           dataOffset  I
           51   52    15                 form  Ljava/text/MessageFormat;
           53   70    15                 data  Ljava/lang/String;
           54   56    16            dataArray  [B
           58   60    16                    e  Ljava/lang/Exception;
           80   81     6                 form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          53    56      57  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      tdsReader        
      tdsTokenHandler  

  void onFedAuthInfo(com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo, com.microsoft.sqlserver.jdbc.TDSTokenHandler);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo fedAuthInfo
        start local 2 // com.microsoft.sqlserver.jdbc.TDSTokenHandler tdsTokenHandler
         0: .line 4487
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 2
         1: .line 4488
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 8
         2: .line 4489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryIntegrated:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         3: .line 4490
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryMSI:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         4: .line 4491
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
         5: .line 4492
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryInteractive:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 4493
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
            ifne 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 4495
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 9
            aload 1 /* fedAuthInfo */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 4497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.attemptRefreshTokenLocked:Z
        10: .line 4498
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* fedAuthInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getFedAuthToken:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthToken:Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
        11: .line 4499
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.attemptRefreshTokenLocked:Z
        12: .line 4502
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthToken:Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            ifnonnull 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 4504
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthToken:Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            aload 2 /* tdsTokenHandler */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
            astore 3 /* fedAuthCommand */
        start local 3 // com.microsoft.sqlserver.jdbc.TDSCommand fedAuthCommand
        14: .line 4505
            aload 3 /* fedAuthCommand */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            aload 3 /* fedAuthCommand */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getReader:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSReader;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.execute:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/TDSReader;)Z
            pop
        15: .line 4506
            return
        end local 3 // com.microsoft.sqlserver.jdbc.TDSCommand fedAuthCommand
        end local 2 // com.microsoft.sqlserver.jdbc.TDSTokenHandler tdsTokenHandler
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo fedAuthInfo
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   16     1      fedAuthInfo  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;
            0   16     2  tdsTokenHandler  Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;
           14   16     3   fedAuthCommand  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      fedAuthInfo      
      tdsTokenHandler  

  private com.microsoft.sqlserver.jdbc.SqlFedAuthToken getFedAuthToken(com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo fedAuthInfo
         0: .line 4509
            aconst_null
            astore 2 /* fedAuthToken */
        start local 2 // com.microsoft.sqlserver.jdbc.SqlFedAuthToken fedAuthToken
         1: .line 4512
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 2
            aload 1 /* fedAuthInfo */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4514
      StackMap locals: com.microsoft.sqlserver.jdbc.SqlFedAuthToken
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* user */
        start local 3 // java.lang.String user
         3: .line 4517
            bipush 100
            istore 4 /* sleepInterval */
        start local 4 // int sleepInterval
         4: .line 4520
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryPassword:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
         5: .line 4521
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.msalContextExists:()Z
            ifne 8
         6: .line 4522
            new java.text.MessageFormat
            dup
            ldc "R_MSALMissing"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         7: .line 4523
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 5 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 5 // java.text.MessageFormat form
         8: .line 4525
      StackMap locals:
      StackMap stack:
            aload 1 /* fedAuthInfo */
            aload 3 /* user */
         9: .line 4526
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 4527
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        11: .line 4525
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerMSAL4JUtils.getSqlFedAuthToken:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            astore 2 /* fedAuthToken */
        12: .line 4530
            goto 90
        13: .line 4531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryMSI:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        14: .line 4532
            aload 1 /* fedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.spn:Ljava/lang/String;
        15: .line 4533
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.MSI_CLIENT_ID:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        16: .line 4532
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.getMSIAuthToken:(Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            astore 2 /* fedAuthToken */
        17: .line 4536
            goto 90
        18: .line 4537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        19: .line 4538
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryServicePrincipal:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        20: .line 4539
            aload 1 /* fedAuthInfo */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalID:Ljava/lang/String;
        21: .line 4540
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aadPrincipalSecret:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        22: .line 4539
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerMSAL4JUtils.getSqlFedAuthTokenPrincipal:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            astore 2 /* fedAuthToken */
        23: .line 4543
            goto 90
        24: .line 4544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryIntegrated:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 83
        25: .line 4546
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 77
        26: .line 4547
            invokestatic com.microsoft.sqlserver.jdbc.AuthenticationJNI.isDllLoaded:()Z
            ifeq 77
        27: .line 4550
            aload 1 /* fedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.stsurl:Ljava/lang/String;
            aload 1 /* fedAuthInfo */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo.spn:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientConnectionId:Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
        28: .line 4551
            ldc "7f98cb04-cd1e-40df-9140-3bf7e2cea4db"
            lconst_0
        29: .line 4549
            invokestatic com.microsoft.sqlserver.jdbc.AuthenticationJNI.getAccessTokenForWindowsIntegrated:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Lcom/microsoft/sqlserver/jdbc/FedAuthDllInfo;
            astore 5 /* dllInfo */
        start local 5 // com.microsoft.sqlserver.jdbc.FedAuthDllInfo dllInfo
        30: .line 4554
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 31
            aload 5 /* dllInfo */
            getfield com.microsoft.sqlserver.jdbc.FedAuthDllInfo.accessTokenBytes:[B
            ifnonnull 31
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        31: .line 4555
      StackMap locals: com.microsoft.sqlserver.jdbc.FedAuthDllInfo
      StackMap stack:
            aload 5 /* dllInfo */
            getfield com.microsoft.sqlserver.jdbc.FedAuthDllInfo.accessTokenBytes:[B
            astore 6 /* accessTokenFromDLL */
        start local 6 // byte[] accessTokenFromDLL
        32: .line 4557
            new java.lang.String
            dup
            aload 6 /* accessTokenFromDLL */
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            astore 7 /* accessToken */
        start local 7 // java.lang.String accessToken
        33: .line 4558
            new com.microsoft.sqlserver.jdbc.SqlFedAuthToken
            dup
            aload 7 /* accessToken */
            aload 5 /* dllInfo */
            getfield com.microsoft.sqlserver.jdbc.FedAuthDllInfo.expiresIn:J
            invokespecial com.microsoft.sqlserver.jdbc.SqlFedAuthToken.<init>:(Ljava/lang/String;J)V
            astore 2 /* fedAuthToken */
        34: .line 4561
            goto 90
        end local 7 // java.lang.String accessToken
        end local 6 // byte[] accessTokenFromDLL
        end local 5 // com.microsoft.sqlserver.jdbc.FedAuthDllInfo dllInfo
        35: .line 4562
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo com.microsoft.sqlserver.jdbc.SqlFedAuthToken java.lang.String int
      StackMap stack: com.microsoft.sqlserver.jdbc.DLLException
            astore 5 /* adalException */
        start local 5 // com.microsoft.sqlserver.jdbc.DLLException adalException
        36: .line 4565
            aload 5 /* adalException */
            invokevirtual com.microsoft.sqlserver.jdbc.DLLException.GetCategory:()I
            istore 6 /* errorCategory */
        start local 6 // int errorCategory
        37: .line 4566
            iconst_m1
            iload 6 /* errorCategory */
            if_icmpne 43
        38: .line 4567
            new java.text.MessageFormat
            dup
        39: .line 4568
            ldc "R_UnableLoadADALSqlDll"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        40: .line 4567
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        41: .line 4569
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* adalException */
            invokevirtual com.microsoft.sqlserver.jdbc.DLLException.GetState:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        42: .line 4570
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        43: .line 4573
      StackMap locals: com.microsoft.sqlserver.jdbc.DLLException int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerRemaining:(J)I
            istore 7 /* millisecondsRemaining */
        start local 7 // int millisecondsRemaining
        44: .line 4574
            iconst_2
            iload 6 /* errorCategory */
            if_icmpne 46
        45: .line 4575
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.timerExpire:J
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.timerHasExpired:(J)Z
            ifne 46
            iload 4 /* sleepInterval */
            iload 7 /* millisecondsRemaining */
            if_icmplt 64
        46: .line 4577
      StackMap locals: int
      StackMap stack:
            aload 5 /* adalException */
            invokevirtual com.microsoft.sqlserver.jdbc.DLLException.GetStatus:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 8 /* errorStatus */
        start local 8 // java.lang.String errorStatus
        47: .line 4579
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 53
        48: .line 4580
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        49: .line 4581
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " SQLServerConnection.getFedAuthToken.AdalException category:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 4582
            iload 6 /* errorCategory */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " error: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* errorStatus */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 4581
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 4580
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        53: .line 4585
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
        54: .line 4586
            ldc "R_ADALAuthenticationMiddleErrorMessage"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        55: .line 4585
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        56: .line 4587
            aload 5 /* adalException */
            invokevirtual com.microsoft.sqlserver.jdbc.DLLException.GetStatus:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 10 /* errorCode */
        start local 10 // java.lang.String errorCode
        57: .line 4588
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* errorCode */
            aastore
            dup
            iconst_1
            aload 5 /* adalException */
            invokevirtual com.microsoft.sqlserver.jdbc.DLLException.GetState:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 11 /* msgArgs1 */
        start local 11 // java.lang.Object[] msgArgs1
        58: .line 4589
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            aload 11 /* msgArgs1 */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        59: .line 4590
            aload 5 /* adalException */
        60: .line 4589
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 12 /* middleException */
        start local 12 // com.microsoft.sqlserver.jdbc.SQLServerException middleException
        61: .line 4592
            new java.text.MessageFormat
            dup
            ldc "R_MSALExecution"
            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 */
        62: .line 4593
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* user */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
        63: .line 4594
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 12 /* middleException */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // com.microsoft.sqlserver.jdbc.SQLServerException middleException
        end local 11 // java.lang.Object[] msgArgs1
        end local 10 // java.lang.String errorCode
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.String errorStatus
        64: .line 4597
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 71
        65: .line 4598
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " SQLServerConnection.getFedAuthToken sleeping: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        66: .line 4599
            iload 4 /* sleepInterval */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " milliseconds."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        67: .line 4598
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        68: .line 4600
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " SQLServerConnection.getFedAuthToken remaining: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        69: .line 4601
            iload 7 /* millisecondsRemaining */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " milliseconds."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        70: .line 4600
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        71: .line 4605
      StackMap locals:
      StackMap stack:
            iload 4 /* sleepInterval */
            i2l
            invokestatic java.lang.Thread.sleep:(J)V
        72: .line 4606
            goto 75
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        73: pop
        74: .line 4608
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        75: .line 4610
      StackMap locals:
      StackMap stack:
            iload 4 /* sleepInterval */
            iconst_2
            imul
            istore 4 /* sleepInterval */
        end local 7 // int millisecondsRemaining
        end local 6 // int errorCategory
        end local 5 // com.microsoft.sqlserver.jdbc.DLLException adalException
        76: .line 4612
            goto 90
        77: .line 4618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.msalContextExists:()Z
            ifne 81
        78: .line 4619
            new java.text.MessageFormat
            dup
            ldc "R_DLLandMSALMissing"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        79: .line 4620
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriver.AUTH_DLL_NAME:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
        80: .line 4621
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 5 /* form */
            aload 6 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        81: .line 4623
      StackMap locals:
      StackMap stack:
            aload 1 /* fedAuthInfo */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerMSAL4JUtils.getSqlFedAuthTokenIntegrated:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            astore 2 /* fedAuthToken */
        82: .line 4626
            goto 90
        83: .line 4627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryInteractive:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
        84: .line 4628
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.msalContextExists:()Z
            ifne 87
        85: .line 4629
            new java.text.MessageFormat
            dup
            ldc "R_MSALMissing"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        86: .line 4630
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 5 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 5 // java.text.MessageFormat form
        87: .line 4633
      StackMap locals:
      StackMap stack:
            aload 1 /* fedAuthInfo */
            aload 3 /* user */
        88: .line 4634
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.authenticationString:Ljava/lang/String;
        89: .line 4633
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerMSAL4JUtils.getSqlFedAuthTokenInteractive:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;Ljava/lang/String;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            astore 2 /* fedAuthToken */
        90: .line 4641
      StackMap locals:
      StackMap stack:
            aload 2 /* fedAuthToken */
            areturn
        end local 4 // int sleepInterval
        end local 3 // java.lang.String user
        end local 2 // com.microsoft.sqlserver.jdbc.SqlFedAuthToken fedAuthToken
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo fedAuthInfo
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   91     0                   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   91     1            fedAuthInfo  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$SqlFedAuthInfo;
            1   91     2           fedAuthToken  Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            3   91     3                   user  Ljava/lang/String;
            4   91     4          sleepInterval  I
            7    8     5                   form  Ljava/text/MessageFormat;
           30   35     5                dllInfo  Lcom/microsoft/sqlserver/jdbc/FedAuthDllInfo;
           32   35     6     accessTokenFromDLL  [B
           33   35     7            accessToken  Ljava/lang/String;
           36   76     5          adalException  Lcom/microsoft/sqlserver/jdbc/DLLException;
           37   76     6          errorCategory  I
           41   43     7                   form  Ljava/text/MessageFormat;
           42   43     8                msgArgs  [Ljava/lang/Object;
           44   76     7  millisecondsRemaining  I
           47   64     8            errorStatus  Ljava/lang/String;
           56   64     9                   form  Ljava/text/MessageFormat;
           57   64    10              errorCode  Ljava/lang/String;
           58   64    11               msgArgs1  [Ljava/lang/Object;
           61   64    12        middleException  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           63   64    13                msgArgs  [Ljava/lang/Object;
           79   81     5                   form  Ljava/text/MessageFormat;
           80   81     6                msgArgs  [Ljava/lang/Object;
           86   87     5                   form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          27    34      35  Class com.microsoft.sqlserver.jdbc.DLLException
          71    72      73  Class java.lang.InterruptedException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      fedAuthInfo  

  private boolean msalContextExists();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 4646
            ldc "com.microsoft.aad.msal4j.PublicClientApplication"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         1: .line 4647
            goto 4
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         2: pop
         3: .line 4648
            iconst_0
            ireturn
         4: .line 4650
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException

  private void sendFedAuthToken(com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand, com.microsoft.sqlserver.jdbc.SqlFedAuthToken, com.microsoft.sqlserver.jdbc.TDSTokenHandler);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FedAuthTokenCommand;Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand fedAuthCommand
        start local 2 // com.microsoft.sqlserver.jdbc.SqlFedAuthToken fedAuthToken
        start local 3 // com.microsoft.sqlserver.jdbc.TDSTokenHandler tdsTokenHandler
         0: .line 4658
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            aload 2 /* fedAuthToken */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4659
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 2
            aload 2 /* fedAuthToken */
            getfield com.microsoft.sqlserver.jdbc.SqlFedAuthToken.accessToken:Ljava/lang/String;
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 4661
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 4662
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 federated authentication token."
            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
         4: .line 4665
      StackMap locals:
      StackMap stack:
            aload 1 /* fedAuthCommand */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand.startRequest:(B)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 4 /* tdsWriter */
        start local 4 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         5: .line 4667
            aload 2 /* fedAuthToken */
            getfield com.microsoft.sqlserver.jdbc.SqlFedAuthToken.accessToken:Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 5 /* accessToken */
        start local 5 // byte[] accessToken
         6: .line 4671
            aload 4 /* tdsWriter */
            aload 5 /* accessToken */
            arraylength
            iconst_4
            iadd
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         7: .line 4674
            aload 4 /* tdsWriter */
            aload 5 /* accessToken */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         8: .line 4677
            aload 4 /* tdsWriter */
            aload 5 /* accessToken */
            iconst_0
            aload 5 /* accessToken */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
         9: .line 4680
            aload 1 /* fedAuthCommand */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand.startResponse:()Lcom/microsoft/sqlserver/jdbc/TDSReader;
            astore 6 /* tdsReader */
        start local 6 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        10: .line 4682
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
        11: .line 4684
            aload 6 /* tdsReader */
            aload 3 /* tdsTokenHandler */
            invokestatic com.microsoft.sqlserver.jdbc.TDSParser.parse:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
        12: .line 4685
            return
        end local 6 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 5 // byte[] accessToken
        end local 4 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 3 // com.microsoft.sqlserver.jdbc.TDSTokenHandler tdsTokenHandler
        end local 2 // com.microsoft.sqlserver.jdbc.SqlFedAuthToken fedAuthToken
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand fedAuthCommand
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   13     1   fedAuthCommand  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FedAuthTokenCommand;
            0   13     2     fedAuthToken  Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
            0   13     3  tdsTokenHandler  Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;
            5   13     4        tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            6   13     5      accessToken  [B
           10   13     6        tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      fedAuthCommand   
      fedAuthToken     
      tdsTokenHandler  

  final void processFeatureExtAck(com.microsoft.sqlserver.jdbc.TDSReader);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
         0: .line 4688
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            pop
         1: .line 4693
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            i2b
            istore 2 /* featureId */
        start local 2 // byte featureId
         2: .line 4695
            iload 2 /* featureId */
            iconst_m1
            if_icmpeq 8
         3: .line 4697
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            istore 3 /* dataLen */
        start local 3 // int dataLen
         4: .line 4699
            iload 3 /* dataLen */
            newarray 8
            astore 4 /* data */
        start local 4 // byte[] data
         5: .line 4700
            iload 3 /* dataLen */
            ifle 7
         6: .line 4701
            aload 1 /* tdsReader */
            aload 4 /* data */
            iconst_0
            iload 3 /* dataLen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readBytes:([BII)V
         7: .line 4703
      StackMap locals: int int byte[]
      StackMap stack:
            aload 0 /* this */
            iload 2 /* featureId */
            aload 4 /* data */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.onFeatureExtAck:(B[B)V
        end local 4 // byte[] data
        end local 3 // int dataLen
         8: .line 4705
      StackMap locals:
      StackMap stack:
            iload 2 /* featureId */
            iconst_m1
            if_icmpne 1
         9: .line 4706
            return
        end local 2 // byte featureId
        end local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   10     1  tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            2   10     2  featureId  B
            4    8     3    dataLen  I
            5    8     4       data  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsReader  

  private void onFeatureExtAck(byte, byte[]);
    descriptor: (B[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // byte featureId
        start local 2 // byte[] data
         0: .line 4710
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            ifnull 2
            bipush 11
            iload 1 /* featureId */
            if_icmpeq 2
         1: .line 4711
            return
         2: .line 4714
      StackMap locals:
      StackMap stack:
            iload 1 /* featureId */
            tableswitch { // 2 - 11
                    2: 3
                    3: 89
                    4: 35
                    5: 89
                    6: 89
                    7: 89
                    8: 89
                    9: 52
                   10: 68
                   11: 72
              default: 89
          }
         3: .line 4716
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 7
         4: .line 4717
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
         5: .line 4718
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received feature extension acknowledgement for federated authentication."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 4717
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         7: .line 4721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifne 15
         8: .line 4722
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 10
         9: .line 4723
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Did not request federated authentication."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        10: .line 4725
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        11: .line 4726
            ldc "R_UnrequestedFeatureAckReceived"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 4725
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        13: .line 4727
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* featureId */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        14: .line 4728
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        15: .line 4732
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
            ifnonnull 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 4734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            tableswitch { // 1 - 2
                    1: 17
                    2: 17
              default: 25
          }
        17: .line 4738
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            arraylength
            ifeq 90
        18: .line 4739
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 22
        19: .line 4740
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 4741
            ldc " Federated authentication feature extension ack for ADAL and Security Token includes extra data."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 4740
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        22: .line 4743
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
        23: .line 4744
            ldc "R_FedAuthFeatureAckContainsExtraData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        24: .line 4743
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        25: .line 4749
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 4750
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 30
        27: .line 4751
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        28: .line 4752
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Attempting to use unknown federated authentication library."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 4751
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        30: .line 4754
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        31: .line 4755
            ldc "R_FedAuthFeatureAckUnknownLibraryType"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 4754
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        33: .line 4756
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthFeatureExtensionData:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData.libraryType:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        34: .line 4757
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        35: .line 4762
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 37
        36: .line 4763
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received feature extension acknowledgement for AE."
            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
        37: .line 4766
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 2 /* data */
            arraylength
            if_icmple 39
        38: .line 4767
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_InvalidAEVersionNumber"
            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
        39: .line 4770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* data */
            iconst_0
            baload
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aeVersion:I
        40: .line 4771
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aeVersion:I
            ifeq 41
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aeVersion:I
            iconst_2
            if_icmple 42
        41: .line 4772
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_InvalidAEVersionNumber"
            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
        42: .line 4775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.AE_v1:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
        43: .line 4777
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            ifnull 90
        44: .line 4778
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aeVersion:I
            iconst_2
            if_icmpge 46
        45: .line 4779
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_enclaveNotSupported"
            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
        46: .line 4781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.AE_v2:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
        47: .line 4782
            aload 0 /* this */
            new java.lang.String
            dup
            aload 2 /* data */
            iconst_2
            aload 2 /* data */
            arraylength
            iconst_2
            isub
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveType:Ljava/lang/String;
        48: .line 4785
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveType:Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.EnclaveType.isValidEnclaveType:(Ljava/lang/String;)Z
            ifne 90
        49: .line 4786
            new java.text.MessageFormat
            dup
            ldc "R_enclaveTypeInvalid"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        50: .line 4787
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveType:Ljava/lang/String;
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        51: .line 4788
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 3 /* form */
            aload 4 /* 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 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        52: .line 4795
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 55
        53: .line 4796
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        54: .line 4797
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received feature extension acknowledgement for Data Classification."
            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
        55: .line 4800
      StackMap locals:
      StackMap stack:
            iconst_2
            aload 2 /* data */
            arraylength
            if_icmpeq 57
        56: .line 4801
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_UnknownDataClsTokenNumber"
            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
        57: .line 4804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* data */
            iconst_0
            baload
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportedDataClassificationVersion:B
        58: .line 4805
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportedDataClassificationVersion:B
            ifeq 60
        59: .line 4806
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportedDataClassificationVersion:B
            iconst_2
            if_icmple 63
        60: .line 4807
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_InvalidDataClsVersionNumber"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        61: .line 4808
            aconst_null
        62: .line 4807
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        63: .line 4811
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            iconst_1
            baload
            istore 3 /* enabled */
        start local 3 // byte enabled
        64: .line 4812
            aload 0 /* this */
            iload 3 /* enabled */
            ifeq 65
            iconst_1
            goto 66
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int byte[] int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
        65: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int byte[] int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
        66: putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDataClassification:Z
        67: .line 4813
            goto 90
        end local 3 // byte enabled
        68: .line 4816
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 70
        69: .line 4817
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received feature extension acknowledgement for UTF8 support."
            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
        70: .line 4820
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 2 /* data */
            arraylength
            if_icmple 90
        71: .line 4821
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unknownUTF8SupportValue"
            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
        72: .line 4826
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 76
        73: .line 4827
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        74: .line 4828
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received feature extension acknowledgement for Azure SQL DNS Caching."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        75: .line 4827
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        76: .line 4831
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 2 /* data */
            arraylength
            if_icmple 80
        77: .line 4832
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unknownAzureSQLDNSCachingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        78: .line 4833
            aconst_null
        79: .line 4832
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        80: .line 4836
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 2 /* data */
            iconst_0
            baload
            if_icmpne 85
        81: .line 4837
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDNSCaching:Z
        82: .line 4838
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            ifnonnull 90
        83: .line 4839
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
        84: .line 4841
            goto 90
        85: .line 4842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDNSCaching:Z
        86: .line 4843
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 90
        87: .line 4844
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        88: .line 4847
            goto 90
        89: .line 4851
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_UnknownFeatureAck"
            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
        90: .line 4854
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte[] data
        end local 1 // byte featureId
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   91     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   91     1  featureId  B
            0   91     2       data  [B
           13   15     3       form  Ljava/text/MessageFormat;
           14   15     4    msgArgs  [Ljava/lang/Object;
           33   35     3       form  Ljava/text/MessageFormat;
           34   35     4    msgArgs  [Ljava/lang/Object;
           50   52     3       form  Ljava/text/MessageFormat;
           51   52     4    msgArgs  [Ljava/lang/Object;
           64   68     3    enabled  B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      featureId  
      data       

  private void executeDTCCommand(int, byte[], java.lang.String);
    descriptor: (I[BLjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int requestType
        start local 2 // byte[] payload
        start local 3 // java.lang.String logContext
         0: .line 4892
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$1DTCCommand
            dup
            aload 0 /* this */
            iload 1 /* requestType */
            aload 2 /* payload */
            aload 3 /* logContext */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$1DTCCommand.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;I[BLjava/lang/String;)V
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
            pop
         1: .line 4893
            return
        end local 3 // java.lang.String logContext
        end local 2 // byte[] payload
        end local 1 // int requestType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  requestType  I
            0    2     2      payload  [B
            0    2     3   logContext  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      requestType  
      payload      
      logContext   

  final void JTAUnenlistConnection();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 4902
            aload 0 /* this */
            iconst_1
            aconst_null
            ldc "MS_DTC delist connection"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.executeDTCCommand:(I[BLjava/lang/String;)V
         1: .line 4903
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.inXATransaction:Z
         2: .line 4904
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final void JTAEnlistConnection(byte[]);
    descriptor: ([B)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // byte[] cookie
         0: .line 4915
            aload 0 /* this */
            iconst_1
            aload 1 /* cookie */
            ldc "MS_DTC enlist connection"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.executeDTCCommand:(I[BLjava/lang/String;)V
         1: .line 4919
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlStatementToSetTransactionIsolationLevel:()Ljava/lang/String;
            ldc "JTAEnlistConnection"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 4920
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.inXATransaction:Z
         3: .line 4921
            return
        end local 1 // byte[] cookie
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  cookie  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      cookie  

  private byte[] toUCS16(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String s
         0: .line 4931
            aload 1 /* s */
            ifnonnull 2
         1: .line 4932
            iconst_0
            newarray 8
            areturn
         2: .line 4933
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* l */
        start local 2 // int l
         3: .line 4934
            iload 2 /* l */
            iconst_2
            imul
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
         4: .line 4935
            iconst_0
            istore 4 /* offset */
        start local 4 // int offset
         5: .line 4936
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 12
         7: .line 4937
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int byte[] int int
      StackMap stack:
            aload 1 /* s */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // int c
         8: .line 4938
            iload 6 /* c */
            sipush 255
            iand
            i2b
            istore 7 /* b1 */
        start local 7 // byte b1
         9: .line 4939
            aload 3 /* data */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            iload 7 /* b1 */
            bastore
        10: .line 4940
            aload 3 /* data */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            iload 6 /* c */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
        end local 7 // byte b1
        end local 6 // int c
        11: .line 4936
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 2 /* l */
            if_icmplt 7
        end local 5 // int i
        13: .line 4942
            aload 3 /* data */
            areturn
        end local 4 // int offset
        end local 3 // byte[] data
        end local 2 // int l
        end local 1 // java.lang.String s
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   14     1       s  Ljava/lang/String;
            3   14     2       l  I
            4   14     3    data  [B
            5   14     4  offset  I
            6   13     5       i  I
            8   11     6       c  I
            9   11     7      b1  B
    MethodParameters:
      Name  Flags
      s     

  private byte[] encryptPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String pwd
         0: .line 4954
            aload 1 /* pwd */
            ifnonnull 2
         1: .line 4955
            ldc ""
            astore 1 /* pwd */
         2: .line 4956
      StackMap locals:
      StackMap stack:
            aload 1 /* pwd */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         3: .line 4957
            iload 2 /* len */
            iconst_2
            imul
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
         4: .line 4958
            iconst_0
            istore 4 /* i1 */
        start local 4 // int i1
         5: goto 13
         6: .line 4959
      StackMap locals: int byte[] int
      StackMap stack:
            aload 1 /* pwd */
            iload 4 /* i1 */
            invokevirtual java.lang.String.charAt:(I)C
            sipush 23130
            ixor
            istore 5 /* j1 */
        start local 5 // int j1
         7: .line 4960
            iload 5 /* j1 */
            bipush 15
            iand
            iconst_4
            ishl
            iload 5 /* j1 */
            sipush 240
            iand
            iconst_4
            ishr
            ior
            iload 5 /* j1 */
            sipush 3840
            iand
            iconst_4
            ishl
            ior
            iload 5 /* j1 */
            ldc 61440
            iand
            iconst_4
            ishr
            ior
            istore 5 /* j1 */
         8: .line 4961
            iload 5 /* j1 */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            istore 6 /* b1 */
        start local 6 // byte b1
         9: .line 4962
            aload 3 /* data */
            iload 4 /* i1 */
            iconst_2
            imul
            iconst_1
            iadd
            iload 6 /* b1 */
            bastore
        10: .line 4963
            iload 5 /* j1 */
            sipush 255
            iand
            i2b
            istore 7 /* b2 */
        start local 7 // byte b2
        11: .line 4964
            aload 3 /* data */
            iload 4 /* i1 */
            iconst_2
            imul
            iconst_0
            iadd
            iload 7 /* b2 */
            bastore
        end local 7 // byte b2
        end local 6 // byte b1
        end local 5 // int j1
        12: .line 4958
            iinc 4 /* i1 */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i1 */
            iload 2 /* len */
            if_icmplt 6
        end local 4 // int i1
        14: .line 4966
            aload 3 /* data */
            areturn
        end local 3 // byte[] data
        end local 2 // int len
        end local 1 // java.lang.String pwd
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   15     1   pwd  Ljava/lang/String;
            3   15     2   len  I
            4   15     3  data  [B
            5   14     4    i1  I
            7   12     5    j1  I
            9   12     6    b1  B
           11   12     7    b2  B
    MethodParameters:
      Name  Flags
      pwd   

  private void sendLogon(com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand, com.microsoft.sqlserver.jdbc.SSPIAuthentication, com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$LogonCommand;Lcom/microsoft/sqlserver/jdbc/SSPIAuthentication;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=29, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand logonCommand
        start local 2 // com.microsoft.sqlserver.jdbc.SSPIAuthentication authentication
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData
         0: .line 5051
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.fedAuthRequiredPreLoginResponse:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5053
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifeq 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 5055
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 5
            aload 3 /* fedAuthFeatureExtensionData */
            ifnull 5
         4: .line 5056
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 5
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 5058
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 8
            aload 3 /* fedAuthFeatureExtensionData */
            ifnonnull 8
         6: .line 5059
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 7
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifeq 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 5061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.USER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* sUser */
        start local 4 // java.lang.String sUser
         9: .line 5062
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.PASSWORD:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sPwd */
        start local 5 // java.lang.String sPwd
        10: .line 5063
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
        11: .line 5064
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.APPLICATION_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 5063
            astore 6 /* appName */
        start local 6 // java.lang.String appName
        13: .line 5065
            ldc "Microsoft JDBC Driver 9.2"
            astore 7 /* interfaceLibName */
        start local 7 // java.lang.String interfaceLibName
        14: .line 5066
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
        15: .line 5067
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        16: .line 5066
            astore 8 /* databaseName */
        start local 8 // java.lang.String databaseName
        17: .line 5068
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            ifnull 18
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.getServerName:()Ljava/lang/String;
            goto 22
        18: .line 5069
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
        19: .line 5070
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
        20: .line 5071
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
        21: .line 5069
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        22: .line 5068
      StackMap locals:
      StackMap stack: java.lang.String
            astore 9 /* serverName */
        start local 9 // java.lang.String serverName
        23: .line 5072
            aload 9 /* serverName */
            ifnull 25
            aload 9 /* serverName */
            invokevirtual java.lang.String.length:()I
            sipush 128
            if_icmple 25
        24: .line 5073
            aload 9 /* serverName */
            iconst_0
            sipush 128
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* serverName */
        25: .line 5076
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            newarray 8
            astore 10 /* secBlob */
        start local 10 // byte[] secBlob
        26: .line 5077
            iconst_1
            newarray 4
            astore 11 /* done */
        start local 11 // boolean[] done
        27: .line 5078
            aload 2 /* authentication */
            ifnull 31
        28: .line 5079
            aload 2 /* authentication */
            aload 10 /* secBlob */
            aload 11 /* done */
            invokevirtual com.microsoft.sqlserver.jdbc.SSPIAuthentication.generateClientContext:([B[Z)[B
            astore 10 /* secBlob */
        29: .line 5080
            aconst_null
            astore 4 /* sUser */
        30: .line 5081
            aconst_null
            astore 5 /* sPwd */
        31: .line 5084
      StackMap locals: byte[] boolean[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toUCS16:(Ljava/lang/String;)[B
            astore 12 /* hostnameBytes */
        start local 12 // byte[] hostnameBytes
        32: .line 5085
            aload 0 /* this */
            aload 4 /* sUser */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toUCS16:(Ljava/lang/String;)[B
            astore 13 /* userBytes */
        start local 13 // byte[] userBytes
        33: .line 5086
            aload 0 /* this */
            aload 5 /* sPwd */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.encryptPassword:(Ljava/lang/String;)[B
            astore 14 /* passwordBytes */
        start local 14 // byte[] passwordBytes
        34: .line 5087
            aload 14 /* passwordBytes */
            ifnull 35
            aload 14 /* passwordBytes */
            arraylength
            goto 36
      StackMap locals: byte[] byte[] byte[]
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 15 /* passwordLen */
        start local 15 // int passwordLen
        37: .line 5088
            aload 0 /* this */
            aload 6 /* appName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toUCS16:(Ljava/lang/String;)[B
            astore 16 /* appNameBytes */
        start local 16 // byte[] appNameBytes
        38: .line 5089
            aload 0 /* this */
            aload 9 /* serverName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toUCS16:(Ljava/lang/String;)[B
            astore 17 /* serverNameBytes */
        start local 17 // byte[] serverNameBytes
        39: .line 5090
            aload 0 /* this */
            aload 7 /* interfaceLibName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toUCS16:(Ljava/lang/String;)[B
            astore 18 /* interfaceLibNameBytes */
        start local 18 // byte[] interfaceLibNameBytes
        40: .line 5091
            iconst_4
            newarray 8
            dup
            iconst_1
            iconst_1
            bastore
            dup
            iconst_2
        41: .line 5092
            iconst_2
            bastore
            dup
            iconst_3
            bipush 9
            bastore
        42: .line 5091
            astore 19 /* interfaceLibVersionBytes */
        start local 19 // byte[] interfaceLibVersionBytes
        43: .line 5093
            aload 0 /* this */
            aload 8 /* databaseName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toUCS16:(Ljava/lang/String;)[B
            astore 20 /* databaseNameBytes */
        start local 20 // byte[] databaseNameBytes
        44: .line 5094
            bipush 6
            newarray 8
            astore 21 /* netAddress */
        start local 21 // byte[] netAddress
        45: .line 5095
            iconst_0
            istore 22 /* dataLen */
        start local 22 // int dataLen
        46: .line 5098
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            bipush 11
            if_icmplt 49
        47: .line 5099
            aload 0 /* this */
            ldc 1946157060
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
        48: .line 5100
            goto 56
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int
      StackMap stack:
        49: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            bipush 10
            if_icmplt 52
        50: .line 5101
            aload 0 /* this */
            ldc 1930100739
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
        51: .line 5102
            goto 56
      StackMap locals:
      StackMap stack:
        52: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            bipush 9
            if_icmplt 55
        53: .line 5103
            aload 0 /* this */
            ldc 1913192450
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
        54: .line 5104
            goto 56
        55: .line 5105
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 56
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "prelogin did not disconnect for the old version: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            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
        56: .line 5109
      StackMap locals:
      StackMap stack:
            aload 1 /* logonCommand */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.startRequest:(B)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 23 /* tdsWriter */
        start local 23 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        57: .line 5111
            bipush 94
            aload 12 /* hostnameBytes */
            arraylength
            iadd
            aload 16 /* appNameBytes */
            arraylength
            iadd
            aload 17 /* serverNameBytes */
            arraylength
            iadd
        58: .line 5112
            aload 18 /* interfaceLibNameBytes */
            arraylength
        59: .line 5111
            iadd
        60: .line 5112
            aload 20 /* databaseNameBytes */
            arraylength
        61: .line 5111
            iadd
        62: .line 5112
            aload 10 /* secBlob */
            ifnull 63
            aload 10 /* secBlob */
            arraylength
            goto 64
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter
      StackMap stack: int
        63: iconst_0
        64: .line 5111
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter
      StackMap stack: int int
            iadd
        65: .line 5113
            iconst_4
        66: .line 5111
            iadd
            istore 24 /* len */
        start local 24 // int len
        67: .line 5116
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifne 70
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 70
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifne 70
        68: .line 5117
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
            ifnonnull 70
        69: .line 5118
            iload 24 /* len */
            iload 15 /* passwordLen */
            iadd
            aload 13 /* userBytes */
            arraylength
            iadd
            istore 24 /* len */
        70: .line 5121
      StackMap locals: int
      StackMap stack:
            iload 24 /* len */
            istore 25 /* aeOffset */
        start local 25 // int aeOffset
        71: .line 5123
            iload 24 /* len */
            aload 0 /* this */
            iconst_0
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeAEFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            iadd
            istore 24 /* len */
        72: .line 5124
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 73
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifeq 74
        73: .line 5125
      StackMap locals: int
      StackMap stack:
            iload 24 /* len */
            aload 0 /* this */
            iconst_0
            aload 23 /* tdsWriter */
            aload 3 /* fedAuthFeatureExtensionData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeFedAuthFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;)I
            iadd
            istore 24 /* len */
        74: .line 5129
      StackMap locals:
      StackMap stack:
            iload 24 /* len */
            aload 0 /* this */
            iconst_0
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeDataClassificationFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            iadd
            istore 24 /* len */
        75: .line 5131
            iload 24 /* len */
            aload 0 /* this */
            iconst_0
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeUTF8SupportFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            iadd
            istore 24 /* len */
        76: .line 5133
            iload 24 /* len */
            aload 0 /* this */
            iconst_0
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeDNSCacheFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            iadd
            istore 24 /* len */
        77: .line 5135
            iinc 24 /* len */ 1
        78: .line 5138
            aload 23 /* tdsWriter */
            iload 24 /* len */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        79: .line 5139
            aload 23 /* tdsWriter */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        80: .line 5140
            aload 23 /* tdsWriter */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedPacketSize:I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        81: .line 5141
            aload 23 /* tdsWriter */
            aload 19 /* interfaceLibVersionBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        82: .line 5142
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        83: .line 5143
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        84: .line 5145
            aload 23 /* tdsWriter */
            bipush -32
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        85: .line 5156
            aload 23 /* tdsWriter */
            iconst_3
        86: .line 5160
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 88
        87: .line 5161
            bipush -128
            goto 89
        88: .line 5162
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
            iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int int
        89: ior
            i2b
        90: .line 5156
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        91: .line 5165
            aload 23 /* tdsWriter */
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            ifnull 93
        92: .line 5166
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            getstatic com.microsoft.sqlserver.jdbc.ApplicationIntent.READ_ONLY:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            invokevirtual com.microsoft.sqlserver.jdbc.ApplicationIntent.equals:(Ljava/lang/Object;)Z
            ifeq 93
            bipush 32
            goto 94
        93: .line 5167
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
            iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int int
        94: ior
            i2b
        95: .line 5165
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        96: .line 5173
            bipush 16
            istore 26 /* colEncSetting */
        start local 26 // byte colEncSetting
        97: .line 5177
            aload 23 /* tdsWriter */
            iconst_0
            iload 26 /* colEncSetting */
            ior
        98: .line 5178
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverMajorVersion:I
            bipush 10
            if_icmplt 99
            bipush 8
            goto 100
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        99: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int int
       100: ior
            i2b
       101: .line 5177
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       102: .line 5180
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       103: .line 5181
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       104: .line 5183
            aload 23 /* tdsWriter */
            bipush 94
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       105: .line 5186
            aload 23 /* tdsWriter */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
            ifnull 106
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 106
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.hostName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            goto 107
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       106: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       107: i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       108: .line 5187
            iload 22 /* dataLen */
            aload 12 /* hostnameBytes */
            arraylength
            iadd
            istore 22 /* dataLen */
       109: .line 5191
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.ntlmAuthentication:Z
            ifeq 115
       110: .line 5192
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       111: .line 5193
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       112: .line 5194
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       113: .line 5195
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       114: .line 5197
            goto 132
      StackMap locals:
      StackMap stack:
       115: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifne 128
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 128
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifne 128
       116: .line 5198
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
            ifnonnull 128
       117: .line 5200
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       118: .line 5201
            aload 23 /* tdsWriter */
            aload 4 /* sUser */
            ifnonnull 119
            iconst_0
            goto 120
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       119: aload 4 /* sUser */
            invokevirtual java.lang.String.length:()I
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       120: i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       121: .line 5202
            iload 22 /* dataLen */
            aload 13 /* userBytes */
            arraylength
            iadd
            istore 22 /* dataLen */
       122: .line 5204
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       123: .line 5205
            aload 23 /* tdsWriter */
            aload 5 /* sPwd */
            ifnonnull 124
            iconst_0
            goto 125
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       124: aload 5 /* sPwd */
            invokevirtual java.lang.String.length:()I
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       125: i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       126: .line 5206
            iload 22 /* dataLen */
            iload 15 /* passwordLen */
            iadd
            istore 22 /* dataLen */
       127: .line 5208
            goto 132
       128: .line 5210
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       129: .line 5211
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       130: .line 5212
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       131: .line 5213
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       132: .line 5217
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       133: .line 5218
            aload 23 /* tdsWriter */
            aload 6 /* appName */
            ifnonnull 134
            iconst_0
            goto 135
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       134: aload 6 /* appName */
            invokevirtual java.lang.String.length:()I
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       135: i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       136: .line 5219
            iload 22 /* dataLen */
            aload 16 /* appNameBytes */
            arraylength
            iadd
            istore 22 /* dataLen */
       137: .line 5222
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       138: .line 5223
            aload 23 /* tdsWriter */
            aload 9 /* serverName */
            ifnonnull 139
            iconst_0
            goto 140
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       139: aload 9 /* serverName */
            invokevirtual java.lang.String.length:()I
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       140: i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       141: .line 5224
            iload 22 /* dataLen */
            aload 17 /* serverNameBytes */
            arraylength
            iadd
            istore 22 /* dataLen */
       142: .line 5227
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       143: .line 5230
            aload 23 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       144: .line 5231
            iinc 22 /* dataLen */ 4
       145: .line 5235
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 146
            aload 7 /* interfaceLibName */
            ifnonnull 146
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       146: .line 5236
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       147: .line 5237
            aload 23 /* tdsWriter */
            aload 7 /* interfaceLibName */
            invokevirtual java.lang.String.length:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       148: .line 5238
            iload 22 /* dataLen */
            aload 18 /* interfaceLibNameBytes */
            arraylength
            iadd
            istore 22 /* dataLen */
       149: .line 5241
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       150: .line 5242
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       151: .line 5245
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       152: .line 5246
            aload 23 /* tdsWriter */
            aload 8 /* databaseName */
            ifnonnull 153
            iconst_0
            goto 154
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       153: aload 8 /* databaseName */
            invokevirtual java.lang.String.length:()I
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand com.microsoft.sqlserver.jdbc.SSPIAuthentication com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String byte[] boolean[] byte[] byte[] byte[] int byte[] byte[] byte[] byte[] byte[] byte[] int com.microsoft.sqlserver.jdbc.TDSWriter int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       154: i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       155: .line 5247
            iload 22 /* dataLen */
            aload 20 /* databaseNameBytes */
            arraylength
            iadd
            istore 22 /* dataLen */
       156: .line 5250
            aload 23 /* tdsWriter */
            aload 21 /* netAddress */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       157: .line 5254
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifne 161
       158: .line 5255
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       159: .line 5256
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       160: .line 5257
            goto 166
       161: .line 5258
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            bipush 94
            iload 22 /* dataLen */
            iadd
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       162: .line 5259
            ldc 65535
            aload 10 /* secBlob */
            arraylength
            if_icmpgt 165
       163: .line 5260
            aload 23 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       164: .line 5261
            goto 166
       165: .line 5262
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            aload 10 /* secBlob */
            arraylength
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       166: .line 5267
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       167: .line 5268
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       168: .line 5270
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsVersion:I
            ldc 1913192450
            if_icmplt 175
       169: .line 5272
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       170: .line 5273
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       171: .line 5276
            aload 10 /* secBlob */
            ifnull 174
            ldc 65535
            aload 10 /* secBlob */
            arraylength
            if_icmpgt 174
       172: .line 5277
            aload 23 /* tdsWriter */
            aload 10 /* secBlob */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       173: .line 5278
            goto 175
       174: .line 5279
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       175: .line 5283
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            aload 12 /* hostnameBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       176: .line 5286
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setDataLoggable:(Z)V
       177: .line 5291
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifne 181
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 181
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifne 181
       178: .line 5292
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.clientCertificate:Ljava/lang/String;
            ifnonnull 181
       179: .line 5293
            aload 23 /* tdsWriter */
            aload 13 /* userBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       180: .line 5294
            aload 23 /* tdsWriter */
            aload 14 /* passwordBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       181: .line 5296
      StackMap locals:
      StackMap stack:
            aload 23 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setDataLoggable:(Z)V
       182: .line 5298
            aload 23 /* tdsWriter */
            aload 16 /* appNameBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       183: .line 5299
            aload 23 /* tdsWriter */
            aload 17 /* serverNameBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       184: .line 5302
            aload 23 /* tdsWriter */
            iload 25 /* aeOffset */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       185: .line 5304
            aload 23 /* tdsWriter */
            aload 18 /* interfaceLibNameBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       186: .line 5305
            aload 23 /* tdsWriter */
            aload 20 /* databaseNameBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       187: .line 5308
            aload 23 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setDataLoggable:(Z)V
       188: .line 5311
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.integratedSecurity:Z
            ifeq 190
       189: .line 5312
            aload 23 /* tdsWriter */
            aload 10 /* secBlob */
            iconst_0
            aload 10 /* secBlob */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
       190: .line 5316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeAEFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            pop
       191: .line 5318
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationInfoRequested:Z
            ifne 192
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.federatedAuthenticationRequested:Z
            ifeq 193
       192: .line 5319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 23 /* tdsWriter */
            aload 3 /* fedAuthFeatureExtensionData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeFedAuthFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;)I
            pop
       193: .line 5322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeDataClassificationFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            pop
       194: .line 5323
            aload 0 /* this */
            iconst_1
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeUTF8SupportFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            pop
       195: .line 5324
            aload 0 /* this */
            iconst_1
            aload 23 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.writeDNSCacheFeatureRequest:(ZLcom/microsoft/sqlserver/jdbc/TDSWriter;)I
            pop
       196: .line 5326
            aload 23 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       197: .line 5327
            aload 23 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setDataLoggable:(Z)V
       198: .line 5329
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor
            dup
            aload 0 /* this */
            aload 2 /* authentication */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/SSPIAuthentication;)V
            astore 27 /* logonProcessor */
        start local 27 // com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor logonProcessor
       199: .line 5332
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor
      StackMap stack:
            aload 1 /* logonCommand */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.startResponse:()Lcom/microsoft/sqlserver/jdbc/TDSReader;
            astore 28 /* tdsReader */
        start local 28 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
       200: .line 5333
            aload 28 /* tdsReader */
            aload 27 /* logonProcessor */
            invokestatic com.microsoft.sqlserver.jdbc.TDSParser.parse:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/TDSTokenHandler;)V
       201: .line 5334
            aload 27 /* logonProcessor */
            aload 1 /* logonCommand */
            aload 28 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor.complete:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$LogonCommand;Lcom/microsoft/sqlserver/jdbc/TDSReader;)Z
            ifeq 199
       202: .line 5335
            return
        end local 28 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 27 // com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor logonProcessor
        end local 26 // byte colEncSetting
        end local 25 // int aeOffset
        end local 24 // int len
        end local 23 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 22 // int dataLen
        end local 21 // byte[] netAddress
        end local 20 // byte[] databaseNameBytes
        end local 19 // byte[] interfaceLibVersionBytes
        end local 18 // byte[] interfaceLibNameBytes
        end local 17 // byte[] serverNameBytes
        end local 16 // byte[] appNameBytes
        end local 15 // int passwordLen
        end local 14 // byte[] passwordBytes
        end local 13 // byte[] userBytes
        end local 12 // byte[] hostnameBytes
        end local 11 // boolean[] done
        end local 10 // byte[] secBlob
        end local 9 // java.lang.String serverName
        end local 8 // java.lang.String databaseName
        end local 7 // java.lang.String interfaceLibName
        end local 6 // java.lang.String appName
        end local 5 // java.lang.String sPwd
        end local 4 // java.lang.String sUser
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData
        end local 2 // com.microsoft.sqlserver.jdbc.SSPIAuthentication authentication
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand logonCommand
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  203     0                         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0  203     1                 logonCommand  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$LogonCommand;
            0  203     2               authentication  Lcom/microsoft/sqlserver/jdbc/SSPIAuthentication;
            0  203     3  fedAuthFeatureExtensionData  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
            9  203     4                        sUser  Ljava/lang/String;
           10  203     5                         sPwd  Ljava/lang/String;
           13  203     6                      appName  Ljava/lang/String;
           14  203     7             interfaceLibName  Ljava/lang/String;
           17  203     8                 databaseName  Ljava/lang/String;
           23  203     9                   serverName  Ljava/lang/String;
           26  203    10                      secBlob  [B
           27  203    11                         done  [Z
           32  203    12                hostnameBytes  [B
           33  203    13                    userBytes  [B
           34  203    14                passwordBytes  [B
           37  203    15                  passwordLen  I
           38  203    16                 appNameBytes  [B
           39  203    17              serverNameBytes  [B
           40  203    18        interfaceLibNameBytes  [B
           43  203    19     interfaceLibVersionBytes  [B
           44  203    20            databaseNameBytes  [B
           45  203    21                   netAddress  [B
           46  203    22                      dataLen  I
           57  203    23                    tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
           67  203    24                          len  I
           71  203    25                     aeOffset  I
           97  203    26                colEncSetting  B
          199  203    27               logonProcessor  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$1LogonProcessor;
          200  203    28                    tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                             Name  Flags
      logonCommand                 
      authentication               
      fedAuthFeatureExtensionData  

  private void checkValidHoldability(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int holdability
         0: .line 5343
            iload 1 /* holdability */
            iconst_1
            if_icmpeq 3
            iload 1 /* holdability */
            iconst_2
            if_icmpeq 3
         1: .line 5344
            new java.text.MessageFormat
            dup
            ldc "R_invalidHoldability"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         2: .line 5345
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* holdability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            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
        end local 2 // java.text.MessageFormat form
         3: .line 5347
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int holdability
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  holdability  I
            2    3     2         form  Ljava/text/MessageFormat;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      holdability  

  private void checkMatchesCurrentHoldability(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int resultSetHoldability
         0: .line 5359
            iload 1 /* resultSetHoldability */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            if_icmpeq 4
         1: .line 5360
            aload 0 /* this */
            aload 0 /* this */
         2: .line 5361
            ldc "R_sqlServerHoldability"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
         3: .line 5360
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 5363
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int resultSetHoldability
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1  resultSetHoldability  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      resultSetHoldability  

  public java.sql.Statement createStatement(int, int, int);
    descriptor: (III)Ljava/sql/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int nType
        start local 2 // int nConcur
        start local 3 // int resultSetHoldability
         0: .line 5367
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
         1: .line 5368
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* nType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* nConcur */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* resultSetHoldability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         2: .line 5367
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5369
            aload 0 /* this */
            iload 1 /* nType */
            iload 2 /* nConcur */
            iload 3 /* resultSetHoldability */
         4: .line 5370
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         5: .line 5369
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:(IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/Statement;
            astore 4 /* st */
        start local 4 // java.sql.Statement st
         6: .line 5371
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
            aload 4 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 5372
            aload 4 /* st */
            areturn
        end local 4 // java.sql.Statement st
        end local 3 // int resultSetHoldability
        end local 2 // int nConcur
        end local 1 // int nType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1                 nType  I
            0    8     2               nConcur  I
            0    8     3  resultSetHoldability  I
            6    8     4                    st  Ljava/sql/Statement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      nType                 
      nConcur               
      resultSetHoldability  

  public java.sql.Statement createStatement(int, int, int, com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int nType
        start local 2 // int nConcur
        start local 3 // int resultSetHoldability
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
         0: .line 5378
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
         1: .line 5379
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* nType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* nConcur */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* resultSetHoldability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 4 /* stmtColEncSetting */
            aastore
         2: .line 5378
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5380
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5381
            aload 0 /* this */
            iload 3 /* resultSetHoldability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkValidHoldability:(I)V
         5: .line 5382
            aload 0 /* this */
            iload 3 /* resultSetHoldability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkMatchesCurrentHoldability:(I)V
         6: .line 5383
            new com.microsoft.sqlserver.jdbc.SQLServerStatement
            dup
            aload 0 /* this */
            iload 1 /* nType */
            iload 2 /* nConcur */
            aload 4 /* stmtColEncSetting */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 5 /* st */
        start local 5 // java.sql.Statement st
         7: .line 5384
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 9
         8: .line 5385
            aload 0 /* this */
            aload 5 /* st */
            checkcast com.microsoft.sqlserver.jdbc.ISQLServerStatement
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
         9: .line 5387
      StackMap locals: java.sql.Statement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createStatement"
            aload 5 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 5388
            aload 5 /* st */
            areturn
        end local 5 // java.sql.Statement st
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
        end local 3 // int resultSetHoldability
        end local 2 // int nConcur
        end local 1 // int nType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   11     1                 nType  I
            0   11     2               nConcur  I
            0   11     3  resultSetHoldability  I
            0   11     4     stmtColEncSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            7   11     5                    st  Ljava/sql/Statement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      nType                 
      nConcur               
      resultSetHoldability  
      stmtColEncSetting     

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int nType
        start local 3 // int nConcur
        start local 4 // int resultSetHoldability
         0: .line 5394
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         1: .line 5395
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* nType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* nConcur */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 4 /* resultSetHoldability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         2: .line 5394
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5396
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* nType */
            iload 3 /* nConcur */
            iload 4 /* resultSetHoldability */
         4: .line 5397
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         5: .line 5396
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            astore 5 /* st */
        start local 5 // java.sql.PreparedStatement st
         6: .line 5398
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 5 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 5399
            aload 5 /* st */
            areturn
        end local 5 // java.sql.PreparedStatement st
        end local 4 // int resultSetHoldability
        end local 3 // int nConcur
        end local 2 // int nType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1                   sql  Ljava/lang/String;
            0    8     2                 nType  I
            0    8     3               nConcur  I
            0    8     4  resultSetHoldability  I
            6    8     5                    st  Ljava/sql/PreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      nType                 
      nConcur               
      resultSetHoldability  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int, int, int, com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Ljava/lang/String;IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int nType
        start local 3 // int nConcur
        start local 4 // int resultSetHoldability
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
         0: .line 5405
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         1: .line 5406
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* nType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* nConcur */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 4 /* resultSetHoldability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 5 /* stmtColEncSetting */
            aastore
         2: .line 5405
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5407
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5408
            aload 0 /* this */
            iload 4 /* resultSetHoldability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkValidHoldability:(I)V
         5: .line 5409
            aload 0 /* this */
            iload 4 /* resultSetHoldability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkMatchesCurrentHoldability:(I)V
         6: .line 5411
            new com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            dup
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* nType */
            iload 3 /* nConcur */
            aload 5 /* stmtColEncSetting */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 6 /* st */
        start local 6 // java.sql.PreparedStatement st
         7: .line 5413
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 9
         8: .line 5414
            aload 0 /* this */
            aload 6 /* st */
            checkcast com.microsoft.sqlserver.jdbc.ISQLServerStatement
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
         9: .line 5417
      StackMap locals: java.sql.PreparedStatement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 6 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 5418
            aload 6 /* st */
            areturn
        end local 6 // java.sql.PreparedStatement st
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
        end local 4 // int resultSetHoldability
        end local 3 // int nConcur
        end local 2 // int nType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   11     1                   sql  Ljava/lang/String;
            0   11     2                 nType  I
            0   11     3               nConcur  I
            0   11     4  resultSetHoldability  I
            0   11     5     stmtColEncSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            7   11     6                    st  Ljava/sql/PreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      nType                 
      nConcur               
      resultSetHoldability  
      stmtColEncSetting     

  public java.sql.CallableStatement prepareCall(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)Ljava/sql/CallableStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int nType
        start local 3 // int nConcur
        start local 4 // int resultSetHoldability
         0: .line 5424
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         1: .line 5425
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* nType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* nConcur */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 4 /* resultSetHoldability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         2: .line 5424
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5426
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* nType */
            iload 3 /* nConcur */
            iload 4 /* resultSetHoldability */
         4: .line 5427
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         5: .line 5426
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/CallableStatement;
            astore 5 /* st */
        start local 5 // java.sql.CallableStatement st
         6: .line 5428
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareCall"
            aload 5 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 5429
            aload 5 /* st */
            areturn
        end local 5 // java.sql.CallableStatement st
        end local 4 // int resultSetHoldability
        end local 3 // int nConcur
        end local 2 // int nType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1                   sql  Ljava/lang/String;
            0    8     2                 nType  I
            0    8     3               nConcur  I
            0    8     4  resultSetHoldability  I
            6    8     5                    st  Ljava/sql/CallableStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      nType                 
      nConcur               
      resultSetHoldability  

  public java.sql.CallableStatement prepareCall(java.lang.String, int, int, int, com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Ljava/lang/String;IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/CallableStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int nType
        start local 3 // int nConcur
        start local 4 // int resultSetHoldability
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetiing
         0: .line 5435
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         1: .line 5436
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* nType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* nConcur */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 4 /* resultSetHoldability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 5 /* stmtColEncSetiing */
            aastore
         2: .line 5435
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5437
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5438
            aload 0 /* this */
            iload 4 /* resultSetHoldability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkValidHoldability:(I)V
         5: .line 5439
            aload 0 /* this */
            iload 4 /* resultSetHoldability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkMatchesCurrentHoldability:(I)V
         6: .line 5441
            new com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            dup
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* nType */
            iload 3 /* nConcur */
            aload 5 /* stmtColEncSetiing */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 6 /* st */
        start local 6 // java.sql.CallableStatement st
         7: .line 5443
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 9
         8: .line 5444
            aload 0 /* this */
            aload 6 /* st */
            checkcast com.microsoft.sqlserver.jdbc.ISQLServerStatement
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addOpenStatement:(Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
         9: .line 5447
      StackMap locals: java.sql.CallableStatement
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareCall"
            aload 6 /* st */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 5448
            aload 6 /* st */
            areturn
        end local 6 // java.sql.CallableStatement st
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetiing
        end local 4 // int resultSetHoldability
        end local 3 // int nConcur
        end local 2 // int nType
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   11     1                   sql  Ljava/lang/String;
            0   11     2                 nType  I
            0   11     3               nConcur  I
            0   11     4  resultSetHoldability  I
            0   11     5     stmtColEncSetiing  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            7   11     6                    st  Ljava/sql/CallableStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      sql                   
      nType                 
      nConcur               
      resultSetHoldability  
      stmtColEncSetiing     

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int flag
         0: .line 5455
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 2
         1: .line 5456
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            iload 2 /* flag */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 5458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* flag */
         3: .line 5459
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         4: .line 5458
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;ILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            astore 3 /* ps */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
         5: .line 5461
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 3 /* ps */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 5462
            aload 3 /* ps */
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        end local 2 // int flag
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    7     1   sql  Ljava/lang/String;
            0    7     2  flag  I
            5    7     3    ps  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      sql   
      flag  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int, com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Ljava/lang/String;ILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int flag
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
         0: .line 5468
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 2
         1: .line 5469
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            iload 2 /* flag */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* stmtColEncSetting */
            aastore
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 5471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         3: .line 5472
            aload 0 /* this */
            aload 1 /* sql */
            sipush 1003
         4: .line 5473
            sipush 1007
            aload 3 /* stmtColEncSetting */
         5: .line 5472
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            astore 4 /* ps */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
         6: .line 5474
            aload 4 /* ps */
            iload 2 /* flag */
            iconst_1
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
         7: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement int
         8: putfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.bRequestedGeneratedKeys:Z
         9: .line 5475
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 4 /* ps */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 5476
            aload 4 /* ps */
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
        end local 2 // int flag
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   11     1                sql  Ljava/lang/String;
            0   11     2               flag  I
            0   11     3  stmtColEncSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            6   11     4                 ps  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sql                
      flag               
      stmtColEncSetting  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int[]);
    descriptor: (Ljava/lang/String;[I)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int[] columnIndexes
         0: .line 5481
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 2
         1: .line 5482
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            aload 2 /* columnIndexes */
            aastore
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 5484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* columnIndexes */
         3: .line 5485
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         4: .line 5484
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;[ILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            astore 3 /* ps */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
         5: .line 5487
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 3 /* ps */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 5488
            aload 3 /* ps */
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        end local 2 // int[] columnIndexes
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    7     1            sql  Ljava/lang/String;
            0    7     2  columnIndexes  [I
            5    7     3             ps  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      sql            
      columnIndexes  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, int[], com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Ljava/lang/String;[ILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // int[] columnIndexes
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
         0: .line 5494
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         1: .line 5495
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            aload 2 /* columnIndexes */
            aastore
            dup
            iconst_2
            aload 3 /* stmtColEncSetting */
            aastore
         2: .line 5494
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5497
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5498
            aload 2 /* columnIndexes */
            ifnull 5
            aload 2 /* columnIndexes */
            arraylength
            iconst_1
            if_icmpeq 8
         5: .line 5499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
         6: .line 5500
            ldc "R_invalidColumnArrayLength"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
         7: .line 5499
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 5502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            sipush 1003
         9: .line 5503
            sipush 1007
            aload 3 /* stmtColEncSetting */
        10: .line 5502
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            astore 4 /* ps */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        11: .line 5504
            aload 4 /* ps */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.bRequestedGeneratedKeys:Z
        12: .line 5505
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 4 /* ps */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 5506
            aload 4 /* ps */
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
        end local 2 // int[] columnIndexes
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   14     1                sql  Ljava/lang/String;
            0   14     2      columnIndexes  [I
            0   14     3  stmtColEncSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
           11   14     4                 ps  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sql                
      columnIndexes      
      stmtColEncSetting  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.String[] columnNames
         0: .line 5511
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 2
         1: .line 5512
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            aload 2 /* columnNames */
            aastore
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 5515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* columnNames */
         3: .line 5516
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         4: .line 5515
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;[Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            astore 3 /* ps */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
         5: .line 5518
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 3 /* ps */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 5519
            aload 3 /* ps */
            areturn
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        end local 2 // java.lang.String[] columnNames
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    7     1          sql  Ljava/lang/String;
            0    7     2  columnNames  [Ljava/lang/String;
            5    7     3           ps  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      sql          
      columnNames  

  public java.sql.PreparedStatement prepareStatement(java.lang.String, java.lang.String[], com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.String[] columnNames
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
         0: .line 5525
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
         1: .line 5526
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sql */
            aastore
            dup
            iconst_1
            aload 2 /* columnNames */
            aastore
            dup
            iconst_2
            aload 3 /* stmtColEncSetting */
            aastore
         2: .line 5525
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 5527
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5528
            aload 2 /* columnNames */
            ifnull 5
            aload 2 /* columnNames */
            arraylength
            iconst_1
            if_icmpeq 8
         5: .line 5529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
         6: .line 5530
            ldc "R_invalidColumnArrayLength"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
         7: .line 5529
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 5532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            sipush 1003
         9: .line 5533
            sipush 1007
            aload 3 /* stmtColEncSetting */
        10: .line 5532
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement:(Ljava/lang/String;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/PreparedStatement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
            astore 4 /* ps */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        11: .line 5534
            aload 4 /* ps */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.bRequestedGeneratedKeys:Z
        12: .line 5535
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "prepareStatement"
            aload 4 /* ps */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 5536
            aload 4 /* ps */
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement ps
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColEncSetting
        end local 2 // java.lang.String[] columnNames
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   14     1                sql  Ljava/lang/String;
            0   14     2        columnNames  [Ljava/lang/String;
            0   14     3  stmtColEncSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
           11   14     4                 ps  Lcom/microsoft/sqlserver/jdbc/SQLServerPreparedStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sql                
      columnNames        
      stmtColEncSetting  

  public void releaseSavepoint(java.sql.Savepoint);
    descriptor: (Ljava/sql/Savepoint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.sql.Savepoint savepoint
         0: .line 5543
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "releaseSavepoint"
            aload 1 /* savepoint */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5544
            aload 0 /* this */
            aconst_null
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.throwNotSupportedException:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;)V
         2: .line 5545
            return
        end local 1 // java.sql.Savepoint savepoint
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1  savepoint  Ljava/sql/Savepoint;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
           Name  Flags
      savepoint  

  private final java.sql.Savepoint setNamedSavepoint(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/sql/Savepoint;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sName
         0: .line 5548
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifeq 4
         1: .line 5549
            aload 0 /* this */
            aload 0 /* this */
            ldc "R_cantSetSavepoint"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 5550
            aconst_null
            iconst_0
         3: .line 5549
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 5553
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerSavepoint
            dup
            aload 0 /* this */
            aload 1 /* sName */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerSavepoint.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;)V
            astore 2 /* s */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerSavepoint s
         5: .line 5562
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "IF @@TRANCOUNT = 0 BEGIN BEGIN TRAN IF @@TRANCOUNT = 2 COMMIT TRAN END SAVE TRAN "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 5563
            aload 2 /* s */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerSavepoint.getLabel:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.Util.escapeSQLId:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "setSavepoint"
         7: .line 5562
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 5565
            aload 2 /* s */
            areturn
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerSavepoint s
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    9     1  sName  Ljava/lang/String;
            5    9     2      s  Lcom/microsoft/sqlserver/jdbc/SQLServerSavepoint;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      sName  

  public java.sql.Savepoint setSavepoint(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/sql/Savepoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sName
         0: .line 5570
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setSavepoint"
            aload 1 /* sName */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5571
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 5572
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 5574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5575
            aload 0 /* this */
            aload 1 /* sName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setNamedSavepoint:(Ljava/lang/String;)Ljava/sql/Savepoint;
            astore 2 /* pt */
        start local 2 // java.sql.Savepoint pt
         5: .line 5576
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setSavepoint"
            aload 2 /* pt */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 5577
            aload 2 /* pt */
            areturn
        end local 2 // java.sql.Savepoint pt
        end local 1 // java.lang.String sName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    7     1  sName  Ljava/lang/String;
            5    7     2     pt  Ljava/sql/Savepoint;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      sName  

  public java.sql.Savepoint setSavepoint();
    descriptor: ()Ljava/sql/Savepoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5582
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setSavepoint"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 5583
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 5584
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 5586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5587
            aload 0 /* this */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setNamedSavepoint:(Ljava/lang/String;)Ljava/sql/Savepoint;
            astore 1 /* pt */
        start local 1 // java.sql.Savepoint pt
         5: .line 5588
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setSavepoint"
            aload 1 /* pt */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 5589
            aload 1 /* pt */
            areturn
        end local 1 // java.sql.Savepoint pt
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            5    7     1    pt  Ljava/sql/Savepoint;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void rollback(java.sql.Savepoint);
    descriptor: (Ljava/sql/Savepoint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.sql.Savepoint s
         0: .line 5594
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "rollback"
            aload 1 /* s */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5595
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 5596
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 5598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         4: .line 5599
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifeq 8
         5: .line 5600
            aload 0 /* this */
            aload 0 /* this */
            ldc "R_cantInvokeRollback"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 5601
            aconst_null
            iconst_0
         7: .line 5600
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 5603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "IF @@TRANCOUNT > 0 ROLLBACK TRAN "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* s */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerSavepoint
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerSavepoint.getLabel:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.Util.escapeSQLId:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 5604
            ldc "rollbackSavepoint"
        10: .line 5603
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 5605
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "rollback"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 5606
            return
        end local 1 // java.sql.Savepoint s
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   13     1     s  Ljava/sql/Savepoint;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      s     

  public int getHoldability();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5610
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getHoldability"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 5611
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
         2: .line 5612
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getHoldability"
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 5613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void setHoldability(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int holdability
         0: .line 5618
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setHoldability"
            iload 1 /* holdability */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5620
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 3
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 3
         2: .line 5621
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " ActivityId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getNext:()Lcom/microsoft/sqlserver/jdbc/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
         3: .line 5623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* holdability */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkValidHoldability:(I)V
         4: .line 5624
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         5: .line 5626
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            iload 1 /* holdability */
            if_icmpeq 14
         6: .line 5627
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 8
            iconst_1
            iload 1 /* holdability */
            if_icmpeq 8
         7: .line 5628
            iconst_2
            iload 1 /* holdability */
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid holdability "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* holdability */
            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
         8: .line 5630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         9: .line 5631
            iload 1 /* holdability */
            iconst_2
            if_icmpne 10
            ldc "SET CURSOR_CLOSE_ON_COMMIT ON"
            goto 11
        10: .line 5632
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
            ldc "SET CURSOR_CLOSE_ON_COMMIT OFF"
        11: .line 5633
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String
            ldc "setHoldability"
        12: .line 5630
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 5635
            aload 0 /* this */
            iload 1 /* holdability */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
        14: .line 5638
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setHoldability"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 5639
            return
        end local 1 // int holdability
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   16     1  holdability  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      holdability  

  public int getNetworkTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5643
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getNetworkTimeout"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 5645
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 5647
            iconst_0
            istore 1 /* timeout */
        start local 1 // int timeout
         3: .line 5649
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.getNetworkTimeout:()I
            istore 1 /* timeout */
         4: .line 5650
            goto 7
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int
      StackMap stack: java.io.IOException
         5: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         6: .line 5651
            aload 0 /* this */
            iconst_3
            aload 2 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 2 /* ioe */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException ioe
         7: .line 5654
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getNetworkTimeout"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 5655
            iload 1 /* timeout */
            ireturn
        end local 1 // int timeout
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            3    9     1  timeout  I
            6    7     2      ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws java.sql.SQLException

  public void setNetworkTimeout(java.util.concurrent.Executor, int);
    descriptor: (Ljava/util/concurrent/Executor;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.util.concurrent.Executor executor
        start local 2 // int timeout
         0: .line 5660
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setNetworkTimeout"
            iload 2 /* timeout */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5662
            iload 2 /* timeout */
            ifge 5
         2: .line 5663
            new java.text.MessageFormat
            dup
            ldc "R_invalidSocketTimeout"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         3: .line 5664
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* timeout */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
         4: .line 5665
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            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 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
         5: .line 5668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         6: .line 5671
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* secMgr */
        start local 3 // java.lang.SecurityManager secMgr
         7: .line 5672
            aload 3 /* secMgr */
            ifnull 15
         8: .line 5674
            new java.sql.SQLPermission
            dup
            ldc "setNetworkTimeout"
            invokespecial java.sql.SQLPermission.<init>:(Ljava/lang/String;)V
            astore 4 /* perm */
        start local 4 // java.sql.SQLPermission perm
         9: .line 5675
            aload 3 /* secMgr */
            aload 4 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 4 // java.sql.SQLPermission perm
        10: .line 5676
            goto 15
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.util.concurrent.Executor int java.lang.SecurityManager
      StackMap stack: java.lang.SecurityException
        11: pop
        12: .line 5677
            new java.text.MessageFormat
            dup
            ldc "R_permissionDenied"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        13: .line 5678
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "setNetworkTimeout"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        14: .line 5679
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* form */
            aload 5 /* 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
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        15: .line 5684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            iload 2 /* timeout */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.setNetworkTimeout:(I)V
        16: .line 5685
            goto 19
      StackMap locals:
      StackMap stack: java.io.IOException
        17: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        18: .line 5686
            aload 0 /* this */
            iconst_3
            aload 4 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 4 /* ioe */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.io.IOException ioe
        19: .line 5689
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setNetworkTimeout"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 5690
            return
        end local 3 // java.lang.SecurityManager secMgr
        end local 2 // int timeout
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   21     1  executor  Ljava/util/concurrent/Executor;
            0   21     2   timeout  I
            3    5     3      form  Ljava/text/MessageFormat;
            4    5     4   msgArgs  [Ljava/lang/Object;
            7   21     3    secMgr  Ljava/lang/SecurityManager;
            9   10     4      perm  Ljava/sql/SQLPermission;
           13   15     4      form  Ljava/text/MessageFormat;
           14   15     5   msgArgs  [Ljava/lang/Object;
           18   19     4       ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    10      11  Class java.lang.SecurityException
          15    16      17  Class java.io.IOException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
          Name  Flags
      executor  
      timeout   

  public java.lang.String getSchema();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5694
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getSchema"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 5696
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 5698
            aconst_null
            astore 1
            aconst_null
            astore 2
         3: aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
            astore 3 /* stmt */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
         4: .line 5699
            aload 3 /* stmt */
            ldc "SELECT SCHEMA_NAME()"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQueryInternal:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
            astore 4 /* resultSet */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerResultSet resultSet
         5: .line 5700
            aload 4 /* resultSet */
            ifnull 11
         6: .line 5701
            aload 4 /* resultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.next:()Z
            pop
         7: .line 5702
            aload 4 /* resultSet */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString:(I)Ljava/lang/String;
         8: .line 5707
            aload 4 /* resultSet */
            ifnull 9
            aload 4 /* resultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement com.microsoft.sqlserver.jdbc.SQLServerResultSet
      StackMap stack: java.lang.String
         9: aload 3 /* stmt */
            ifnull 10
            aload 3 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        10: .line 5702
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        11: .line 5704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            ldc "R_getSchemaError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 5705
            aconst_null
            iconst_1
        13: .line 5704
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        14: .line 5707
            aload 4 /* resultSet */
            ifnull 17
            aload 4 /* resultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 1
            aload 4 /* resultSet */
            ifnull 16
            aload 4 /* resultSet */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerResultSet resultSet
      StackMap locals:
      StackMap stack:
        16: aload 1
            athrow
      StackMap locals:
      StackMap stack:
        17: aload 3 /* stmt */
            ifnull 31
            aload 3 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 2
            aload 1
            ifnonnull 19
            aload 2
            astore 1
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 1
            aload 2
            if_acmpeq 20
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 3 /* stmt */
            ifnull 21
            aload 3 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
      StackMap locals:
      StackMap stack:
        21: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 2
            aload 1
            ifnonnull 23
            aload 2
            astore 1
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 1
            aload 2
            if_acmpeq 24
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 1
            athrow
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection
      StackMap stack: java.sql.SQLException
        25: astore 1 /* e */
        start local 1 // java.sql.SQLException e
        26: .line 5708
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ifeq 28
        27: .line 5709
            aload 1 /* e */
            athrow
        28: .line 5712
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            ldc "R_getSchemaError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        29: .line 5713
            aconst_null
            iconst_1
        30: .line 5712
            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 1 // java.sql.SQLException e
        31: .line 5716
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getSchema"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        32: .line 5717
            aconst_null
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            4   21     3       stmt  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
            5   16     4  resultSet  Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
           26   31     1          e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           5     8      15  any
          11    14      15  any
           4     9      18  any
          11    17      18  any
           3    10      22  any
          11    22      22  any
           2    10      25  Class java.sql.SQLException
          11    25      25  Class java.sql.SQLException
    Exceptions:
      throws java.sql.SQLException

  public void setSchema(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String schema
         0: .line 5722
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setSchema"
            aload 1 /* schema */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5723
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 5724
            aload 0 /* this */
            ldc "R_setSchemaWarning"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addWarning:(Ljava/lang/String;)V
         3: .line 5726
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setSchema"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 5727
            return
        end local 1 // java.lang.String schema
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1  schema  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      schema  

  public void setSendTimeAsDatetime(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean sendTimeAsDateTimeValue
         0: .line 5731
            aload 0 /* this */
            iload 1 /* sendTimeAsDateTimeValue */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
         1: .line 5732
            return
        end local 1 // boolean sendTimeAsDateTimeValue
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  sendTimeAsDateTimeValue  Z
    MethodParameters:
                         Name  Flags
      sendTimeAsDateTimeValue  

  public void setUseFmtOnly(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean useFmtOnly
         0: .line 5736
            aload 0 /* this */
            iload 1 /* useFmtOnly */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useFmtOnly:Z
         1: .line 5737
            return
        end local 1 // boolean useFmtOnly
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  useFmtOnly  Z
    MethodParameters:
            Name  Flags
      useFmtOnly  

  public final boolean getUseFmtOnly();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5741
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useFmtOnly:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public java.sql.Array createArrayOf(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String typeName
        start local 2 // java.lang.Object[] elements
         0: .line 5746
            aload 0 /* this */
            aconst_null
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.throwNotSupportedException:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;)V
         1: .line 5747
            aconst_null
            areturn
        end local 2 // java.lang.Object[] elements
        end local 1 // java.lang.String typeName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  typeName  Ljava/lang/String;
            0    2     2  elements  [Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
          Name  Flags
      typeName  
      elements  

  public java.sql.Blob createBlob();
    descriptor: ()Ljava/sql/Blob;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5752
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         1: .line 5753
            new com.microsoft.sqlserver.jdbc.SQLServerBlob
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBlob.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws java.sql.SQLException

  public java.sql.Clob createClob();
    descriptor: ()Ljava/sql/Clob;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5758
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         1: .line 5759
            new com.microsoft.sqlserver.jdbc.SQLServerClob
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerClob.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws java.sql.SQLException

  public java.sql.NClob createNClob();
    descriptor: ()Ljava/sql/NClob;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5764
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         1: .line 5765
            new com.microsoft.sqlserver.jdbc.SQLServerNClob
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerNClob.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws java.sql.SQLException

  public java.sql.SQLXML createSQLXML();
    descriptor: ()Ljava/sql/SQLXML;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5770
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createSQLXML"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 5771
            new com.microsoft.sqlserver.jdbc.SQLServerSQLXML
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerSQLXML.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            astore 1 /* sqlxml */
        start local 1 // java.sql.SQLXML sqlxml
         2: .line 5773
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 5774
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "createSQLXML"
            aload 1 /* sqlxml */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 5775
      StackMap locals: java.sql.SQLXML
      StackMap stack:
            aload 1 /* sqlxml */
            areturn
        end local 1 // java.sql.SQLXML sqlxml
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            2    5     1  sqlxml  Ljava/sql/SQLXML;
    Exceptions:
      throws java.sql.SQLException

  public java.sql.Struct createStruct(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Struct;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String typeName
        start local 2 // java.lang.Object[] attributes
         0: .line 5780
            aload 0 /* this */
            aconst_null
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.throwNotSupportedException:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;)V
         1: .line 5781
            aconst_null
            areturn
        end local 2 // java.lang.Object[] attributes
        end local 1 // java.lang.String typeName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1    typeName  Ljava/lang/String;
            0    2     2  attributes  [Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      typeName    
      attributes  

  java.lang.String getTrustedServerNameAE();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5785
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public java.util.Properties getClientInfo();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5790
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getClientInfo"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 5791
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 5792
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* p */
        start local 1 // java.util.Properties p
         3: .line 5793
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getClientInfo"
            aload 1 /* p */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 5794
            aload 1 /* p */
            areturn
        end local 1 // java.util.Properties p
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            3    5     1     p  Ljava/util/Properties;
    Exceptions:
      throws java.sql.SQLException

  public java.lang.String getClientInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String name
         0: .line 5799
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getClientInfo"
            aload 1 /* name */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5800
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 5801
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "getClientInfo"
            aconst_null
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 5802
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  name  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      name  

  public void setClientInfo(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.util.Properties properties
         0: .line 5807
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setClientInfo"
            aload 1 /* properties */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5810
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         2: .line 5811
            goto 7
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
         3: astore 2 /* ex */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerException ex
         4: .line 5812
            new java.sql.SQLClientInfoException
            dup
            invokespecial java.sql.SQLClientInfoException.<init>:()V
            astore 3 /* info */
        start local 3 // java.sql.SQLClientInfoException info
         5: .line 5813
            aload 3 /* info */
            aload 2 /* ex */
            invokevirtual java.sql.SQLClientInfoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         6: .line 5814
            aload 3 /* info */
            athrow
        end local 3 // java.sql.SQLClientInfoException info
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerException ex
         7: .line 5817
      StackMap locals:
      StackMap stack:
            aload 1 /* properties */
            invokevirtual java.util.Properties.isEmpty:()Z
            ifne 14
         8: .line 5818
            aload 1 /* properties */
            invokevirtual java.util.Properties.keys:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         9: .line 5819
            goto 13
        10: .line 5820
      StackMap locals: java.util.Enumeration
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidProperty"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        11: .line 5821
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        12: .line 5822
            aload 0 /* this */
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addWarning:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        13: .line 5819
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 10
        end local 2 // java.util.Enumeration e
        14: .line 5825
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setClientInfo"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 5826
            return
        end local 1 // java.util.Properties properties
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   16     1  properties  Ljava/util/Properties;
            4    7     2          ex  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
            5    7     3        info  Ljava/sql/SQLClientInfoException;
            9   14     2           e  Ljava/util/Enumeration<*>;
           11   13     3        form  Ljava/text/MessageFormat;
           12   13     4     msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     2       3  Class com.microsoft.sqlserver.jdbc.SQLServerException
    Exceptions:
      throws java.sql.SQLClientInfoException
    MethodParameters:
            Name  Flags
      properties  

  public void setClientInfo(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 5830
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 2
         1: .line 5831
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setClientInfo"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* value */
            aastore
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 5835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
         3: .line 5836
            goto 8
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
         4: astore 3 /* ex */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerException ex
         5: .line 5837
            new java.sql.SQLClientInfoException
            dup
            invokespecial java.sql.SQLClientInfoException.<init>:()V
            astore 4 /* info */
        start local 4 // java.sql.SQLClientInfoException info
         6: .line 5838
            aload 4 /* info */
            aload 3 /* ex */
            invokevirtual java.sql.SQLClientInfoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         7: .line 5839
            aload 4 /* info */
            athrow
        end local 4 // java.sql.SQLClientInfoException info
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerException ex
         8: .line 5841
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_invalidProperty"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         9: .line 5842
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
        10: .line 5843
            aload 0 /* this */
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.addWarning:(Ljava/lang/String;)V
        11: .line 5844
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setClientInfo"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 5845
            return
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   13     1     name  Ljava/lang/String;
            0   13     2    value  Ljava/lang/String;
            5    8     3       ex  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
            6    8     4     info  Ljava/sql/SQLClientInfoException;
            9   13     3     form  Ljava/text/MessageFormat;
           10   13     4  msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     3       4  Class com.microsoft.sqlserver.jdbc.SQLServerException
    Exceptions:
      throws java.sql.SQLClientInfoException
    MethodParameters:
       Name  Flags
      name   
      value  

  public boolean isValid(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int timeout
         0: .line 5869
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isValid"
            iload 1 /* timeout */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5872
            iload 1 /* timeout */
            ifge 5
         2: .line 5873
            new java.text.MessageFormat
            dup
            ldc "R_invalidQueryTimeOutValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         3: .line 5874
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* timeout */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 3 /* msgArgs */
        start local 3 // java.lang.Object[] msgArgs
         4: .line 5875
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* form */
            aload 3 /* 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
        end local 3 // java.lang.Object[] msgArgs
        end local 2 // java.text.MessageFormat form
         5: .line 5879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ifeq 7
         6: .line 5880
            iconst_0
            ireturn
         7: .line 5882
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* isValid */
        start local 2 // boolean isValid
         8: .line 5883
            aconst_null
            astore 3
            aconst_null
            astore 4
         9: new com.microsoft.sqlserver.jdbc.SQLServerStatement
            dup
            aload 0 /* this */
            sipush 1003
        10: .line 5884
            sipush 1007
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
        11: .line 5883
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerStatement.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;IILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
            astore 5 /* stmt */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
        12: .line 5887
            iload 1 /* timeout */
            ifeq 14
        13: .line 5888
            aload 5 /* stmt */
            iload 1 /* timeout */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.setQueryTimeout:(I)V
        14: .line 5895
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int int java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement
      StackMap stack:
            aload 5 /* stmt */
            ldc "SELECT 1"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQueryInternal:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
            pop
        15: .line 5896
            aload 5 /* stmt */
            ifnull 24
            aload 5 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 5 /* stmt */
            ifnull 17
            aload 5 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 4
            aload 3
            ifnonnull 19
            aload 4
            astore 3
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 3
            aload 4
            if_acmpeq 20
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 3
            athrow
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int int
      StackMap stack: java.sql.SQLException
        21: astore 3 /* e */
        start local 3 // java.sql.SQLException e
        22: .line 5897
            iconst_0
            istore 2 /* isValid */
        23: .line 5902
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Exception checking connection validity: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual java.sql.SQLException.getMessage:()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.fine:(Ljava/lang/String;)V
        end local 3 // java.sql.SQLException e
        24: .line 5905
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isValid"
            iload 2 /* isValid */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        25: .line 5906
            iload 2 /* isValid */
            ireturn
        end local 2 // boolean isValid
        end local 1 // int timeout
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   26     1  timeout  I
            3    5     2     form  Ljava/text/MessageFormat;
            4    5     3  msgArgs  [Ljava/lang/Object;
            8   26     2  isValid  Z
           12   17     5     stmt  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
           22   24     3        e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          12    15      16  any
           9    18      18  any
           8    21      21  Class java.sql.SQLException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      timeout  

  public boolean isWrapperFor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.Class iface
         0: .line 5911
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isWrapperFor"
            aload 1 /* iface */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5912
            aload 1 /* iface */
            aload 0 /* this */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            istore 2 /* f */
        start local 2 // boolean f
         2: .line 5913
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "isWrapperFor"
            iload 2 /* f */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 5914
            iload 2 /* f */
            ireturn
        end local 2 // boolean f
        end local 1 // java.lang.Class iface
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  iface  Ljava/lang/Class<*>;
            2    4     2      f  Z
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      iface  

  public <T> T unwrap(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.Class iface
         0: .line 5919
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "unwrap"
            aload 1 /* iface */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5922
            aload 1 /* iface */
            aload 0 /* this */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* t */
        start local 2 // java.lang.Object t
         2: .line 5923
            goto 6
        end local 2 // java.lang.Object t
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
         3: astore 3 /* e */
        start local 3 // java.lang.ClassCastException e
         4: .line 5925
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 3 /* e */
            invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 4 /* newe */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerException newe
         5: .line 5926
            aload 4 /* newe */
            athrow
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerException newe
        end local 3 // java.lang.ClassCastException e
        start local 2 // java.lang.Object t
         6: .line 5928
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "unwrap"
            aload 2 /* t */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 5929
            aload 2 /* t */
            areturn
        end local 2 // java.lang.Object t
        end local 1 // java.lang.Class iface
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1  iface  Ljava/lang/Class<TT;>;
            2    3     2      t  TT;
            6    8     2      t  TT;
            4    6     3      e  Ljava/lang/ClassCastException;
            5    6     4   newe  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassCastException
    Exceptions:
      throws java.sql.SQLException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
       Name  Flags
      iface  

  protected void beginRequestInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5952
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "beginRequest"
            aload 0 /* this */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5953
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 5954
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifne 19
         3: .line 5955
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDatabaseAutoCommitMode:Z
         4: .line 5956
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalTransactionIsolationLevel:I
         5: .line 5957
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getNetworkTimeout:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalNetworkTimeout:I
         6: .line 5958
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHoldability:I
         7: .line 5959
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSendTimeAsDatetime:Z
         8: .line 5960
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.statementPoolingCacheSize:I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalStatementPoolingCacheSize:I
         9: .line 5961
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.disableStatementPooling:Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDisableStatementPooling:Z
        10: .line 5962
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerPreparedStatementDiscardThreshold:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalServerPreparedStatementDiscardThreshold:I
        11: .line 5963
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getEnablePrepareOnFirstPreparedStatementCall:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalEnablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
        12: .line 5964
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSCatalog:Ljava/lang/String;
        13: .line 5965
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getUseBulkCopyForBatchInsert:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalUseBulkCopyForBatchInsert:Z
        14: .line 5966
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSqlWarnings:Ljava/sql/SQLWarning;
        15: .line 5967
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
        16: .line 5968
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useFmtOnly:Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalUseFmtOnly:Z
        17: .line 5969
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDelayLoadingLobs:Z
        18: .line 5970
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
        19: .line 5953
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection
      StackMap stack:
            aload 1
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 1
            monitorexit
        22: athrow
        23: .line 5973
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "beginRequest"
            aload 0 /* this */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        24: .line 5974
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
      Exception table:
        from    to  target  type
           2    20      21  any
          21    22      21  any
    Exceptions:
      throws java.sql.SQLException

  protected void endRequestInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 5977
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "endRequest"
            aload 0 /* this */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 5978
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 5979
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
            ifeq 45
         3: .line 5980
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            ifne 5
         4: .line 5981
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback:()V
         5: .line 5983
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.databaseAutoCommitMode:Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDatabaseAutoCommitMode:Z
            if_icmpeq 7
         6: .line 5984
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDatabaseAutoCommitMode:Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setAutoCommit:(Z)V
         7: .line 5986
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transactionIsolationLevel:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalTransactionIsolationLevel:I
            if_icmpeq 9
         8: .line 5987
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalTransactionIsolationLevel:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setTransactionIsolation:(I)V
         9: .line 5989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getNetworkTimeout:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalNetworkTimeout:I
            if_icmpeq 11
        10: .line 5990
            aload 0 /* this */
            aconst_null
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalNetworkTimeout:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setNetworkTimeout:(Ljava/util/concurrent/Executor;I)V
        11: .line 5992
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.holdability:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHoldability:I
            if_icmpeq 13
        12: .line 5993
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalHoldability:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setHoldability:(I)V
        13: .line 5995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSendTimeAsDatetime:Z
            if_icmpeq 15
        14: .line 5996
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSendTimeAsDatetime:Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setSendTimeAsDatetime:(Z)V
        15: .line 5998
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useFmtOnly:Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalUseFmtOnly:Z
            if_icmpeq 17
        16: .line 5999
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalUseFmtOnly:Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setUseFmtOnly:(Z)V
        17: .line 6001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.statementPoolingCacheSize:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalStatementPoolingCacheSize:I
            if_icmpeq 19
        18: .line 6002
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalStatementPoolingCacheSize:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setStatementPoolingCacheSize:(I)V
        19: .line 6004
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.disableStatementPooling:Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDisableStatementPooling:Z
            if_icmpeq 21
        20: .line 6005
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDisableStatementPooling:Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setDisableStatementPooling:(Z)V
        21: .line 6007
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerPreparedStatementDiscardThreshold:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalServerPreparedStatementDiscardThreshold:I
            if_icmpeq 23
        22: .line 6008
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalServerPreparedStatementDiscardThreshold:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setServerPreparedStatementDiscardThreshold:(I)V
        23: .line 6010
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getEnablePrepareOnFirstPreparedStatementCall:()Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalEnablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            if_icmpeq 25
        24: .line 6011
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalEnablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setEnablePrepareOnFirstPreparedStatementCall:(Z)V
        25: .line 6013
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sCatalog:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSCatalog:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
        26: .line 6014
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSCatalog:Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setCatalog:(Ljava/lang/String;)V
        27: .line 6016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getUseBulkCopyForBatchInsert:()Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalUseBulkCopyForBatchInsert:Z
            if_icmpeq 29
        28: .line 6017
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalUseBulkCopyForBatchInsert:Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setUseBulkCopyForBatchInsert:(Z)V
        29: .line 6019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDelayLoadingLobs:Z
            if_icmpeq 31
        30: .line 6020
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalDelayLoadingLobs:Z
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setDelayLoadingLobs:(Z)V
        31: .line 6022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.originalSqlWarnings:Ljava/sql/SQLWarning;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sqlWarnings:Ljava/sql/SQLWarning;
        32: .line 6023
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            ifnull 44
        33: .line 6024
            goto 42
        34: .line 6025
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
            aconst_null
            astore 3
        35: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.sql.Statement
            astore 4 /* st */
        start local 4 // java.sql.Statement st
        36: aload 4 /* st */
            ifnull 42
            aload 4 /* st */
            invokeinterface java.sql.Statement.close:()V
            goto 42
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable java.sql.Statement
      StackMap stack: java.lang.Throwable
        37: astore 2
            aload 4 /* st */
            ifnull 38
            aload 4 /* st */
            invokeinterface java.sql.Statement.close:()V
        end local 4 // java.sql.Statement st
      StackMap locals:
      StackMap stack:
        38: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 3
            aload 2
            ifnonnull 40
            aload 3
            astore 2
            goto 41
      StackMap locals:
      StackMap stack:
        40: aload 2
            aload 3
            if_acmpeq 41
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        41: aload 2
            athrow
        42: .line 6024
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 34
        43: .line 6027
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        44: .line 6029
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestStarted:Z
        45: .line 5978
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        46: goto 49
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: aload 1
            monitorexit
        48: athrow
        49: .line 6032
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "endRequest"
            aload 0 /* this */
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        50: .line 6033
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   51     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
           36   38     4    st  Ljava/sql/Statement;
      Exception table:
        from    to  target  type
          35    39      39  any
           2    46      47  any
          47    48      47  any
    Exceptions:
      throws java.sql.SQLException

  java.lang.String replaceParameterMarkers(java.lang.String, int[], com.microsoft.sqlserver.jdbc.Parameter[], boolean);
    descriptor: (Ljava/lang/String;[I[Lcom/microsoft/sqlserver/jdbc/Parameter;Z)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String sqlSrc
        start local 2 // int[] paramPositions
        start local 3 // com.microsoft.sqlserver.jdbc.Parameter[] params
        start local 4 // boolean isReturnValueSyntax
         0: .line 6048
            aload 1 /* sqlSrc */
            invokevirtual java.lang.String.length:()I
            aload 3 /* params */
            arraylength
            bipush 6
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.OUT:[C
            arraylength
            iadd
            imul
            iadd
            newarray 5
            astore 5 /* sqlDst */
        start local 5 // char[] sqlDst
         1: .line 6049
            iconst_0
            istore 6 /* dstBegin */
        start local 6 // int dstBegin
         2: .line 6050
            iconst_0
            istore 7 /* srcBegin */
        start local 7 // int srcBegin
         3: .line 6051
            iconst_0
            istore 8 /* nParam */
        start local 8 // int nParam
         4: .line 6053
            iconst_0
            istore 9 /* paramIndex */
        start local 9 // int paramIndex
         5: .line 6055
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String int[] com.microsoft.sqlserver.jdbc.Parameter[] int char[] int int int int
      StackMap stack:
            iload 9 /* paramIndex */
            aload 2 /* paramPositions */
            arraylength
            if_icmplt 6
            aload 1 /* sqlSrc */
            invokevirtual java.lang.String.length:()I
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 2 /* paramPositions */
            iload 9 /* paramIndex */
            iaload
      StackMap locals:
      StackMap stack: int
         7: istore 10 /* srcEnd */
        start local 10 // int srcEnd
         8: .line 6056
            aload 1 /* sqlSrc */
            iload 7 /* srcBegin */
            iload 10 /* srcEnd */
            aload 5 /* sqlDst */
            iload 6 /* dstBegin */
            invokevirtual java.lang.String.getChars:(II[CI)V
         9: .line 6057
            iload 6 /* dstBegin */
            iload 10 /* srcEnd */
            iload 7 /* srcBegin */
            isub
            iadd
            istore 6 /* dstBegin */
        10: .line 6059
            aload 1 /* sqlSrc */
            invokevirtual java.lang.String.length:()I
            iload 10 /* srcEnd */
            if_icmpne 12
        11: .line 6060
            goto 19
        12: .line 6062
      StackMap locals: int
      StackMap stack:
            iload 6 /* dstBegin */
            iload 8 /* nParam */
            iinc 8 /* nParam */ 1
            aload 5 /* sqlDst */
            iload 6 /* dstBegin */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.makeParamName:(I[CI)I
            iadd
            istore 6 /* dstBegin */
        13: .line 6063
            iload 10 /* srcEnd */
            iconst_1
            iadd
            istore 7 /* srcBegin */
        14: .line 6065
            aload 3 /* params */
            iload 9 /* paramIndex */
            iinc 9 /* paramIndex */ 1
            aaload
            invokevirtual com.microsoft.sqlserver.jdbc.Parameter.isOutput:()Z
            ifeq 5
        15: .line 6066
            iload 4 /* isReturnValueSyntax */
            ifeq 16
            iload 9 /* paramIndex */
            iconst_1
            if_icmple 5
        16: .line 6067
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.OUT:[C
            iconst_0
            aload 5 /* sqlDst */
            iload 6 /* dstBegin */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.OUT:[C
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 6068
            iload 6 /* dstBegin */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.OUT:[C
            arraylength
            iadd
            istore 6 /* dstBegin */
        end local 10 // int srcEnd
        18: .line 6054
            goto 5
        19: .line 6073
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 5 /* sqlDst */
            iconst_0
            iload 6 /* dstBegin */
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 9 // int paramIndex
        end local 8 // int nParam
        end local 7 // int srcBegin
        end local 6 // int dstBegin
        end local 5 // char[] sqlDst
        end local 4 // boolean isReturnValueSyntax
        end local 3 // com.microsoft.sqlserver.jdbc.Parameter[] params
        end local 2 // int[] paramPositions
        end local 1 // java.lang.String sqlSrc
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   20     1               sqlSrc  Ljava/lang/String;
            0   20     2       paramPositions  [I
            0   20     3               params  [Lcom/microsoft/sqlserver/jdbc/Parameter;
            0   20     4  isReturnValueSyntax  Z
            1   20     5               sqlDst  [C
            2   20     6             dstBegin  I
            3   20     7             srcBegin  I
            4   20     8               nParam  I
            5   20     9           paramIndex  I
            8   18    10               srcEnd  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      sqlSrc               
      paramPositions       
      params               
      isReturnValueSyntax  

  static int makeParamName(int, char[], int);
    descriptor: (I[CI)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // int nParam
        start local 1 // char[] name
        start local 2 // int offset
         0: .line 6087
            aload 1 /* name */
            iload 2 /* offset */
            iconst_0
            iadd
            bipush 64
            castore
         1: .line 6088
            aload 1 /* name */
            iload 2 /* offset */
            iconst_1
            iadd
            bipush 80
            castore
         2: .line 6089
            iload 0 /* nParam */
            bipush 10
            if_icmpge 5
         3: .line 6090
            aload 1 /* name */
            iload 2 /* offset */
            iconst_2
            iadd
            bipush 48
            iload 0 /* nParam */
            iadd
            i2c
            castore
         4: .line 6091
            iconst_3
            ireturn
         5: .line 6093
      StackMap locals:
      StackMap stack:
            iload 0 /* nParam */
            bipush 100
            if_icmpge 13
         6: .line 6094
            iconst_2
            istore 3 /* nBase */
        start local 3 // int nBase
         7: .line 6096
      StackMap locals: int
      StackMap stack:
            iload 0 /* nParam */
            iload 3 /* nBase */
            bipush 10
            imul
            if_icmpge 11
         8: .line 6097
            aload 1 /* name */
            iload 2 /* offset */
            iconst_2
            iadd
            bipush 48
            iload 3 /* nBase */
            iconst_1
            isub
            iadd
            i2c
            castore
         9: .line 6098
            aload 1 /* name */
            iload 2 /* offset */
            iconst_3
            iadd
            bipush 48
            iload 0 /* nParam */
            iload 3 /* nBase */
            iconst_1
            isub
            bipush 10
            imul
            isub
            iadd
            i2c
            castore
        10: .line 6099
            iconst_4
            ireturn
        11: .line 6101
      StackMap locals:
      StackMap stack:
            iinc 3 /* nBase */ 1
        12: .line 6095
            goto 7
        end local 3 // int nBase
        13: .line 6104
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 0 /* nParam */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* sParam */
        start local 3 // java.lang.String sParam
        14: .line 6105
            aload 3 /* sParam */
            iconst_0
            aload 3 /* sParam */
            invokevirtual java.lang.String.length:()I
            aload 1 /* name */
            iload 2 /* offset */
            iconst_2
            iadd
            invokevirtual java.lang.String.getChars:(II[CI)V
        15: .line 6106
            iconst_2
            aload 3 /* sParam */
            invokevirtual java.lang.String.length:()I
            iadd
            ireturn
        end local 3 // java.lang.String sParam
        end local 2 // int offset
        end local 1 // char[] name
        end local 0 // int nParam
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0  nParam  I
            0   16     1    name  [C
            0   16     2  offset  I
            7   13     3   nBase  I
           14   16     3  sParam  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      nParam  
      name    
      offset  

  void notifyPooledConnection(com.microsoft.sqlserver.jdbc.SQLServerException);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerException;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerException e
         0: .line 6118
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 6119
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.pooledConnectionParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
            ifnull 3
         2: .line 6120
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.pooledConnectionParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
            aload 1 /* e */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerPooledConnection.notifyEvent:(Lcom/microsoft/sqlserver/jdbc/SQLServerException;)V
         3: .line 6118
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 6124
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerException e
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1     e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
      Name  Flags
      e     

  void DetachFromPool();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6128
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 6129
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.pooledConnectionParent:Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
         2: .line 6128
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 6131
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  java.lang.String getInstancePort(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String server
        start local 2 // java.lang.String instanceName
         0: .line 6146
            aconst_null
            astore 3 /* browserResult */
        start local 3 // java.lang.String browserResult
         1: .line 6147
            aconst_null
            astore 4 /* datagramSocket */
        start local 4 // java.net.DatagramSocket datagramSocket
         2: .line 6148
            aconst_null
            astore 5 /* lastErrorMessage */
        start local 5 // java.lang.String lastErrorMessage
         3: .line 6151
            new java.lang.StringBuilder
            dup
            ldc "Failed to determine instance for the : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* server */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " instance:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* instanceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* lastErrorMessage */
         4: .line 6155
            new java.net.DatagramSocket
            dup
            invokespecial java.net.DatagramSocket.<init>:()V
            astore 4 /* datagramSocket */
         5: .line 6156
            aload 4 /* datagramSocket */
            sipush 1000
            invokevirtual java.net.DatagramSocket.setSoTimeout:(I)V
         6: .line 6157
            goto 10
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String
      StackMap stack: java.net.SocketException
         7: astore 6 /* socketException */
        start local 6 // java.net.SocketException socketException
         8: .line 6160
            ldc "Unable to create local datagram socket"
            astore 5 /* lastErrorMessage */
         9: .line 6161
            aload 6 /* socketException */
            athrow
        end local 6 // java.net.SocketException socketException
        10: .line 6169
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 11
            aload 4 /* datagramSocket */
            ifnonnull 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 6171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
            ifeq 31
        12: .line 6174
            aload 1 /* server */
            invokestatic java.net.InetAddress.getAllByName:(Ljava/lang/String;)[Ljava/net/InetAddress;
            astore 6 /* inetAddrs */
        start local 6 // java.net.InetAddress[] inetAddrs
        13: .line 6175
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 14
            aload 6 /* inetAddrs */
            ifnonnull 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 6176
      StackMap locals: java.net.InetAddress[]
      StackMap stack:
            aload 6 /* inetAddrs */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 29
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String java.net.InetAddress[] top int int java.net.InetAddress[]
      StackMap stack:
        15: aload 10
            iload 8
            aaload
            astore 7 /* inetAddr */
        start local 7 // java.net.InetAddress inetAddr
        16: .line 6179
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* instanceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            astore 11 /* sendBuffer */
        start local 11 // byte[] sendBuffer
        17: .line 6180
            aload 11 /* sendBuffer */
            iconst_0
            iconst_4
            bastore
        18: .line 6181
            new java.net.DatagramPacket
            dup
            aload 11 /* sendBuffer */
            aload 11 /* sendBuffer */
            arraylength
            aload 7 /* inetAddr */
        19: .line 6182
            sipush 1434
        20: .line 6181
            invokespecial java.net.DatagramPacket.<init>:([BILjava/net/InetAddress;I)V
            astore 12 /* udpRequest */
        start local 12 // java.net.DatagramPacket udpRequest
        21: .line 6183
            aload 4 /* datagramSocket */
            aload 12 /* udpRequest */
            invokevirtual java.net.DatagramSocket.send:(Ljava/net/DatagramPacket;)V
        end local 12 // java.net.DatagramPacket udpRequest
        end local 11 // byte[] sendBuffer
        22: .line 6184
            goto 28
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String java.net.InetAddress[] java.net.InetAddress int int java.net.InetAddress[]
      StackMap stack: java.io.IOException
        23: astore 11 /* ioException */
        start local 11 // java.io.IOException ioException
        24: .line 6185
            new java.lang.StringBuilder
            dup
            ldc "Error sending SQL Server Browser Service UDP request to address: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 6186
            aload 7 /* inetAddr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", port: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            sipush 1434
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        26: .line 6185
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* lastErrorMessage */
        27: .line 6187
            aload 11 /* ioException */
            athrow
        end local 11 // java.io.IOException ioException
        end local 7 // java.net.InetAddress inetAddr
        28: .line 6176
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String java.net.InetAddress[] top int int java.net.InetAddress[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        29: iload 8
            iload 9
            if_icmplt 15
        end local 6 // java.net.InetAddress[] inetAddrs
        30: .line 6190
            goto 48
        31: .line 6193
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String
      StackMap stack:
            aload 1 /* server */
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 6 /* inetAddr */
        start local 6 // java.net.InetAddress inetAddr
        32: .line 6195
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 33
            aload 6 /* inetAddr */
            ifnonnull 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 6198
      StackMap locals: java.net.InetAddress
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* instanceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            astore 7 /* sendBuffer */
        start local 7 // byte[] sendBuffer
        34: .line 6199
            aload 7 /* sendBuffer */
            iconst_0
            iconst_4
            bastore
        35: .line 6200
            new java.net.DatagramPacket
            dup
            aload 7 /* sendBuffer */
            aload 7 /* sendBuffer */
            arraylength
            aload 6 /* inetAddr */
        36: .line 6201
            sipush 1434
        37: .line 6200
            invokespecial java.net.DatagramPacket.<init>:([BILjava/net/InetAddress;I)V
            astore 8 /* udpRequest */
        start local 8 // java.net.DatagramPacket udpRequest
        38: .line 6202
            aload 4 /* datagramSocket */
            aload 8 /* udpRequest */
            invokevirtual java.net.DatagramSocket.send:(Ljava/net/DatagramPacket;)V
        end local 8 // java.net.DatagramPacket udpRequest
        end local 7 // byte[] sendBuffer
        39: .line 6203
            goto 48
      StackMap locals:
      StackMap stack: java.io.IOException
        40: astore 7 /* ioException */
        start local 7 // java.io.IOException ioException
        41: .line 6204
            new java.lang.StringBuilder
            dup
            ldc "Error sending SQL Server Browser Service UDP request to address: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        42: .line 6205
            aload 6 /* inetAddr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", port: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            sipush 1434
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        43: .line 6204
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* lastErrorMessage */
        44: .line 6206
            aload 7 /* ioException */
            athrow
        end local 7 // java.io.IOException ioException
        end local 6 // java.net.InetAddress inetAddr
        45: .line 6209
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String
      StackMap stack: java.net.UnknownHostException
            astore 6 /* unknownHostException */
        start local 6 // java.net.UnknownHostException unknownHostException
        46: .line 6210
            new java.lang.StringBuilder
            dup
            ldc "Unable to determine IP address of host: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* server */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* lastErrorMessage */
        47: .line 6211
            aload 6 /* unknownHostException */
            athrow
        end local 6 // java.net.UnknownHostException unknownHostException
        48: .line 6216
      StackMap locals:
      StackMap stack:
            sipush 4096
            newarray 8
            astore 6 /* receiveBuffer */
        start local 6 // byte[] receiveBuffer
        49: .line 6217
            new java.net.DatagramPacket
            dup
            aload 6 /* receiveBuffer */
            aload 6 /* receiveBuffer */
            arraylength
            invokespecial java.net.DatagramPacket.<init>:([BI)V
            astore 7 /* udpResponse */
        start local 7 // java.net.DatagramPacket udpResponse
        50: .line 6218
            aload 4 /* datagramSocket */
            aload 7 /* udpResponse */
            invokevirtual java.net.DatagramSocket.receive:(Ljava/net/DatagramPacket;)V
        51: .line 6219
            new java.lang.String
            dup
            aload 6 /* receiveBuffer */
            iconst_3
            aload 6 /* receiveBuffer */
            arraylength
            iconst_3
            isub
            invokespecial java.lang.String.<init>:([BII)V
            astore 3 /* browserResult */
        52: .line 6220
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger: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 73
        53: .line 6221
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " Received SSRP UDP response from IP address: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 6222
            aload 7 /* udpResponse */
            invokevirtual java.net.DatagramPacket.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 6221
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 7 // java.net.DatagramPacket udpResponse
        end local 6 // byte[] receiveBuffer
        56: .line 6223
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        57: astore 6 /* ioException */
        start local 6 // java.io.IOException ioException
        58: .line 6225
            new java.lang.StringBuilder
            dup
            ldc "Error receiving SQL Server Browser Service UDP response from server: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* server */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* lastErrorMessage */
        59: .line 6226
            aload 6 /* ioException */
            athrow
        end local 6 // java.io.IOException ioException
        60: .line 6228
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* ioException */
        start local 6 // java.io.IOException ioException
        61: .line 6229
            new java.text.MessageFormat
            dup
            ldc "R_sqlBrowserFailed"
            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
        62: .line 6230
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* server */
            aastore
            dup
            iconst_1
            aload 2 /* instanceName */
            aastore
            dup
            iconst_2
            aload 6 /* ioException */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        63: .line 6231
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.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 " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* lastErrorMessage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* ioException */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        64: .line 6232
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        65: .line 6233
            ldc "08001"
            iconst_0
        66: .line 6232
            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 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        end local 6 // java.io.IOException ioException
        67: .line 6235
            aload 4 /* datagramSocket */
            ifnull 75
        68: .line 6236
            aload 4 /* datagramSocket */
            invokevirtual java.net.DatagramSocket.close:()V
            goto 75
        69: .line 6234
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        70: .line 6235
            aload 4 /* datagramSocket */
            ifnull 72
        71: .line 6236
            aload 4 /* datagramSocket */
            invokevirtual java.net.DatagramSocket.close:()V
        72: .line 6237
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 13
            athrow
        73: .line 6235
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.lang.String java.lang.String java.net.DatagramSocket java.lang.String
      StackMap stack:
            aload 4 /* datagramSocket */
            ifnull 75
        74: .line 6236
            aload 4 /* datagramSocket */
            invokevirtual java.net.DatagramSocket.close:()V
        75: .line 6237
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 77
        76: .line 6238
            aload 3 /* browserResult */
            ifnonnull 77
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        77: .line 6240
      StackMap locals:
      StackMap stack:
            aload 3 /* browserResult */
            ldc "tcp;"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* p */
        start local 6 // int p
        78: .line 6241
            iconst_m1
            iload 6 /* p */
            if_icmpne 84
        79: .line 6242
            new java.text.MessageFormat
            dup
            ldc "R_notConfiguredToListentcpip"
            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
        80: .line 6243
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* instanceName */
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        81: .line 6244
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        82: .line 6245
            ldc "08001"
            iconst_0
        83: .line 6244
            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 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        84: .line 6248
      StackMap locals: int
      StackMap stack:
            iload 6 /* p */
            iconst_4
            iadd
            istore 7 /* p1 */
        start local 7 // int p1
        85: .line 6249
            aload 3 /* browserResult */
            bipush 59
            iload 7 /* p1 */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* p2 */
        start local 8 // int p2
        86: .line 6250
            aload 3 /* browserResult */
            iload 7 /* p1 */
            iload 8 /* p2 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 8 // int p2
        end local 7 // int p1
        end local 6 // int p
        end local 5 // java.lang.String lastErrorMessage
        end local 4 // java.net.DatagramSocket datagramSocket
        end local 3 // java.lang.String browserResult
        end local 2 // java.lang.String instanceName
        end local 1 // java.lang.String server
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   87     0                  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   87     1                server  Ljava/lang/String;
            0   87     2          instanceName  Ljava/lang/String;
            1   87     3         browserResult  Ljava/lang/String;
            2   87     4        datagramSocket  Ljava/net/DatagramSocket;
            3   87     5      lastErrorMessage  Ljava/lang/String;
            8   10     6       socketException  Ljava/net/SocketException;
           13   30     6             inetAddrs  [Ljava/net/InetAddress;
           16   28     7              inetAddr  Ljava/net/InetAddress;
           17   22    11            sendBuffer  [B
           21   22    12            udpRequest  Ljava/net/DatagramPacket;
           24   28    11           ioException  Ljava/io/IOException;
           32   45     6              inetAddr  Ljava/net/InetAddress;
           34   39     7            sendBuffer  [B
           38   39     8            udpRequest  Ljava/net/DatagramPacket;
           41   45     7           ioException  Ljava/io/IOException;
           46   48     6  unknownHostException  Ljava/net/UnknownHostException;
           49   56     6         receiveBuffer  [B
           50   56     7           udpResponse  Ljava/net/DatagramPacket;
           58   60     6           ioException  Ljava/io/IOException;
           61   67     6           ioException  Ljava/io/IOException;
           62   67     7                  form  Ljava/text/MessageFormat;
           63   67     8               msgArgs  [Ljava/lang/Object;
           78   87     6                     p  I
           80   84     7                  form  Ljava/text/MessageFormat;
           81   84     8               msgArgs  [Ljava/lang/Object;
           85   87     7                    p1  I
           86   87     8                    p2  I
      Exception table:
        from    to  target  type
           4     6       7  Class java.net.SocketException
          16    22      23  Class java.io.IOException
          33    39      40  Class java.io.IOException
          11    45      45  Class java.net.UnknownHostException
          48    56      57  Class java.io.IOException
           3    60      60  Class java.io.IOException
           3    67      69  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      server        
      instanceName  

  int getNextSavepointId();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6254
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nNextSavePointId:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nNextSavePointId:I
         1: .line 6255
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.nNextSavePointId:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  void doSecurityCheck();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6263
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 6264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.currentConnectPlaceHolder:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            invokevirtual com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder.doSecurityCheck:()V
         2: .line 6265
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public static synchronized void setColumnEncryptionKeyCacheTtl(int, java.util.concurrent.TimeUnit);
    descriptor: (ILjava/util/concurrent/TimeUnit;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // int columnEncryptionKeyCacheTTL
        start local 1 // java.util.concurrent.TimeUnit unit
         0: .line 6286
            iload 0 /* columnEncryptionKeyCacheTTL */
            iflt 2
            aload 1 /* unit */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 1 /* unit */
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 6287
            aload 1 /* unit */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 6288
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_invalidCEKCacheTtl"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)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
         3: .line 6291
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            iload 0 /* columnEncryptionKeyCacheTTL */
            i2l
            aload 1 /* unit */
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionKeyCacheTtl:J
         4: .line 6292
            return
        end local 1 // java.util.concurrent.TimeUnit unit
        end local 0 // int columnEncryptionKeyCacheTTL
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    5     0  columnEncryptionKeyCacheTTL  I
            0    5     1                         unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                             Name  Flags
      columnEncryptionKeyCacheTTL  
      unit                         

  static synchronized long getColumnEncryptionKeyCacheTtl();
    descriptor: ()J
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=0, args_size=0
         0: .line 6295
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionKeyCacheTtl:J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  final void enqueueUnprepareStatementHandle(com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle statementHandle
         0: .line 6305
            aload 1 /* statementHandle */
            ifnonnull 2
         1: .line 6306
            return
         2: .line 6308
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 5
         3: .line 6309
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
         4: .line 6310
            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 ": Adding PreparedHandle to queue for un-prepare:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* statementHandle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.getHandle:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         5: .line 6313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandles:Ljava/util/concurrent/ConcurrentLinkedQueue;
            aload 1 /* statementHandle */
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
            pop
         6: .line 6314
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandleCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         7: .line 6315
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle statementHandle
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1  statementHandle  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
    MethodParameters:
                 Name  Flags
      statementHandle  

  public int getDiscardedServerPreparedStatementCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6319
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandleCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void closeUnreferencedPreparedStatementHandles();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6324
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.unprepareUnreferencedPreparedStatementHandles:(Z)V
         1: .line 6325
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  private final void cleanupPreparedStatementDiscardActions();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6331
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandles:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.clear:()V
         1: .line 6332
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandleCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         2: .line 6333
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public boolean getEnablePrepareOnFirstPreparedStatementCall();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6337
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
            ifnonnull 2
         1: .line 6338
            iconst_0
            ireturn
         2: .line 6340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setEnablePrepareOnFirstPreparedStatementCall(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean value
         0: .line 6345
            aload 0 /* this */
            iload 1 /* value */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enablePrepareOnFirstPreparedStatementCall:Ljava/lang/Boolean;
         1: .line 6346
            return
        end local 1 // boolean value
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public int getServerPreparedStatementDiscardThreshold();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6350
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverPreparedStatementDiscardThreshold:I
            ifge 2
         1: .line 6351
            bipush 10
            ireturn
         2: .line 6353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverPreparedStatementDiscardThreshold:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setServerPreparedStatementDiscardThreshold(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int value
         0: .line 6358
            aload 0 /* this */
            iconst_0
            iload 1 /* value */
            invokestatic java.lang.Math.max:(II)I
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverPreparedStatementDiscardThreshold:I
         1: .line 6359
            return
        end local 1 // int value
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  final boolean isPreparedStatementUnprepareBatchingEnabled();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6362
            iconst_1
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerPreparedStatementDiscardThreshold:()I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final void unprepareUnreferencedPreparedStatementHandles(boolean);
    descriptor: (Z)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean force
         0: .line 6375
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isSessionUnAvailable:()Z
            ifeq 2
         1: .line 6376
            return
         2: .line 6378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerPreparedStatementDiscardThreshold:()I
            istore 2 /* threshold */
        start local 2 // int threshold
         3: .line 6381
            iload 1 /* force */
            ifne 4
            iload 2 /* threshold */
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDiscardedServerPreparedStatementCount:()I
            if_icmpge 31
         4: .line 6384
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 2 /* threshold */
            bipush 32
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sql */
        start local 3 // java.lang.StringBuilder sql
         5: .line 6390
            iconst_0
            istore 4 /* handlesRemoved */
        start local 4 // int handlesRemoved
         6: .line 6391
            aconst_null
            astore 5 /* statementHandle */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle statementHandle
         7: .line 6393
            goto 13
         8: .line 6394
      StackMap locals: java.lang.StringBuilder int com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle
      StackMap stack:
            iinc 4 /* handlesRemoved */ 1
         9: .line 6396
            aload 3 /* sql */
            aload 5 /* statementHandle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.isDirectSql:()Z
            ifeq 10
            ldc "EXEC sp_unprepare "
            goto 11
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        10: ldc "EXEC sp_cursorunprepare "
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int int java.lang.StringBuilder int com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle
      StackMap stack: java.lang.StringBuilder java.lang.String
        11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 6397
            aload 5 /* statementHandle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.getHandle:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 6393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandles:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle
            dup
            astore 5 /* statementHandle */
            ifnonnull 8
        14: .line 6402
            aconst_null
            astore 6
            aconst_null
            astore 7
        15: aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
            astore 8 /* stmt */
        start local 8 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
        16: .line 6403
            aload 8 /* stmt */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerStatement.isInternalEncryptionQuery:Z
        17: .line 6404
            aload 8 /* stmt */
            aload 3 /* sql */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.execute:(Ljava/lang/String;)Z
            pop
        18: .line 6405
            aload 8 /* stmt */
            ifnull 24
            aload 8 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
            goto 24
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection int int java.lang.StringBuilder int com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement
      StackMap stack: java.lang.Throwable
        19: astore 6
            aload 8 /* stmt */
            ifnull 20
            aload 8 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        end local 8 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
      StackMap locals:
      StackMap stack:
        20: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 7
            aload 6
            ifnonnull 22
            aload 7
            astore 6
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 6
            aload 7
            if_acmpeq 23
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 6
            athrow
        24: .line 6407
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 30
        25: .line 6408
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 ": Finished un-preparing handle count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* handlesRemoved */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        26: .line 6409
            goto 30
      StackMap locals:
      StackMap stack: java.sql.SQLException
        27: astore 6 /* e */
        start local 6 // java.sql.SQLException e
        28: .line 6410
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 30
        29: .line 6411
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            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 ": Error batch-closing at least one prepared handle"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.sql.SQLException e
        30: .line 6415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.discardedPreparedStatementHandleCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 4 /* handlesRemoved */
            ineg
            invokevirtual java.util.concurrent.atomic.AtomicInteger.addAndGet:(I)I
            pop
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle statementHandle
        end local 4 // int handlesRemoved
        end local 3 // java.lang.StringBuilder sql
        31: .line 6417
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int threshold
        end local 1 // boolean force
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   32     1            force  Z
            3   32     2        threshold  I
            5   31     3              sql  Ljava/lang/StringBuilder;
            6   31     4   handlesRemoved  I
            7   31     5  statementHandle  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
           16   20     8             stmt  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
           28   30     6                e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          16    18      19  any
          15    21      21  any
          14    26      27  Class java.sql.SQLException
    MethodParameters:
       Name  Flags
      force  

  public boolean getDisableStatementPooling();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6421
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.disableStatementPooling:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setDisableStatementPooling(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean value
         0: .line 6426
            aload 0 /* this */
            iload 1 /* value */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.disableStatementPooling:Z
         1: .line 6427
            iload 1 /* value */
            ifne 3
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getStatementPoolingCacheSize:()I
            ifle 3
         2: .line 6428
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCache:()V
         3: .line 6430
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean value
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public int getStatementPoolingCacheSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6434
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.statementPoolingCacheSize:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public int getStatementHandleCacheEntryCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6439
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isStatementPoolingEnabled:()Z
            ifne 2
         1: .line 6440
            iconst_0
            ireturn
         2: .line 6442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.size:()I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public boolean isStatementPoolingEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6447
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            ifnull 3
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getStatementPoolingCacheSize:()I
            ifle 3
         1: .line 6448
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDisableStatementPooling:()Z
            ifne 3
         2: .line 6447
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setStatementPoolingCacheSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // int value
         0: .line 6453
            iconst_0
            iload 1 /* value */
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* value */
         1: .line 6454
            aload 0 /* this */
            iload 1 /* value */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.statementPoolingCacheSize:I
         2: .line 6456
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.disableStatementPooling:Z
            ifne 4
            iload 1 /* value */
            ifle 4
         3: .line 6457
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCache:()V
         4: .line 6459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            ifnull 6
         5: .line 6460
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            iload 1 /* value */
            i2l
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.setCapacity:(J)V
         6: .line 6462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            ifnull 8
         7: .line 6463
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            iload 1 /* value */
            i2l
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.setCapacity:(J)V
         8: .line 6464
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    9     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void prepareCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6470
            aload 0 /* this */
            new mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder
            dup
            invokespecial mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.<init>:()V
         1: .line 6471
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getStatementPoolingCacheSize:()I
            i2l
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity:(J)Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
         2: .line 6472
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementCacheEvictionListener
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementCacheEvictionListener.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.listener:(Lmssql/googlecode/concurrentlinkedhashmap/EvictionListener;)Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build:()Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         3: .line 6470
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         4: .line 6474
            aload 0 /* this */
            new mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder
            dup
            invokespecial mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.<init>:()V
         5: .line 6475
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getStatementPoolingCacheSize:()I
            i2l
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity:(J)Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build:()Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         6: .line 6474
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         7: .line 6476
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData getCachedParameterMetadata(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;)Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
         0: .line 6480
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isStatementPoolingEnabled:()Z
            ifne 2
         1: .line 6481
            aconst_null
            areturn
         2: .line 6483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData
            areturn
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1   key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
    MethodParameters:
      Name  Flags
      key   

  final void registerCachedParameterMetadata(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData pmd
         0: .line 6488
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isStatementPoolingEnabled:()Z
            ifeq 1
            aload 2 /* pmd */
            ifnonnull 2
         1: .line 6489
      StackMap locals:
      StackMap stack:
            return
         2: .line 6491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.parameterMetadataCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            aload 2 /* pmd */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 6492
            return
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData pmd
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1   key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
            0    4     2   pmd  Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;
    MethodParameters:
      Name  Flags
      key   
      pmd   

  final com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle getCachedPreparedStatementHandle(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;)Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
         0: .line 6496
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isStatementPoolingEnabled:()Z
            ifne 2
         1: .line 6497
            aconst_null
            areturn
         2: .line 6499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle
            areturn
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1   key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
    MethodParameters:
      Name  Flags
      key   

  final com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle registerCachedPreparedStatementHandle(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, int, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;IZ)Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        start local 2 // int handle
        start local 3 // boolean isDirectSql
         0: .line 6505
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isStatementPoolingEnabled:()Z
            ifeq 1
            aload 1 /* key */
            ifnonnull 2
         1: .line 6506
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 6508
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle
            dup
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* handle */
            iload 3 /* isDirectSql */
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;IZZ)V
            astore 4 /* cacheItem */
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle cacheItem
         3: .line 6509
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* key */
            aload 4 /* cacheItem */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 6510
            aload 4 /* cacheItem */
            areturn
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle cacheItem
        end local 3 // boolean isDirectSql
        end local 2 // int handle
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    5     1          key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
            0    5     2       handle  I
            0    5     3  isDirectSql  Z
            3    5     4    cacheItem  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
    MethodParameters:
             Name  Flags
      key          
      handle       
      isDirectSql  

  final void returnCachedPreparedStatementHandle(com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle handle
         0: .line 6515
            aload 1 /* handle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.removeReference:()V
         1: .line 6517
            aload 1 /* handle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.isEvictedFromCache:()Z
            ifeq 3
            aload 1 /* handle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.tryDiscardHandle:()Z
            ifeq 3
         2: .line 6518
            aload 0 /* this */
            aload 1 /* handle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.enqueueUnprepareStatementHandle:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;)V
         3: .line 6519
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle handle
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  handle  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
    MethodParameters:
        Name  Flags
      handle  

  final void evictCachedPreparedStatementHandle(com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle handle
         0: .line 6523
            aload 1 /* handle */
            ifnull 1
            aload 1 /* handle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.getKey:()Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
            ifnonnull 2
         1: .line 6524
      StackMap locals:
      StackMap stack:
            return
         2: .line 6526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.preparedStatementHandleCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 1 /* handle */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle.getKey:()Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 6527
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle handle
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  handle  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;
    MethodParameters:
        Name  Flags
      handle  

  boolean isAzure();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6572
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:Ljava/lang/Boolean;
            ifnonnull 36
         1: .line 6573
            aconst_null
            astore 1
            aconst_null
            astore 2
         2: aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
            astore 3 /* stmt */
        start local 3 // java.sql.Statement stmt
         3: .line 6574
            aload 3 /* stmt */
            ldc "SELECT CAST(SERVERPROPERTY('EngineEdition') as INT)"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 4 /* rs */
        start local 4 // java.sql.ResultSet rs
         4: .line 6575
            aload 4 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         5: .line 6577
            aload 4 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* engineEdition */
        start local 5 // int engineEdition
         6: .line 6578
            aload 0 /* this */
            iload 5 /* engineEdition */
            iconst_5
            if_icmpeq 9
         7: .line 6579
            iload 5 /* engineEdition */
            bipush 6
            if_icmpeq 9
         8: .line 6580
            iload 5 /* engineEdition */
            bipush 8
            if_icmpeq 9
            iconst_0
            goto 10
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
         9: iconst_1
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
        10: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        11: .line 6578
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:Ljava/lang/Boolean;
        12: .line 6581
            aload 0 /* this */
            iload 5 /* engineEdition */
            bipush 6
            if_icmpne 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
        13: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
        14: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureDW:Ljava/lang/Boolean;
        15: .line 6582
            aload 0 /* this */
            iload 5 /* engineEdition */
            bipush 8
            if_icmpne 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection
        16: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerConnection int
        17: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureMI:Ljava/lang/Boolean;
        end local 5 // int engineEdition
        18: .line 6584
            aload 4 /* rs */
            ifnull 21
            aload 4 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
            goto 21
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet
      StackMap stack: java.lang.Throwable
        19: astore 1
            aload 4 /* rs */
            ifnull 20
            aload 4 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        end local 4 // java.sql.ResultSet rs
      StackMap locals:
      StackMap stack:
        20: aload 1
            athrow
      StackMap locals:
      StackMap stack:
        21: aload 3 /* stmt */
            ifnull 35
            aload 3 /* stmt */
            invokeinterface java.sql.Statement.close:()V
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 2
            aload 1
            ifnonnull 23
            aload 2
            astore 1
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 1
            aload 2
            if_acmpeq 24
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 3 /* stmt */
            ifnull 25
            aload 3 /* stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 3 // java.sql.Statement stmt
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 2
            aload 1
            ifnonnull 27
            aload 2
            astore 1
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 1
            aload 2
            if_acmpeq 28
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 1
            athrow
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerConnection
      StackMap stack: java.sql.SQLException
        29: astore 1 /* e */
        start local 1 // java.sql.SQLException e
        30: .line 6585
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal: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 32
        31: .line 6586
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            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 ": Error retrieving server type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        32: .line 6587
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:Ljava/lang/Boolean;
        33: .line 6588
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureDW:Ljava/lang/Boolean;
        34: .line 6589
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureMI:Ljava/lang/Boolean;
        end local 1 // java.sql.SQLException e
        35: .line 6591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        36: .line 6593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            3   25     3           stmt  Ljava/sql/Statement;
            4   20     4             rs  Ljava/sql/ResultSet;
            6   18     5  engineEdition  I
           30   35     1              e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           4    18      19  any
           3    21      22  any
           2    26      26  any
           1    29      29  Class java.sql.SQLException

  boolean isAzureDW();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6603
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:()Z
            pop
         1: .line 6604
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureDW:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean isAzureMI();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6613
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzure:()Z
            pop
         1: .line 6614
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.isAzureMI:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final synchronized void addOpenStatement(com.microsoft.sqlserver.jdbc.ISQLServerStatement);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.ISQLServerStatement st
         0: .line 6624
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            ifnull 2
         1: .line 6625
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            aload 1 /* st */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 6627
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.ISQLServerStatement st
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1    st  Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;
    MethodParameters:
      Name  Flags
      st    

  final synchronized void removeOpenStatement(com.microsoft.sqlserver.jdbc.ISQLServerStatement);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;)V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // com.microsoft.sqlserver.jdbc.ISQLServerStatement st
         0: .line 6636
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            ifnull 2
         1: .line 6637
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.openStatements:Ljava/util/List;
            aload 1 /* st */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 6639
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.ISQLServerStatement st
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1    st  Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;
    MethodParameters:
      Name  Flags
      st    

  boolean isAEv2();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6642
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.aeVersion:I
            iconst_2
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  java.util.ArrayList<byte[]> initEnclaveParameters(java.lang.String, java.lang.String, com.microsoft.sqlserver.jdbc.Parameter[], java.util.ArrayList<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Lcom/microsoft/sqlserver/jdbc/Parameter;Ljava/util/ArrayList;)Ljava/util/ArrayList;
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String userSql
        start local 2 // java.lang.String preparedTypeDefinitions
        start local 3 // com.microsoft.sqlserver.jdbc.Parameter[] params
        start local 4 // java.util.ArrayList parameterNames
         0: .line 6649
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveEstablished:()Z
            ifne 2
         1: .line 6650
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveProvider:Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveAttestationUrl:Ljava/lang/String;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerEnclaveProvider.getAttestationParameters:(Ljava/lang/String;)V
         2: .line 6652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveProvider:Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
            aload 0 /* this */
            aload 1 /* userSql */
            aload 2 /* preparedTypeDefinitions */
            aload 3 /* params */
            aload 4 /* parameterNames */
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerEnclaveProvider.createEnclaveSession:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;Ljava/lang/String;[Lcom/microsoft/sqlserver/jdbc/Parameter;Ljava/util/ArrayList;)Ljava/util/ArrayList;
            areturn
        end local 4 // java.util.ArrayList parameterNames
        end local 3 // com.microsoft.sqlserver.jdbc.Parameter[] params
        end local 2 // java.lang.String preparedTypeDefinitions
        end local 1 // java.lang.String userSql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1                  userSql  Ljava/lang/String;
            0    3     2  preparedTypeDefinitions  Ljava/lang/String;
            0    3     3                   params  [Lcom/microsoft/sqlserver/jdbc/Parameter;
            0    3     4           parameterNames  Ljava/util/ArrayList<Ljava/lang/String;>;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Ljava/lang/String;Ljava/lang/String;[Lcom/microsoft/sqlserver/jdbc/Parameter;Ljava/util/ArrayList<Ljava/lang/String;>;)Ljava/util/ArrayList<[B>;
    MethodParameters:
                         Name  Flags
      userSql                  
      preparedTypeDefinitions  
      params                   
      parameterNames           

  boolean enclaveEstablished();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6656
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveProvider:Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerEnclaveProvider.getEnclaveSession:()Lcom/microsoft/sqlserver/jdbc/EnclaveSession;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  byte[] generateEnclavePackage(java.lang.String, java.util.ArrayList<byte[]>);
    descriptor: (Ljava/lang/String;Ljava/util/ArrayList;)[B
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String userSQL
        start local 2 // java.util.ArrayList enclaveCEKs
         0: .line 6660
            aload 2 /* enclaveCEKs */
            invokevirtual java.util.ArrayList.size:()I
            ifle 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.enclaveProvider:Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
            aload 1 /* userSQL */
            aload 2 /* enclaveCEKs */
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerEnclaveProvider.getEnclavePackage:(Ljava/lang/String;Ljava/util/ArrayList;)[B
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: byte[]
         2: areturn
        end local 2 // java.util.ArrayList enclaveCEKs
        end local 1 // java.lang.String userSQL
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3     1      userSQL  Ljava/lang/String;
            0    3     2  enclaveCEKs  Ljava/util/ArrayList<[B>;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Ljava/lang/String;Ljava/util/ArrayList<[B>;)[B
    MethodParameters:
             Name  Flags
      userSQL      
      enclaveCEKs  

  java.lang.String getServerName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 6664
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustedServerNameAE:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$KeyStoreAuthentication();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 85
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$KeyStoreAuthentication:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.values:()[Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.JavaKeyStorePassword:Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.ordinal:()I
            iconst_1
            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.KeyStoreAuthentication.KeyVaultClientSecret:Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.ordinal:()I
            iconst_2
            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.KeyStoreAuthentication.KeyVaultManagedIdentity:Lcom/microsoft/sqlserver/jdbc/KeyStoreAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.KeyStoreAuthentication.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$KeyStoreAuthentication:[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

  static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SqlAuthentication();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 85
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SqlAuthentication:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.microsoft.sqlserver.jdbc.SqlAuthentication.values:()[Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SqlAuthentication.ActiveDirectoryIntegrated:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            iconst_4
            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.SqlAuthentication.ActiveDirectoryInteractive:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            bipush 7
            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.SqlAuthentication.ActiveDirectoryMSI:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            iconst_5
            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.SqlAuthentication.ActiveDirectoryPassword:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            iconst_3
            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.SqlAuthentication.ActiveDirectoryServicePrincipal:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.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.SqlAuthentication.NotSpecified:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            iconst_1
            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.SqlAuthentication.SqlPassword:Lcom/microsoft/sqlserver/jdbc/SqlAuthentication;
            invokevirtual com.microsoft.sqlserver.jdbc.SqlAuthentication.ordinal:()I
            iconst_2
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            dup
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SqlAuthentication:[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

  private void lambda$1();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 3549
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.clearConnectionResources:()V
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
}
SourceFile: "SQLServerConnection.java"
NestMembers:
  com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand  com.microsoft.sqlserver.jdbc.SQLServerConnection$1DTCCommand  com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor  com.microsoft.sqlserver.jdbc.SQLServerConnection$ActiveDirectoryAuthentication  com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key  com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand  com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData  com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand  com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementCacheEvictionListener  com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle  com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo  com.microsoft.sqlserver.jdbc.SQLServerConnection$State
InnerClasses:
  final ConnectionCommand = com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand
  final DTCCommand = com.microsoft.sqlserver.jdbc.SQLServerConnection$1DTCCommand
  final LogonProcessor = com.microsoft.sqlserver.jdbc.SQLServerConnection$1LogonProcessor
  ActiveDirectoryAuthentication = com.microsoft.sqlserver.jdbc.SQLServerConnection$ActiveDirectoryAuthentication of com.microsoft.sqlserver.jdbc.SQLServerConnection
  CityHash128Key = com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key of com.microsoft.sqlserver.jdbc.SQLServerConnection
  final FedAuthTokenCommand = com.microsoft.sqlserver.jdbc.SQLServerConnection$FedAuthTokenCommand of com.microsoft.sqlserver.jdbc.SQLServerConnection
  FederatedAuthenticationFeatureExtensionData = com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData of com.microsoft.sqlserver.jdbc.SQLServerConnection
  private final LogonCommand = com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand of com.microsoft.sqlserver.jdbc.SQLServerConnection
  final PreparedStatementCacheEvictionListener = com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementCacheEvictionListener of com.microsoft.sqlserver.jdbc.SQLServerConnection
  PreparedStatementHandle = com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle of com.microsoft.sqlserver.jdbc.SQLServerConnection
  SqlFedAuthInfo = com.microsoft.sqlserver.jdbc.SQLServerConnection$SqlFedAuthInfo of com.microsoft.sqlserver.jdbc.SQLServerConnection
  private final State = com.microsoft.sqlserver.jdbc.SQLServerConnection$State of com.microsoft.sqlserver.jdbc.SQLServerConnection
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Builder = mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder of mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap