public final class sun.management.jmxremote.ConnectorBootstrap
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.management.jmxremote.ConnectorBootstrap
  super_class: java.lang.Object
{
  private static final com.sun.jmx.remote.util.ClassLogger log;
    descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 747
            new com.sun.jmx.remote.util.ClassLogger
            dup
            ldc Lsun/management/jmxremote/ConnectorBootstrap;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
         1: .line 748
            ldc "ConnectorBootstrap"
         2: .line 747
            invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 746
            putstatic sun.management.jmxremote.ConnectorBootstrap.log:Lcom/sun/jmx/remote/util/ClassLogger;
         4: .line 748
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized javax.management.remote.JMXConnectorServer initialize();
    descriptor: ()Ljavax/management/remote/JMXConnectorServer;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=0
         0: .line 257
            invokestatic sun.management.Agent.loadManagementProperties:()Ljava/util/Properties;
            astore 0 /* props */
        start local 0 // java.util.Properties props
         1: .line 258
            aload 0 /* props */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 260
      StackMap locals: java.util.Properties
      StackMap stack:
            aload 0 /* props */
            ldc "com.sun.management.jmxremote.port"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* portStr */
        start local 1 // java.lang.String portStr
         3: .line 264
            aload 1 /* portStr */
            aload 0 /* props */
            invokestatic sun.management.jmxremote.ConnectorBootstrap.initialize:(Ljava/lang/String;Ljava/util/Properties;)Ljavax/management/remote/JMXConnectorServer;
            areturn
        end local 1 // java.lang.String portStr
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    4     0    props  Ljava/util/Properties;
            3    4     1  portStr  Ljava/lang/String;

  public static synchronized javax.management.remote.JMXConnectorServer initialize(java.lang.String, java.util.Properties);
    descriptor: (Ljava/lang/String;Ljava/util/Properties;)Ljavax/management/remote/JMXConnectorServer;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=14, locals=22, args_size=2
        start local 0 // java.lang.String portStr
        start local 1 // java.util.Properties props
         0: .line 277
            aload 0 /* portStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* port */
        start local 2 // int port
         1: .line 278
            goto 4
        end local 2 // int port
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         2: astore 3 /* x */
        start local 3 // java.lang.NumberFormatException x
         3: .line 279
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.invalid.jmxremote.port"
            aload 3 /* x */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* portStr */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.NumberFormatException x
        start local 2 // int port
         4: .line 281
      StackMap locals: int
      StackMap stack:
            iload 2 /* port */
            ifge 6
         5: .line 282
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.invalid.jmxremote.port"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* portStr */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         6: .line 287
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.authenticate"
         7: .line 288
            ldc "true"
         8: .line 287
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         9: .line 286
            astore 3 /* useAuthenticationStr */
        start local 3 // java.lang.String useAuthenticationStr
        10: .line 290
            aload 3 /* useAuthenticationStr */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        11: .line 289
            istore 4 /* useAuthentication */
        start local 4 // boolean useAuthentication
        12: .line 294
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.ssl"
        13: .line 295
            ldc "true"
        14: .line 294
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        15: .line 293
            astore 5 /* useSslStr */
        start local 5 // java.lang.String useSslStr
        16: .line 297
            aload 5 /* useSslStr */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        17: .line 296
            istore 6 /* useSsl */
        start local 6 // boolean useSsl
        18: .line 301
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.registry.ssl"
        19: .line 302
            ldc "false"
        20: .line 301
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        21: .line 300
            astore 7 /* useRegistrySslStr */
        start local 7 // java.lang.String useRegistrySslStr
        22: .line 304
            aload 7 /* useRegistrySslStr */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        23: .line 303
            istore 8 /* useRegistrySsl */
        start local 8 // boolean useRegistrySsl
        24: .line 307
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.ssl.enabled.cipher.suites"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        25: .line 306
            astore 9 /* enabledCipherSuites */
        start local 9 // java.lang.String enabledCipherSuites
        26: .line 308
            aconst_null
            astore 10 /* enabledCipherSuitesList */
        start local 10 // java.lang.String[] enabledCipherSuitesList
        27: .line 309
            aload 9 /* enabledCipherSuites */
            ifnull 36
        28: .line 310
            new java.util.StringTokenizer
            dup
            aload 9 /* enabledCipherSuites */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 11 /* st */
        start local 11 // java.util.StringTokenizer st
        29: .line 311
            aload 11 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 12 /* tokens */
        start local 12 // int tokens
        30: .line 312
            iload 12 /* tokens */
            anewarray java.lang.String
            astore 10 /* enabledCipherSuitesList */
        31: .line 313
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        32: goto 35
        33: .line 314
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.util.StringTokenizer int int
      StackMap stack:
            aload 10 /* enabledCipherSuitesList */
            iload 13 /* i */
            aload 11 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            aastore
        34: .line 313
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 13 /* i */
            iload 12 /* tokens */
            if_icmplt 33
        end local 13 // int i
        end local 12 // int tokens
        end local 11 // java.util.StringTokenizer st
        36: .line 319
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.ssl.enabled.protocols"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        37: .line 318
            astore 11 /* enabledProtocols */
        start local 11 // java.lang.String enabledProtocols
        38: .line 320
            aconst_null
            astore 12 /* enabledProtocolsList */
        start local 12 // java.lang.String[] enabledProtocolsList
        39: .line 321
            aload 11 /* enabledProtocols */
            ifnull 48
        40: .line 322
            new java.util.StringTokenizer
            dup
            aload 11 /* enabledProtocols */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 13 /* st */
        start local 13 // java.util.StringTokenizer st
        41: .line 323
            aload 13 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 14 /* tokens */
        start local 14 // int tokens
        42: .line 324
            iload 14 /* tokens */
            anewarray java.lang.String
            astore 12 /* enabledProtocolsList */
        43: .line 325
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        44: goto 47
        45: .line 326
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.util.StringTokenizer int int
      StackMap stack:
            aload 12 /* enabledProtocolsList */
            iload 15 /* i */
            aload 13 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            aastore
        46: .line 325
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 15 /* i */
            iload 14 /* tokens */
            if_icmplt 45
        end local 15 // int i
        end local 14 // int tokens
        end local 13 // java.util.StringTokenizer st
        48: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.ssl.need.client.auth"
        49: .line 332
            ldc "false"
        50: .line 331
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        51: .line 330
            astore 13 /* sslNeedClientAuthStr */
        start local 13 // java.lang.String sslNeedClientAuthStr
        52: .line 334
            aload 13 /* sslNeedClientAuthStr */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        53: .line 333
            istore 14 /* sslNeedClientAuth */
        start local 14 // boolean sslNeedClientAuth
        54: .line 338
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.ssl.config.file"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        55: .line 337
            astore 15 /* sslConfigFileName */
        start local 15 // java.lang.String sslConfigFileName
        56: .line 340
            aconst_null
            astore 16 /* loginConfigName */
        start local 16 // java.lang.String loginConfigName
        57: .line 341
            aconst_null
            astore 17 /* passwordFileName */
        start local 17 // java.lang.String passwordFileName
        58: .line 342
            aconst_null
            astore 18 /* accessFileName */
        start local 18 // java.lang.String accessFileName
        59: .line 345
            iload 4 /* useAuthentication */
            ifeq 72
        60: .line 349
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.login.config"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        61: .line 348
            astore 16 /* loginConfigName */
        62: .line 351
            aload 16 /* loginConfigName */
            ifnonnull 68
        63: .line 354
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.password.file"
        64: .line 355
            ldc "jmxremote.password"
            invokestatic sun.management.jmxremote.ConnectorBootstrap.getDefaultFileName:(Ljava/lang/String;)Ljava/lang/String;
        65: .line 354
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        66: .line 353
            astore 17 /* passwordFileName */
        67: .line 356
            aload 17 /* passwordFileName */
            invokestatic sun.management.jmxremote.ConnectorBootstrap.checkPasswordFile:(Ljava/lang/String;)V
        68: .line 360
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* props */
            ldc "com.sun.management.jmxremote.access.file"
        69: .line 361
            ldc "jmxremote.access"
            invokestatic sun.management.jmxremote.ConnectorBootstrap.getDefaultFileName:(Ljava/lang/String;)Ljava/lang/String;
        70: .line 360
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 18 /* accessFileName */
        71: .line 362
            aload 18 /* accessFileName */
            invokestatic sun.management.jmxremote.ConnectorBootstrap.checkAccessFile:(Ljava/lang/String;)V
        72: .line 365
      StackMap locals:
      StackMap stack:
            getstatic sun.management.jmxremote.ConnectorBootstrap.log:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            ifeq 109
        73: .line 366
            getstatic sun.management.jmxremote.ConnectorBootstrap.log:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "initialize"
        74: .line 367
            new java.lang.StringBuilder
            dup
            ldc "jmxremote.ConnectorBootstrap.initialize"
            invokestatic sun.management.Agent.getText:(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
        75: .line 368
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.port"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        76: .line 369
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.ssl"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* useSsl */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        77: .line 370
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.registry.ssl"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* useRegistrySsl */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        78: .line 371
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.ssl.config.file"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* sslConfigFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        79: .line 372
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.ssl.enabled.cipher.suites"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        80: .line 373
            aload 9 /* enabledCipherSuites */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        81: .line 374
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.ssl.enabled.protocols"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        82: .line 375
            aload 11 /* enabledProtocols */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        83: .line 376
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.ssl.need.client.auth"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        84: .line 377
            iload 14 /* sslNeedClientAuth */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        85: .line 378
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "com.sun.management.jmxremote.authenticate"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        86: .line 379
            iload 4 /* useAuthentication */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        87: .line 380
            iload 4 /* useAuthentication */
            ifeq 97
        88: .line 381
            aload 16 /* loginConfigName */
            ifnonnull 93
        89: .line 382
            new java.lang.StringBuilder
            dup
            ldc "\n\tcom.sun.management.jmxremote.password.file="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        90: .line 383
            aload 17 /* passwordFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        91: .line 382
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        92: .line 383
            goto 99
        93: .line 384
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder
            new java.lang.StringBuilder
            dup
            ldc "\n\tcom.sun.management.jmxremote.login.config="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        94: .line 385
            aload 16 /* loginConfigName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        95: .line 384
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        96: .line 385
            goto 99
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder
        97: new java.lang.StringBuilder
            dup
            ldc "\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        98: .line 386
            ldc "jmxremote.ConnectorBootstrap.initialize.noAuthentication"
            invokestatic sun.management.Agent.getText:(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;
        99: .line 380
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       100: .line 387
            iload 4 /* useAuthentication */
            ifeq 105
       101: .line 388
            new java.lang.StringBuilder
            dup
            ldc "\n\tcom.sun.management.jmxremote.access.file="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       102: .line 389
            aload 18 /* accessFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       103: .line 388
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       104: .line 389
            goto 106
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder
       105: ldc ""
       106: .line 387
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       107: .line 367
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       108: .line 366
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
       109: .line 393
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            astore 19 /* mbs */
        start local 19 // javax.management.MBeanServer mbs
       110: .line 394
            aconst_null
            astore 20 /* cs */
        start local 20 // javax.management.remote.JMXConnectorServer cs
       111: .line 396
            aload 19 /* mbs */
            iload 2 /* port */
            iload 6 /* useSsl */
            iload 8 /* useRegistrySsl */
       112: .line 397
            aload 15 /* sslConfigFileName */
            aload 10 /* enabledCipherSuitesList */
       113: .line 398
            aload 12 /* enabledProtocolsList */
            iload 14 /* sslNeedClientAuth */
       114: .line 399
            iload 4 /* useAuthentication */
            aload 16 /* loginConfigName */
       115: .line 400
            aload 17 /* passwordFileName */
            aload 18 /* accessFileName */
       116: .line 396
            invokestatic sun.management.jmxremote.ConnectorBootstrap.exportMBeanServer:(Ljavax/management/MBeanServer;IZZLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/remote/JMXConnectorServer;
            astore 20 /* cs */
       117: .line 402
            aload 20 /* cs */
            invokevirtual javax.management.remote.JMXConnectorServer.getAddress:()Ljavax/management/remote/JMXServiceURL;
            astore 21 /* url */
        start local 21 // javax.management.remote.JMXServiceURL url
       118: .line 403
            getstatic sun.management.jmxremote.ConnectorBootstrap.log:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "initialize"
       119: .line 404
            ldc "jmxremote.ConnectorBootstrap.initialize.ready"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
       120: .line 405
            new javax.management.remote.JMXServiceURL
            dup
            aload 21 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
       121: .line 406
            aload 21 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getHost:()Ljava/lang/String;
       122: .line 407
            aload 21 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getPort:()I
       123: .line 408
            new java.lang.StringBuilder
            dup
            ldc "/jndi/rmi://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 21 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getHost:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       124: .line 409
            ldc "jmxrmi"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       125: .line 408
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       126: .line 405
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
       127: .line 409
            invokevirtual javax.management.remote.JMXServiceURL.toString:()Ljava/lang/String;
            aastore
       128: .line 404
            invokestatic sun.management.Agent.getText:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
       129: .line 403
            invokevirtual com.sun.jmx.remote.util.ClassLogger.config:(Ljava/lang/String;Ljava/lang/String;)V
        end local 21 // javax.management.remote.JMXServiceURL url
       130: .line 410
            goto 133
      StackMap locals: java.lang.String java.util.Properties int java.lang.String int java.lang.String int java.lang.String int java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String javax.management.MBeanServer javax.management.remote.JMXConnectorServer
      StackMap stack: java.lang.Exception
       131: astore 21 /* e */
        start local 21 // java.lang.Exception e
       132: .line 411
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.exception"
            aload 21 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 21 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 21 // java.lang.Exception e
       133: .line 413
      StackMap locals:
      StackMap stack:
            aload 20 /* cs */
            areturn
        end local 20 // javax.management.remote.JMXConnectorServer cs
        end local 19 // javax.management.MBeanServer mbs
        end local 18 // java.lang.String accessFileName
        end local 17 // java.lang.String passwordFileName
        end local 16 // java.lang.String loginConfigName
        end local 15 // java.lang.String sslConfigFileName
        end local 14 // boolean sslNeedClientAuth
        end local 13 // java.lang.String sslNeedClientAuthStr
        end local 12 // java.lang.String[] enabledProtocolsList
        end local 11 // java.lang.String enabledProtocols
        end local 10 // java.lang.String[] enabledCipherSuitesList
        end local 9 // java.lang.String enabledCipherSuites
        end local 8 // boolean useRegistrySsl
        end local 7 // java.lang.String useRegistrySslStr
        end local 6 // boolean useSsl
        end local 5 // java.lang.String useSslStr
        end local 4 // boolean useAuthentication
        end local 3 // java.lang.String useAuthenticationStr
        end local 2 // int port
        end local 1 // java.util.Properties props
        end local 0 // java.lang.String portStr
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  134     0                  portStr  Ljava/lang/String;
            0  134     1                    props  Ljava/util/Properties;
            1    2     2                     port  I
            4  134     2                     port  I
            3    4     3                        x  Ljava/lang/NumberFormatException;
           10  134     3     useAuthenticationStr  Ljava/lang/String;
           12  134     4        useAuthentication  Z
           16  134     5                useSslStr  Ljava/lang/String;
           18  134     6                   useSsl  Z
           22  134     7        useRegistrySslStr  Ljava/lang/String;
           24  134     8           useRegistrySsl  Z
           26  134     9      enabledCipherSuites  Ljava/lang/String;
           27  134    10  enabledCipherSuitesList  [Ljava/lang/String;
           29   36    11                       st  Ljava/util/StringTokenizer;
           30   36    12                   tokens  I
           32   36    13                        i  I
           38  134    11         enabledProtocols  Ljava/lang/String;
           39  134    12     enabledProtocolsList  [Ljava/lang/String;
           41   48    13                       st  Ljava/util/StringTokenizer;
           42   48    14                   tokens  I
           44   48    15                        i  I
           52  134    13     sslNeedClientAuthStr  Ljava/lang/String;
           54  134    14        sslNeedClientAuth  Z
           56  134    15        sslConfigFileName  Ljava/lang/String;
           57  134    16          loginConfigName  Ljava/lang/String;
           58  134    17         passwordFileName  Ljava/lang/String;
           59  134    18           accessFileName  Ljava/lang/String;
          110  134    19                      mbs  Ljavax/management/MBeanServer;
          111  134    20                       cs  Ljavax/management/remote/JMXConnectorServer;
          118  130    21                      url  Ljavax/management/remote/JMXServiceURL;
          132  133    21                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
         111   130     131  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      portStr  
      props    

  public static javax.management.remote.JMXConnectorServer startLocalConnectorServer();
    descriptor: ()Ljavax/management/remote/JMXConnectorServer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=0
         0: .line 423
            ldc "java.rmi.server.randomIDs"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         1: .line 426
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* env */
        start local 0 // java.util.Map env
         2: .line 427
            aload 0 /* env */
            ldc "com.sun.jmx.remote.rmi.exporter"
            new sun.management.jmxremote.ConnectorBootstrap$PermanentExporter
            dup
            invokespecial sun.management.jmxremote.ConnectorBootstrap$PermanentExporter.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 428
            aload 0 /* env */
            ldc "jmx.remote.rmi.server.credential.types"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         4: .line 429
            ldc [Ljava/lang/String;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         5: .line 428
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 434
            ldc "localhost"
            astore 1 /* localhost */
        start local 1 // java.lang.String localhost
         7: .line 435
            aconst_null
            astore 2 /* lh */
        start local 2 // java.net.InetAddress lh
         8: .line 437
            aload 1 /* localhost */
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 2 /* lh */
         9: .line 438
            aload 2 /* lh */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            astore 1 /* localhost */
        10: .line 439
            goto 12
      StackMap locals: java.util.Map java.lang.String java.net.InetAddress
      StackMap stack: java.net.UnknownHostException
        11: pop
        12: .line 444
      StackMap locals:
      StackMap stack:
            aload 2 /* lh */
            ifnull 13
            aload 2 /* lh */
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifne 14
        13: .line 445
      StackMap locals:
      StackMap stack:
            ldc "127.0.0.1"
            astore 1 /* localhost */
        14: .line 448
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            astore 3 /* mbs */
        start local 3 // javax.management.MBeanServer mbs
        15: .line 450
            new javax.management.remote.JMXServiceURL
            dup
            ldc "rmi"
            aload 1 /* localhost */
            iconst_0
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            astore 4 /* url */
        start local 4 // javax.management.remote.JMXServiceURL url
        16: .line 452
            invokestatic sun.management.Agent.getManagementProperties:()Ljava/util/Properties;
            astore 5 /* props */
        start local 5 // java.util.Properties props
        17: .line 453
            aload 5 /* props */
            ifnonnull 19
        18: .line 454
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 5 /* props */
        19: .line 456
      StackMap locals: javax.management.MBeanServer javax.management.remote.JMXServiceURL java.util.Properties
      StackMap stack:
            aload 5 /* props */
        20: .line 457
            ldc "com.sun.management.jmxremote.local.only"
            ldc "true"
        21: .line 456
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* useLocalOnlyStr */
        start local 6 // java.lang.String useLocalOnlyStr
        22: .line 458
            aload 6 /* useLocalOnlyStr */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 7 /* useLocalOnly */
        start local 7 // boolean useLocalOnly
        23: .line 459
            iload 7 /* useLocalOnly */
            ifeq 27
        24: .line 460
            aload 0 /* env */
            ldc "jmx.remote.rmi.server.socket.factory"
        25: .line 461
            new sun.management.jmxremote.LocalRMIServerSocketFactory
            dup
            invokespecial sun.management.jmxremote.LocalRMIServerSocketFactory.<init>:()V
        26: .line 460
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 464
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 4 /* url */
            aload 0 /* env */
            aload 3 /* mbs */
            invokestatic javax.management.remote.JMXConnectorServerFactory.newJMXConnectorServer:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljavax/management/MBeanServer;)Ljavax/management/remote/JMXConnectorServer;
        28: .line 463
            astore 8 /* server */
        start local 8 // javax.management.remote.JMXConnectorServer server
        29: .line 465
            aload 8 /* server */
            invokevirtual javax.management.remote.JMXConnectorServer.start:()V
        30: .line 466
            aload 8 /* server */
        31: areturn
        end local 8 // javax.management.remote.JMXConnectorServer server
        end local 7 // boolean useLocalOnly
        end local 6 // java.lang.String useLocalOnlyStr
        end local 5 // java.util.Properties props
        end local 4 // javax.management.remote.JMXServiceURL url
        32: .line 467
      StackMap locals: java.util.Map java.lang.String java.net.InetAddress javax.management.MBeanServer
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        33: .line 468
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.exception"
            aload 4 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // javax.management.MBeanServer mbs
        end local 2 // java.net.InetAddress lh
        end local 1 // java.lang.String localhost
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            2   34     0              env  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            7   34     1        localhost  Ljava/lang/String;
            8   34     2               lh  Ljava/net/InetAddress;
           15   34     3              mbs  Ljavax/management/MBeanServer;
           16   32     4              url  Ljavax/management/remote/JMXServiceURL;
           17   32     5            props  Ljava/util/Properties;
           22   32     6  useLocalOnlyStr  Ljava/lang/String;
           23   32     7     useLocalOnly  Z
           29   32     8           server  Ljavax/management/remote/JMXConnectorServer;
           33   34     4                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    10      11  Class java.net.UnknownHostException
          15    31      32  Class java.lang.Exception

  private static void checkPasswordFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // java.lang.String passwordFileName
         0: .line 473
            aload 0 /* passwordFileName */
            ifnull 1
            aload 0 /* passwordFileName */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 474
      StackMap locals:
      StackMap stack:
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.password.file.notset"
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 476
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* passwordFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         3: .line 477
            aload 1 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 5
         4: .line 478
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.password.file.notfound"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* passwordFileName */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         5: .line 481
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifne 7
         6: .line 482
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.password.file.not.readable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* passwordFileName */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         7: .line 485
      StackMap locals:
      StackMap stack:
            invokestatic sun.management.FileSystem.open:()Lsun/management/FileSystem;
            astore 2 /* fs */
        start local 2 // sun.management.FileSystem fs
         8: .line 487
            aload 2 /* fs */
            aload 1 /* file */
            invokevirtual sun.management.FileSystem.supportsFileSecurity:(Ljava/io/File;)Z
            ifeq 21
         9: .line 488
            aload 2 /* fs */
            aload 1 /* file */
            invokevirtual sun.management.FileSystem.isAccessUserOnly:(Ljava/io/File;)Z
            ifne 21
        10: .line 489
            ldc "jmxremote.ConnectorBootstrap.initialize.password.readonly"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        11: .line 490
            aload 0 /* passwordFileName */
            aastore
        12: .line 489
            invokestatic sun.management.Agent.getText:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
        13: .line 491
            getstatic sun.management.jmxremote.ConnectorBootstrap.log:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "initialize"
            aload 3 /* msg */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.config:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 492
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.password.file.access.notrestricted"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        15: .line 493
            aload 0 /* passwordFileName */
        16: .line 492
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String msg
        17: .line 496
      StackMap locals: java.lang.String java.io.File sun.management.FileSystem
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        18: .line 497
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.password.file.read.failed"
        19: .line 498
            aload 3 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* passwordFileName */
        20: .line 497
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 3 // java.io.IOException e
        21: .line 500
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.management.FileSystem fs
        end local 1 // java.io.File file
        end local 0 // java.lang.String passwordFileName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0  passwordFileName  Ljava/lang/String;
            3   22     1              file  Ljava/io/File;
            8   22     2                fs  Lsun/management/FileSystem;
           13   17     3               msg  Ljava/lang/String;
           18   21     3                 e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    17      17  Class java.io.IOException
    MethodParameters:
                  Name  Flags
      passwordFileName  

  private static void checkAccessFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.lang.String accessFileName
         0: .line 503
            aload 0 /* accessFileName */
            ifnull 1
            aload 0 /* accessFileName */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 504
      StackMap locals:
      StackMap stack:
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.access.file.notset"
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 506
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* accessFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         3: .line 507
            aload 1 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 5
         4: .line 508
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.access.file.notfound"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* accessFileName */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         5: .line 510
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifne 7
         6: .line 511
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.access.file.not.readable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* accessFileName */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         7: .line 513
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File file
        end local 0 // java.lang.String accessFileName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0  accessFileName  Ljava/lang/String;
            3    8     1            file  Ljava/io/File;
    MethodParameters:
                Name  Flags
      accessFileName  

  private static void checkRestrictedFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // java.lang.String restrictedFileName
         0: .line 516
            aload 0 /* restrictedFileName */
            ifnull 1
            aload 0 /* restrictedFileName */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 517
      StackMap locals:
      StackMap stack:
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.file.not.set"
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 519
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* restrictedFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         3: .line 520
            aload 1 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 5
         4: .line 521
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.file.not.found"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* restrictedFileName */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         5: .line 523
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifne 7
         6: .line 524
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.file.not.readable"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* restrictedFileName */
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
         7: .line 526
      StackMap locals:
      StackMap stack:
            invokestatic sun.management.FileSystem.open:()Lsun/management/FileSystem;
            astore 2 /* fs */
        start local 2 // sun.management.FileSystem fs
         8: .line 528
            aload 2 /* fs */
            aload 1 /* file */
            invokevirtual sun.management.FileSystem.supportsFileSecurity:(Ljava/io/File;)Z
            ifeq 21
         9: .line 529
            aload 2 /* fs */
            aload 1 /* file */
            invokevirtual sun.management.FileSystem.isAccessUserOnly:(Ljava/io/File;)Z
            ifne 21
        10: .line 531
            ldc "jmxremote.ConnectorBootstrap.initialize.file.readonly"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        11: .line 532
            aload 0 /* restrictedFileName */
            aastore
        12: .line 530
            invokestatic sun.management.Agent.getText:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
        13: .line 533
            getstatic sun.management.jmxremote.ConnectorBootstrap.log:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "initialize"
            aload 3 /* msg */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.config:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 534
            new sun.management.AgentConfigurationError
            dup
        15: .line 535
            ldc "agent.err.file.access.not.restricted"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* restrictedFileName */
        16: .line 534
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String msg
        17: .line 538
      StackMap locals: java.lang.String java.io.File sun.management.FileSystem
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        18: .line 539
            new sun.management.AgentConfigurationError
            dup
        19: .line 540
            ldc "agent.err.file.read.failed"
            aload 3 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* restrictedFileName */
        20: .line 539
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 3 // java.io.IOException e
        21: .line 542
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.management.FileSystem fs
        end local 1 // java.io.File file
        end local 0 // java.lang.String restrictedFileName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0  restrictedFileName  Ljava/lang/String;
            3   22     1                file  Ljava/io/File;
            8   22     2                  fs  Lsun/management/FileSystem;
           13   17     3                 msg  Ljava/lang/String;
           18   21     3                   e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    17      17  Class java.io.IOException
    MethodParameters:
                    Name  Flags
      restrictedFileName  

  private static java.lang.String getDefaultFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String basename
         0: .line 550
            getstatic java.io.File.separator:Ljava/lang/String;
            astore 1 /* fileSeparator */
        start local 1 // java.lang.String fileSeparator
         1: .line 551
            new java.lang.StringBuilder
            dup
            ldc "java.home"
            invokestatic java.lang.System.getProperty:(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 1 /* fileSeparator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "lib"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 552
            aload 1 /* fileSeparator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "management"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* fileSeparator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 553
            aload 0 /* basename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 551
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String fileSeparator
        end local 0 // java.lang.String basename
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0       basename  Ljava/lang/String;
            1    5     1  fileSeparator  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      basename  

  private static javax.rmi.ssl.SslRMIServerSocketFactory createSslRMIServerSocketFactory(java.lang.String, java.lang.String[], java.lang.String[], boolean);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljavax/rmi/ssl/SslRMIServerSocketFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=17, args_size=4
        start local 0 // java.lang.String sslConfigFileName
        start local 1 // java.lang.String[] enabledCipherSuites
        start local 2 // java.lang.String[] enabledProtocols
        start local 3 // boolean sslNeedClientAuth
         0: .line 561
            aload 0 /* sslConfigFileName */
            ifnonnull 6
         1: .line 562
            new javax.rmi.ssl.SslRMIServerSocketFactory
            dup
         2: .line 563
            aload 1 /* enabledCipherSuites */
         3: .line 564
            aload 2 /* enabledProtocols */
         4: .line 565
            iload 3 /* sslNeedClientAuth */
         5: .line 562
            invokespecial javax.rmi.ssl.SslRMIServerSocketFactory.<init>:([Ljava/lang/String;[Ljava/lang/String;Z)V
            areturn
         6: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* sslConfigFileName */
            invokestatic sun.management.jmxremote.ConnectorBootstrap.checkRestrictedFile:(Ljava/lang/String;)V
         7: .line 570
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 4 /* p */
        start local 4 // java.util.Properties p
         8: .line 571
            new java.io.FileInputStream
            dup
            aload 0 /* sslConfigFileName */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 5 /* in */
        start local 5 // java.io.InputStream in
         9: .line 573
            new java.io.BufferedInputStream
            dup
            aload 5 /* in */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* bin */
        start local 6 // java.io.BufferedInputStream bin
        10: .line 574
            aload 4 /* p */
            aload 6 /* bin */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        end local 6 // java.io.BufferedInputStream bin
        11: .line 575
            goto 15
      StackMap locals: java.lang.String java.lang.String[] java.lang.String[] int java.util.Properties java.io.InputStream
      StackMap stack: java.lang.Throwable
        12: astore 7
        13: .line 576
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
        14: .line 577
            aload 7
            athrow
        15: .line 576
      StackMap locals:
      StackMap stack:
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
        16: .line 579
            aload 4 /* p */
            ldc "javax.net.ssl.keyStore"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        17: .line 578
            astore 6 /* keyStore */
        start local 6 // java.lang.String keyStore
        18: .line 581
            aload 4 /* p */
            ldc "javax.net.ssl.keyStorePassword"
            ldc ""
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        19: .line 580
            astore 7 /* keyStorePassword */
        start local 7 // java.lang.String keyStorePassword
        20: .line 583
            aload 4 /* p */
            ldc "javax.net.ssl.trustStore"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 582
            astore 8 /* trustStore */
        start local 8 // java.lang.String trustStore
        22: .line 585
            aload 4 /* p */
            ldc "javax.net.ssl.trustStorePassword"
            ldc ""
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        23: .line 584
            astore 9 /* trustStorePassword */
        start local 9 // java.lang.String trustStorePassword
        24: .line 587
            aconst_null
            astore 10 /* keyStorePasswd */
        start local 10 // char[] keyStorePasswd
        25: .line 588
            aload 7 /* keyStorePassword */
            invokevirtual java.lang.String.length:()I
            ifeq 27
        26: .line 589
            aload 7 /* keyStorePassword */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 10 /* keyStorePasswd */
        27: .line 592
      StackMap locals: java.lang.String java.lang.String[] java.lang.String[] int java.util.Properties java.io.InputStream java.lang.String java.lang.String java.lang.String java.lang.String char[]
      StackMap stack:
            aconst_null
            astore 11 /* trustStorePasswd */
        start local 11 // char[] trustStorePasswd
        28: .line 593
            aload 9 /* trustStorePassword */
            invokevirtual java.lang.String.length:()I
            ifeq 30
        29: .line 594
            aload 9 /* trustStorePassword */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 11 /* trustStorePasswd */
        30: .line 597
      StackMap locals: char[]
      StackMap stack:
            aconst_null
            astore 12 /* ks */
        start local 12 // java.security.KeyStore ks
        31: .line 598
            aload 6 /* keyStore */
            ifnull 40
        32: .line 599
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            astore 12 /* ks */
        33: .line 600
            new java.io.FileInputStream
            dup
            aload 6 /* keyStore */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 13 /* ksfis */
        start local 13 // java.io.FileInputStream ksfis
        34: .line 602
            aload 12 /* ks */
            aload 13 /* ksfis */
            aload 10 /* keyStorePasswd */
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
        35: .line 603
            goto 39
      StackMap locals: java.lang.String java.lang.String[] java.lang.String[] int java.util.Properties java.io.InputStream java.lang.String java.lang.String java.lang.String java.lang.String char[] char[] java.security.KeyStore java.io.FileInputStream
      StackMap stack: java.lang.Throwable
        36: astore 14
        37: .line 604
            aload 13 /* ksfis */
            invokevirtual java.io.FileInputStream.close:()V
        38: .line 605
            aload 14
            athrow
        39: .line 604
      StackMap locals:
      StackMap stack:
            aload 13 /* ksfis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 13 // java.io.FileInputStream ksfis
        40: .line 608
      StackMap locals:
      StackMap stack:
            invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
        41: .line 607
            invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
            astore 13 /* kmf */
        start local 13 // javax.net.ssl.KeyManagerFactory kmf
        42: .line 609
            aload 13 /* kmf */
            aload 12 /* ks */
            aload 10 /* keyStorePasswd */
            invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
        43: .line 611
            aconst_null
            astore 14 /* ts */
        start local 14 // java.security.KeyStore ts
        44: .line 612
            aload 8 /* trustStore */
            ifnull 53
        45: .line 613
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            astore 14 /* ts */
        46: .line 614
            new java.io.FileInputStream
            dup
            aload 8 /* trustStore */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 15 /* tsfis */
        start local 15 // java.io.FileInputStream tsfis
        47: .line 616
            aload 14 /* ts */
            aload 15 /* tsfis */
            aload 11 /* trustStorePasswd */
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
        48: .line 617
            goto 52
      StackMap locals: java.lang.String java.lang.String[] java.lang.String[] int java.util.Properties java.io.InputStream java.lang.String java.lang.String java.lang.String java.lang.String char[] char[] java.security.KeyStore javax.net.ssl.KeyManagerFactory java.security.KeyStore java.io.FileInputStream
      StackMap stack: java.lang.Throwable
        49: astore 16
        50: .line 618
            aload 15 /* tsfis */
            invokevirtual java.io.FileInputStream.close:()V
        51: .line 619
            aload 16
            athrow
        52: .line 618
      StackMap locals:
      StackMap stack:
            aload 15 /* tsfis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 15 // java.io.FileInputStream tsfis
        53: .line 622
      StackMap locals:
      StackMap stack:
            invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
        54: .line 621
            invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
            astore 15 /* tmf */
        start local 15 // javax.net.ssl.TrustManagerFactory tmf
        55: .line 623
            aload 15 /* tmf */
            aload 14 /* ts */
            invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
        56: .line 625
            ldc "SSL"
            invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
            astore 16 /* ctx */
        start local 16 // javax.net.ssl.SSLContext ctx
        57: .line 626
            aload 16 /* ctx */
            aload 13 /* kmf */
            invokevirtual javax.net.ssl.KeyManagerFactory.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
            aload 15 /* tmf */
            invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
            aconst_null
            invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
        58: .line 628
            new sun.management.jmxremote.SSLContextRMIServerSocketFactory
            dup
        59: .line 629
            aload 16 /* ctx */
        60: .line 630
            aload 1 /* enabledCipherSuites */
        61: .line 631
            aload 2 /* enabledProtocols */
        62: .line 632
            iload 3 /* sslNeedClientAuth */
        63: .line 628
            invokespecial sun.management.jmxremote.SSLContextRMIServerSocketFactory.<init>:(Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Z)V
        64: areturn
        end local 16 // javax.net.ssl.SSLContext ctx
        end local 15 // javax.net.ssl.TrustManagerFactory tmf
        end local 14 // java.security.KeyStore ts
        end local 13 // javax.net.ssl.KeyManagerFactory kmf
        end local 12 // java.security.KeyStore ks
        end local 11 // char[] trustStorePasswd
        end local 10 // char[] keyStorePasswd
        end local 9 // java.lang.String trustStorePassword
        end local 8 // java.lang.String trustStore
        end local 7 // java.lang.String keyStorePassword
        end local 6 // java.lang.String keyStore
        end local 5 // java.io.InputStream in
        end local 4 // java.util.Properties p
        65: .line 633
      StackMap locals: java.lang.String java.lang.String[] java.lang.String[] int
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        66: .line 634
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.exception"
            aload 4 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // boolean sslNeedClientAuth
        end local 2 // java.lang.String[] enabledProtocols
        end local 1 // java.lang.String[] enabledCipherSuites
        end local 0 // java.lang.String sslConfigFileName
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   67     0    sslConfigFileName  Ljava/lang/String;
            0   67     1  enabledCipherSuites  [Ljava/lang/String;
            0   67     2     enabledProtocols  [Ljava/lang/String;
            0   67     3    sslNeedClientAuth  Z
            8   65     4                    p  Ljava/util/Properties;
            9   65     5                   in  Ljava/io/InputStream;
           10   11     6                  bin  Ljava/io/BufferedInputStream;
           18   65     6             keyStore  Ljava/lang/String;
           20   65     7     keyStorePassword  Ljava/lang/String;
           22   65     8           trustStore  Ljava/lang/String;
           24   65     9   trustStorePassword  Ljava/lang/String;
           25   65    10       keyStorePasswd  [C
           28   65    11     trustStorePasswd  [C
           31   65    12                   ks  Ljava/security/KeyStore;
           34   40    13                ksfis  Ljava/io/FileInputStream;
           42   65    13                  kmf  Ljavax/net/ssl/KeyManagerFactory;
           44   65    14                   ts  Ljava/security/KeyStore;
           47   53    15                tsfis  Ljava/io/FileInputStream;
           55   65    15                  tmf  Ljavax/net/ssl/TrustManagerFactory;
           57   65    16                  ctx  Ljavax/net/ssl/SSLContext;
           66   67     4                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    12      12  any
          34    36      36  any
          47    49      49  any
           7    64      65  Class java.lang.Exception
    MethodParameters:
                     Name  Flags
      sslConfigFileName    
      enabledCipherSuites  
      enabledProtocols     
      sslNeedClientAuth    

  private static javax.management.remote.JMXConnectorServer exportMBeanServer(javax.management.MBeanServer, int, boolean, boolean, java.lang.String, java.lang.String[], java.lang.String[], boolean, boolean, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljavax/management/MBeanServer;IZZLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/remote/JMXConnectorServer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=19, args_size=12
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // int port
        start local 2 // boolean useSsl
        start local 3 // boolean useRegistrySsl
        start local 4 // java.lang.String sslConfigFileName
        start local 5 // java.lang.String[] enabledCipherSuites
        start local 6 // java.lang.String[] enabledProtocols
        start local 7 // boolean sslNeedClientAuth
        start local 8 // boolean useAuthentication
        start local 9 // java.lang.String loginConfigName
        start local 10 // java.lang.String passwordFileName
        start local 11 // java.lang.String accessFileName
         0: .line 657
            ldc "java.rmi.server.randomIDs"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         1: .line 659
            new javax.management.remote.JMXServiceURL
            dup
            ldc "rmi"
            aconst_null
            iconst_0
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            astore 12 /* url */
        start local 12 // javax.management.remote.JMXServiceURL url
         2: .line 661
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 13 /* env */
        start local 13 // java.util.Map env
         3: .line 663
            new sun.management.jmxremote.ConnectorBootstrap$PermanentExporter
            dup
            invokespecial sun.management.jmxremote.ConnectorBootstrap$PermanentExporter.<init>:()V
            astore 14 /* exporter */
        start local 14 // sun.management.jmxremote.ConnectorBootstrap$PermanentExporter exporter
         4: .line 665
            aload 13 /* env */
            ldc "com.sun.jmx.remote.rmi.exporter"
            aload 14 /* exporter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 666
            aload 13 /* env */
            ldc "jmx.remote.rmi.server.credential.types"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 667
            ldc [Ljava/lang/String;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         7: .line 666
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 670
            iload 8 /* useAuthentication */
            ifeq 19
         9: .line 671
            aload 9 /* loginConfigName */
            ifnull 11
        10: .line 672
            aload 13 /* env */
            ldc "jmx.remote.x.login.config"
            aload 9 /* loginConfigName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 674
      StackMap locals: javax.management.remote.JMXServiceURL java.util.Map sun.management.jmxremote.ConnectorBootstrap$PermanentExporter
      StackMap stack:
            aload 10 /* passwordFileName */
            ifnull 13
        12: .line 675
            aload 13 /* env */
            ldc "jmx.remote.x.password.file"
            aload 10 /* passwordFileName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 678
      StackMap locals:
      StackMap stack:
            aload 13 /* env */
            ldc "jmx.remote.x.access.file"
            aload 11 /* accessFileName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 680
            aload 13 /* env */
            ldc "jmx.remote.x.password.file"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 16
        15: .line 681
            aload 13 /* env */
            ldc "jmx.remote.x.login.config"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 19
        16: .line 682
      StackMap locals:
      StackMap stack:
            aload 13 /* env */
            ldc "jmx.remote.authenticator"
        17: .line 683
            new sun.management.jmxremote.ConnectorBootstrap$AccessFileCheckerAuthenticator
            dup
            aload 13 /* env */
            invokespecial sun.management.jmxremote.ConnectorBootstrap$AccessFileCheckerAuthenticator.<init>:(Ljava/util/Map;)V
        18: .line 682
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 687
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 15 /* csf */
        start local 15 // java.rmi.server.RMIClientSocketFactory csf
        20: .line 688
            aconst_null
            astore 16 /* ssf */
        start local 16 // java.rmi.server.RMIServerSocketFactory ssf
        21: .line 690
            iload 2 /* useSsl */
            ifne 22
            iload 3 /* useRegistrySsl */
            ifeq 26
        22: .line 691
      StackMap locals: java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory
      StackMap stack:
            new javax.rmi.ssl.SslRMIClientSocketFactory
            dup
            invokespecial javax.rmi.ssl.SslRMIClientSocketFactory.<init>:()V
            astore 15 /* csf */
        23: .line 693
            aload 4 /* sslConfigFileName */
            aload 5 /* enabledCipherSuites */
        24: .line 694
            aload 6 /* enabledProtocols */
            iload 7 /* sslNeedClientAuth */
        25: .line 692
            invokestatic sun.management.jmxremote.ConnectorBootstrap.createSslRMIServerSocketFactory:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)Ljavax/rmi/ssl/SslRMIServerSocketFactory;
            astore 16 /* ssf */
        26: .line 697
      StackMap locals:
      StackMap stack:
            iload 2 /* useSsl */
            ifeq 33
        27: .line 698
            aload 13 /* env */
            ldc "jmx.remote.rmi.client.socket.factory"
        28: .line 699
            aload 15 /* csf */
        29: .line 698
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 700
            aload 13 /* env */
            ldc "jmx.remote.rmi.server.socket.factory"
        31: .line 701
            aload 16 /* ssf */
        32: .line 700
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 704
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17 /* connServer */
        start local 17 // javax.management.remote.JMXConnectorServer connServer
        34: .line 707
            aload 12 /* url */
            aload 13 /* env */
            aload 0 /* mbs */
            invokestatic javax.management.remote.JMXConnectorServerFactory.newJMXConnectorServer:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljavax/management/MBeanServer;)Ljavax/management/remote/JMXConnectorServer;
        35: .line 706
            astore 17 /* connServer */
        36: .line 708
            aload 17 /* connServer */
            invokevirtual javax.management.remote.JMXConnectorServer.start:()V
        37: .line 709
            goto 46
      StackMap locals: javax.management.MBeanServer int int int java.lang.String java.lang.String[] java.lang.String[] int int java.lang.String java.lang.String java.lang.String javax.management.remote.JMXServiceURL java.util.Map sun.management.jmxremote.ConnectorBootstrap$PermanentExporter java.rmi.server.RMIClientSocketFactory java.rmi.server.RMIServerSocketFactory javax.management.remote.JMXConnectorServer
      StackMap stack: java.io.IOException
        38: astore 18 /* e */
        start local 18 // java.io.IOException e
        39: .line 710
            aload 17 /* connServer */
            ifnonnull 43
        40: .line 711
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.connector.server.io.error"
        41: .line 712
            aload 18 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 12 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.toString:()Ljava/lang/String;
        42: .line 711
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        43: .line 714
      StackMap locals: java.io.IOException
      StackMap stack:
            new sun.management.AgentConfigurationError
            dup
            ldc "agent.err.connector.server.io.error"
        44: .line 715
            aload 18 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 17 /* connServer */
            invokevirtual javax.management.remote.JMXConnectorServer.getAddress:()Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.toString:()Ljava/lang/String;
        45: .line 714
            aastore
            invokespecial sun.management.AgentConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/String;)V
            athrow
        end local 18 // java.io.IOException e
        46: .line 720
      StackMap locals:
      StackMap stack:
            iload 3 /* useRegistrySsl */
            ifeq 52
        47: .line 722
            new sun.management.jmxremote.SingleEntryRegistry
            dup
            iload 1 /* port */
            aload 15 /* csf */
            aload 16 /* ssf */
        48: .line 723
            ldc "jmxrmi"
            aload 14 /* exporter */
            getfield sun.management.jmxremote.ConnectorBootstrap$PermanentExporter.firstExported:Ljava/rmi/Remote;
        49: .line 722
            invokespecial sun.management.jmxremote.SingleEntryRegistry.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/lang/String;Ljava/rmi/Remote;)V
        50: .line 721
            pop
        51: .line 723
            goto 56
        52: .line 726
      StackMap locals:
      StackMap stack:
            new sun.management.jmxremote.SingleEntryRegistry
            dup
            iload 1 /* port */
        53: .line 727
            ldc "jmxrmi"
            aload 14 /* exporter */
            getfield sun.management.jmxremote.ConnectorBootstrap$PermanentExporter.firstExported:Ljava/rmi/Remote;
        54: .line 726
            invokespecial sun.management.jmxremote.SingleEntryRegistry.<init>:(ILjava/lang/String;Ljava/rmi/Remote;)V
        55: .line 725
            pop
        56: .line 737
      StackMap locals:
      StackMap stack:
            aload 17 /* connServer */
            areturn
        end local 17 // javax.management.remote.JMXConnectorServer connServer
        end local 16 // java.rmi.server.RMIServerSocketFactory ssf
        end local 15 // java.rmi.server.RMIClientSocketFactory csf
        end local 14 // sun.management.jmxremote.ConnectorBootstrap$PermanentExporter exporter
        end local 13 // java.util.Map env
        end local 12 // javax.management.remote.JMXServiceURL url
        end local 11 // java.lang.String accessFileName
        end local 10 // java.lang.String passwordFileName
        end local 9 // java.lang.String loginConfigName
        end local 8 // boolean useAuthentication
        end local 7 // boolean sslNeedClientAuth
        end local 6 // java.lang.String[] enabledProtocols
        end local 5 // java.lang.String[] enabledCipherSuites
        end local 4 // java.lang.String sslConfigFileName
        end local 3 // boolean useRegistrySsl
        end local 2 // boolean useSsl
        end local 1 // int port
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   57     0                  mbs  Ljavax/management/MBeanServer;
            0   57     1                 port  I
            0   57     2               useSsl  Z
            0   57     3       useRegistrySsl  Z
            0   57     4    sslConfigFileName  Ljava/lang/String;
            0   57     5  enabledCipherSuites  [Ljava/lang/String;
            0   57     6     enabledProtocols  [Ljava/lang/String;
            0   57     7    sslNeedClientAuth  Z
            0   57     8    useAuthentication  Z
            0   57     9      loginConfigName  Ljava/lang/String;
            0   57    10     passwordFileName  Ljava/lang/String;
            0   57    11       accessFileName  Ljava/lang/String;
            2   57    12                  url  Ljavax/management/remote/JMXServiceURL;
            3   57    13                  env  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            4   57    14             exporter  Lsun/management/jmxremote/ConnectorBootstrap$PermanentExporter;
           20   57    15                  csf  Ljava/rmi/server/RMIClientSocketFactory;
           21   57    16                  ssf  Ljava/rmi/server/RMIServerSocketFactory;
           34   57    17           connServer  Ljavax/management/remote/JMXConnectorServer;
           39   46    18                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          34    37      38  Class java.io.IOException
    Exceptions:
      throws java.io.IOException, java.net.MalformedURLException
    MethodParameters:
                     Name  Flags
      mbs                  
      port                 
      useSsl               
      useRegistrySsl       
      sslConfigFileName    
      enabledCipherSuites  
      enabledProtocols     
      sslNeedClientAuth    
      useAuthentication    
      loginConfigName      
      passwordFileName     
      accessFileName       

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.jmxremote.ConnectorBootstrap this
         0: .line 743
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 744
            return
        end local 0 // sun.management.jmxremote.ConnectorBootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/management/jmxremote/ConnectorBootstrap;
}
SourceFile: "ConnectorBootstrap.java"
NestMembers:
  sun.management.jmxremote.ConnectorBootstrap$AccessFileCheckerAuthenticator  sun.management.jmxremote.ConnectorBootstrap$DefaultValues  sun.management.jmxremote.ConnectorBootstrap$PermanentExporter  sun.management.jmxremote.ConnectorBootstrap$PropertyNames
InnerClasses:
  private AccessFileCheckerAuthenticator = sun.management.jmxremote.ConnectorBootstrap$AccessFileCheckerAuthenticator of sun.management.jmxremote.ConnectorBootstrap
  public abstract DefaultValues = sun.management.jmxremote.ConnectorBootstrap$DefaultValues of sun.management.jmxremote.ConnectorBootstrap
  private PermanentExporter = sun.management.jmxremote.ConnectorBootstrap$PermanentExporter of sun.management.jmxremote.ConnectorBootstrap
  public abstract PropertyNames = sun.management.jmxremote.ConnectorBootstrap$PropertyNames of sun.management.jmxremote.ConnectorBootstrap