public class net.bytebuddy.agent.ByteBuddyAgent
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.agent.ByteBuddyAgent
  super_class: java.lang.Object
{
  private static final java.lang.String AGENT_CLASS_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Agent-Class"

  private static final java.lang.String CAN_REDEFINE_CLASSES_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Can-Redefine-Classes"

  private static final java.lang.String CAN_RETRANSFORM_CLASSES_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Can-Retransform-Classes"

  private static final java.lang.String CAN_SET_NATIVE_METHOD_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Can-Set-Native-Method-Prefix"

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

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

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

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

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

  private static final java.lang.Object STATIC_MEMBER;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.ClassLoader BOOTSTRAP_CLASS_LOADER;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

  private static final java.lang.instrument.Instrumentation UNAVAILABLE;
    descriptor: Ljava/lang/instrument/Instrumentation;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.File CANNOT_SELF_RESOLVE;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator ATTACHMENT_TYPE_EVALUATOR;
    descriptor: Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentTypeEvaluator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 105
            aconst_null
            putstatic net.bytebuddy.agent.ByteBuddyAgent.STATIC_MEMBER:Ljava/lang/Object;
         1: .line 110
            aconst_null
            putstatic net.bytebuddy.agent.ByteBuddyAgent.BOOTSTRAP_CLASS_LOADER:Ljava/lang/ClassLoader;
         2: .line 115
            aconst_null
            putstatic net.bytebuddy.agent.ByteBuddyAgent.WITHOUT_ARGUMENT:Ljava/lang/String;
         3: .line 160
            aconst_null
            putstatic net.bytebuddy.agent.ByteBuddyAgent.UNAVAILABLE:Ljava/lang/instrument/Instrumentation;
         4: .line 165
            aconst_null
            putstatic net.bytebuddy.agent.ByteBuddyAgent.CANNOT_SELF_RESOLVE:Ljava/io/File;
         5: .line 170
            getstatic net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator$InstallationAction.INSTANCE:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentTypeEvaluator$InstallationAction;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator
            putstatic net.bytebuddy.agent.ByteBuddyAgent.ATTACHMENT_TYPE_EVALUATOR:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentTypeEvaluator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.bytebuddy.agent.ByteBuddyAgent this
         0: .line 175
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 176
            new java.lang.UnsupportedOperationException
            dup
            ldc "This class is a utility class and not supposed to be instantiated"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // net.bytebuddy.agent.ByteBuddyAgent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/bytebuddy/agent/ByteBuddyAgent;

  public static java.lang.instrument.Instrumentation getInstrumentation();
    descriptor: ()Ljava/lang/instrument/Instrumentation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 194
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.doGetInstrumentation:()Ljava/lang/instrument/Instrumentation;
            astore 0 /* instrumentation */
        start local 0 // java.lang.instrument.Instrumentation instrumentation
         1: .line 195
            aload 0 /* instrumentation */
            ifnonnull 3
         2: .line 196
            new java.lang.IllegalStateException
            dup
            ldc "The Byte Buddy agent is not initialized"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 198
      StackMap locals: java.lang.instrument.Instrumentation
      StackMap stack:
            aload 0 /* instrumentation */
            areturn
        end local 0 // java.lang.instrument.Instrumentation instrumentation
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1    4     0  instrumentation  Ljava/lang/instrument/Instrumentation;

  public static void attach(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.File agentJar
        start local 1 // java.lang.String processId
         0: .line 210
            aload 0 /* agentJar */
            aload 1 /* processId */
            getstatic net.bytebuddy.agent.ByteBuddyAgent.WITHOUT_ARGUMENT:Ljava/lang/String;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.attach:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 211
            return
        end local 1 // java.lang.String processId
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0   agentJar  Ljava/io/File;
            0    2     1  processId  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      agentJar   
      processId  

  public static void attach(java.io.File, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.File agentJar
        start local 1 // java.lang.String processId
        start local 2 // java.lang.String argument
         0: .line 223
            aload 0 /* agentJar */
            aload 1 /* processId */
            aload 2 /* argument */
            getstatic net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider.DEFAULT:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.attach:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
         1: .line 224
            return
        end local 2 // java.lang.String argument
        end local 1 // java.lang.String processId
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0   agentJar  Ljava/io/File;
            0    2     1  processId  Ljava/lang/String;
            0    2     2   argument  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      agentJar   
      processId  
      argument   

  public static void attach(java.io.File, java.lang.String, net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider);
    descriptor: (Ljava/io/File;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.File agentJar
        start local 1 // java.lang.String processId
        start local 2 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
         0: .line 235
            aload 0 /* agentJar */
            aload 1 /* processId */
            getstatic net.bytebuddy.agent.ByteBuddyAgent.WITHOUT_ARGUMENT:Ljava/lang/String;
            aload 2 /* attachmentProvider */
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.attach:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
         1: .line 236
            return
        end local 2 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
        end local 1 // java.lang.String processId
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0            agentJar  Ljava/io/File;
            0    2     1           processId  Ljava/lang/String;
            0    2     2  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
    MethodParameters:
                    Name  Flags
      agentJar            
      processId           
      attachmentProvider  

  public static void attach(java.io.File, java.lang.String, java.lang.String, net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.io.File agentJar
        start local 1 // java.lang.String processId
        start local 2 // java.lang.String argument
        start local 3 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
         0: .line 248
            aload 3 /* attachmentProvider */
            aload 1 /* processId */
            aload 2 /* argument */
            new net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForExistingAgent
            dup
            aload 0 /* agentJar */
            invokespecial net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForExistingAgent.<init>:(Ljava/io/File;)V
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.install:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider;)V
         1: .line 249
            return
        end local 3 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
        end local 2 // java.lang.String argument
        end local 1 // java.lang.String processId
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0            agentJar  Ljava/io/File;
            0    2     1           processId  Ljava/lang/String;
            0    2     2            argument  Ljava/lang/String;
            0    2     3  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
    MethodParameters:
                    Name  Flags
      agentJar            
      processId           
      argument            
      attachmentProvider  

  public static void attach(java.io.File, net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider);
    descriptor: (Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.File agentJar
        start local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
         0: .line 260
            aload 0 /* agentJar */
            aload 1 /* processProvider */
            getstatic net.bytebuddy.agent.ByteBuddyAgent.WITHOUT_ARGUMENT:Ljava/lang/String;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.attach:(Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;Ljava/lang/String;)V
         1: .line 261
            return
        end local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0         agentJar  Ljava/io/File;
            0    2     1  processProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;
    MethodParameters:
                 Name  Flags
      agentJar         
      processProvider  

  public static void attach(java.io.File, net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider, java.lang.String);
    descriptor: (Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.File agentJar
        start local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        start local 2 // java.lang.String argument
         0: .line 273
            aload 0 /* agentJar */
            aload 1 /* processProvider */
            aload 2 /* argument */
            getstatic net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider.DEFAULT:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.attach:(Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
         1: .line 274
            return
        end local 2 // java.lang.String argument
        end local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0         agentJar  Ljava/io/File;
            0    2     1  processProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;
            0    2     2         argument  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      agentJar         
      processProvider  
      argument         

  public static void attach(java.io.File, net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider, net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider);
    descriptor: (Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.File agentJar
        start local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        start local 2 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
         0: .line 285
            aload 0 /* agentJar */
            aload 1 /* processProvider */
            getstatic net.bytebuddy.agent.ByteBuddyAgent.WITHOUT_ARGUMENT:Ljava/lang/String;
            aload 2 /* attachmentProvider */
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.attach:(Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
         1: .line 286
            return
        end local 2 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
        end local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0            agentJar  Ljava/io/File;
            0    2     1     processProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;
            0    2     2  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
    MethodParameters:
                    Name  Flags
      agentJar            
      processProvider     
      attachmentProvider  

  public static void attach(java.io.File, net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider, java.lang.String, net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider);
    descriptor: (Ljava/io/File;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.io.File agentJar
        start local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        start local 2 // java.lang.String argument
        start local 3 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
         0: .line 298
            aload 3 /* attachmentProvider */
            aload 1 /* processProvider */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider.resolve:()Ljava/lang/String;
            aload 2 /* argument */
            new net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForExistingAgent
            dup
            aload 0 /* agentJar */
            invokespecial net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForExistingAgent.<init>:(Ljava/io/File;)V
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.install:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider;)V
         1: .line 299
            return
        end local 3 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
        end local 2 // java.lang.String argument
        end local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        end local 0 // java.io.File agentJar
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0            agentJar  Ljava/io/File;
            0    2     1     processProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;
            0    2     2            argument  Ljava/lang/String;
            0    2     3  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
    MethodParameters:
                    Name  Flags
      agentJar            
      processProvider     
      argument            
      attachmentProvider  

  public static java.lang.instrument.Instrumentation install();
    descriptor: ()Ljava/lang/instrument/Instrumentation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 330
            getstatic net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider.DEFAULT:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.install:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)Ljava/lang/instrument/Instrumentation;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.instrument.Instrumentation install(net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider);
    descriptor: (Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;)Ljava/lang/instrument/Instrumentation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
         0: .line 353
            aload 0 /* attachmentProvider */
            getstatic net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider$ForCurrentVm.INSTANCE:Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider$ForCurrentVm;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.install:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;)Ljava/lang/instrument/Instrumentation;
            areturn
        end local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
    MethodParameters:
                    Name  Flags
      attachmentProvider  

  public static java.lang.instrument.Instrumentation install(net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider);
    descriptor: (Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;)Ljava/lang/instrument/Instrumentation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
         0: .line 380
            getstatic net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider.DEFAULT:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
            aload 0 /* processProvider */
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.install:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;)Ljava/lang/instrument/Instrumentation;
            areturn
        end local 0 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  processProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;
    MethodParameters:
                 Name  Flags
      processProvider  

  public static synchronized java.lang.instrument.Instrumentation install(net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider, net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider);
    descriptor: (Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;)Ljava/lang/instrument/Instrumentation;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
        start local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
         0: .line 397
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.doGetInstrumentation:()Ljava/lang/instrument/Instrumentation;
            astore 2 /* instrumentation */
        start local 2 // java.lang.instrument.Instrumentation instrumentation
         1: .line 398
            aload 2 /* instrumentation */
            ifnull 3
         2: .line 399
            aload 2 /* instrumentation */
            areturn
         3: .line 401
      StackMap locals: java.lang.instrument.Instrumentation
      StackMap stack:
            aload 0 /* attachmentProvider */
            aload 1 /* processProvider */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider.resolve:()Ljava/lang/String;
            getstatic net.bytebuddy.agent.ByteBuddyAgent.WITHOUT_ARGUMENT:Ljava/lang/String;
            getstatic net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent.INSTANCE:Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider$ForByteBuddyAgent;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.install:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider;)V
         4: .line 402
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.doGetInstrumentation:()Ljava/lang/instrument/Instrumentation;
            areturn
        end local 2 // java.lang.instrument.Instrumentation instrumentation
        end local 1 // net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider processProvider
        end local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
            0    5     1     processProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$ProcessProvider;
            1    5     2     instrumentation  Ljava/lang/instrument/Instrumentation;
    MethodParameters:
                    Name  Flags
      attachmentProvider  
      processProvider     

  private static void install(net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider, java.lang.String, java.lang.String, net.bytebuddy.agent.ByteBuddyAgent$AgentProvider);
    descriptor: (Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;Ljava/lang/String;Ljava/lang/String;Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
        start local 1 // java.lang.String processId
        start local 2 // java.lang.String argument
        start local 3 // net.bytebuddy.agent.ByteBuddyAgent$AgentProvider agentProvider
         0: .line 414
            aload 0 /* attachmentProvider */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider.attempt:()Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor;
            astore 4 /* attachmentAccessor */
        start local 4 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor attachmentAccessor
         1: .line 415
            aload 4 /* attachmentAccessor */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor.isAvailable:()Z
            ifne 3
         2: .line 416
            new java.lang.IllegalStateException
            dup
            ldc "No compatible attachment provider is available"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 419
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor
      StackMap stack:
            getstatic net.bytebuddy.agent.ByteBuddyAgent.ATTACHMENT_TYPE_EVALUATOR:Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentTypeEvaluator;
            aload 1 /* processId */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator.requiresExternalAttachment:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 420
            aload 4 /* attachmentAccessor */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor.getExternalAttachment:()Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment;
            aload 1 /* processId */
            aload 3 /* agentProvider */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AgentProvider.resolve:()Ljava/io/File;
            aload 2 /* argument */
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.installExternal:(Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment;Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)V
         5: .line 421
            goto 12
         6: .line 422
      StackMap locals:
      StackMap stack:
            aload 4 /* attachmentAccessor */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor.getVirtualMachineType:()Ljava/lang/Class;
            aload 1 /* processId */
            aload 3 /* agentProvider */
            invokeinterface net.bytebuddy.agent.ByteBuddyAgent$AgentProvider.resolve:()Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 2 /* argument */
            invokestatic net.bytebuddy.agent.Attacher.install:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 424
            goto 12
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         8: astore 5 /* exception */
        start local 5 // java.lang.RuntimeException exception
         9: .line 425
            aload 5 /* exception */
            athrow
        end local 5 // java.lang.RuntimeException exception
        10: .line 426
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* exception */
        start local 5 // java.lang.Exception exception
        11: .line 427
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error during attachment using: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* attachmentProvider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* exception */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception exception
        12: .line 429
      StackMap locals:
      StackMap stack:
            return
        end local 4 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor attachmentAccessor
        end local 3 // net.bytebuddy.agent.ByteBuddyAgent$AgentProvider agentProvider
        end local 2 // java.lang.String argument
        end local 1 // java.lang.String processId
        end local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider attachmentProvider
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0  attachmentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider;
            0   13     1           processId  Ljava/lang/String;
            0   13     2            argument  Ljava/lang/String;
            0   13     3       agentProvider  Lnet/bytebuddy/agent/ByteBuddyAgent$AgentProvider;
            1   13     4  attachmentAccessor  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor;
            9   10     5           exception  Ljava/lang/RuntimeException;
           11   12     5           exception  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     7       8  Class java.lang.RuntimeException
           3     7      10  Class java.lang.Exception
    MethodParameters:
                    Name  Flags
      attachmentProvider  
      processId           
      argument            
      agentProvider       

  private static void installExternal(net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment, java.lang.String, java.io.File, java.lang.String);
    descriptor: (Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment;Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=13, args_size=4
        start local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment externalAttachment
        start local 1 // java.lang.String processId
        start local 2 // java.io.File agent
        start local 3 // java.lang.String argument
         0: .line 445
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.trySelfResolve:()Ljava/io/File;
            astore 4 /* selfResolvedJar */
        start local 4 // java.io.File selfResolvedJar
         1: aconst_null
            astore 5 /* attachmentJar */
        start local 5 // java.io.File attachmentJar
         2: .line 447
            aload 4 /* selfResolvedJar */
            ifnonnull 25
         3: .line 448
            ldc Lnet/bytebuddy/agent/Attacher;
            new java.lang.StringBuilder
            dup
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lnet/bytebuddy/agent/Attacher;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 6 /* inputStream */
        start local 6 // java.io.InputStream inputStream
         4: .line 449
            aload 6 /* inputStream */
            ifnonnull 6
         5: .line 450
            new java.lang.IllegalStateException
            dup
            ldc "Cannot locate class file for Byte Buddy installation process"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 453
      StackMap locals: java.io.File java.io.File java.io.InputStream
      StackMap stack:
            ldc "byteBuddyAttacher"
            ldc ".jar"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 5 /* attachmentJar */
         7: .line 454
            new java.util.jar.JarOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 5 /* attachmentJar */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 7 /* jarOutputStream */
        start local 7 // java.util.jar.JarOutputStream jarOutputStream
         8: .line 456
            aload 7 /* jarOutputStream */
            new java.util.jar.JarEntry
            dup
            new java.lang.StringBuilder
            dup
            ldc Lnet/bytebuddy/agent/Attacher;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.jar.JarEntry.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.jar.JarOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
         9: .line 457
            sipush 1024
            newarray 8
            astore 8 /* buffer */
        start local 8 // byte[] buffer
        10: .line 459
            goto 12
        start local 9 // int index
        11: .line 460
      StackMap locals: java.util.jar.JarOutputStream byte[] int
      StackMap stack:
            aload 7 /* jarOutputStream */
            aload 8 /* buffer */
            iconst_0
            iload 9 /* index */
            invokevirtual java.util.jar.JarOutputStream.write:([BII)V
        end local 9 // int index
        12: .line 459
      StackMap locals:
      StackMap stack:
            aload 6 /* inputStream */
            aload 8 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 9 /* index */
        start local 9 // int index
        13: iconst_m1
            if_icmpne 11
        14: .line 462
            aload 7 /* jarOutputStream */
            invokevirtual java.util.jar.JarOutputStream.closeEntry:()V
        end local 9 // int index
        end local 8 // byte[] buffer
        15: .line 463
            goto 19
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.io.InputStream java.util.jar.JarOutputStream
      StackMap stack: java.lang.Throwable
        16: astore 10
        17: .line 464
            aload 7 /* jarOutputStream */
            invokevirtual java.util.jar.JarOutputStream.close:()V
        18: .line 465
            aload 10
            athrow
        19: .line 464
      StackMap locals:
      StackMap stack:
            aload 7 /* jarOutputStream */
            invokevirtual java.util.jar.JarOutputStream.close:()V
        end local 7 // java.util.jar.JarOutputStream jarOutputStream
        20: .line 466
            goto 24
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.io.InputStream
      StackMap stack: java.lang.Throwable
        21: astore 11
        22: .line 467
            aload 6 /* inputStream */
            invokevirtual java.io.InputStream.close:()V
        23: .line 468
            aload 11
            athrow
        24: .line 467
      StackMap locals:
      StackMap stack:
            aload 6 /* inputStream */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream inputStream
        25: .line 470
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* selfResolvedJar */
            ifnonnull 27
        26: .line 471
            aload 5 /* attachmentJar */
            goto 28
        27: .line 472
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            aload 4 /* selfResolvedJar */
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File
      StackMap stack: java.lang.StringBuilder java.io.File
        28: invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
        29: .line 470
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            astore 6 /* classPath */
        start local 6 // java.lang.StringBuilder classPath
        30: .line 473
            aload 0 /* externalAttachment */
            invokevirtual net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment.getClassPath:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 33
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        31: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 7 /* jar */
        start local 7 // java.io.File jar
        32: .line 474
            aload 6 /* classPath */
            getstatic java.io.File.pathSeparatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 7 /* jar */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.io.File jar
        33: .line 473
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        34: .line 476
            new java.lang.ProcessBuilder
            dup
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
            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
        35: .line 477
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "bin"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 478
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "os.name"
            ldc ""
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "windows"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 37
            ldc "java.exe"
            goto 38
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.StringBuilder
      StackMap stack: new 34 new 34 java.lang.String[] java.lang.String[] int java.lang.StringBuilder
        37: ldc "java"
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.StringBuilder
      StackMap stack: new 34 new 34 java.lang.String[] java.lang.String[] int java.lang.StringBuilder java.lang.String
        38: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 476
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.quote:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        40: .line 479
            ldc "-cp"
            aastore
            dup
            iconst_2
        41: .line 480
            aload 6 /* classPath */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        42: .line 481
            ldc Lnet/bytebuddy/agent/Attacher;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_4
        43: .line 482
            aload 0 /* externalAttachment */
            invokevirtual net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment.getVirtualMachineType:()Ljava/lang/String;
            aastore
            dup
            iconst_5
        44: .line 483
            aload 1 /* processId */
            aastore
            dup
            bipush 6
        45: .line 484
            aload 2 /* agent */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic net.bytebuddy.agent.ByteBuddyAgent.quote:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            bipush 7
        46: .line 485
            aload 3 /* argument */
            ifnonnull 47
            ldc ""
            goto 48
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.StringBuilder
      StackMap stack: new 34 new 34 java.lang.String[] java.lang.String[] int
        47: new java.lang.StringBuilder
            dup
            ldc "="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* argument */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 476
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.StringBuilder
      StackMap stack: new 34 new 34 java.lang.String[] java.lang.String[] int java.lang.String
            aastore
            invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
        49: .line 485
            invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
            invokevirtual java.lang.Process.waitFor:()I
        50: .line 476
            ifeq 57
        51: .line 486
            new java.lang.IllegalStateException
            dup
            ldc "Could not self-attach to current VM using external process"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.StringBuilder classPath
        52: .line 488
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File
      StackMap stack: java.lang.Throwable
            astore 12
        53: .line 489
            aload 5 /* attachmentJar */
            ifnull 56
        54: .line 490
            aload 5 /* attachmentJar */
            invokevirtual java.io.File.delete:()Z
            ifne 56
        55: .line 491
            aload 5 /* attachmentJar */
            invokevirtual java.io.File.deleteOnExit:()V
        56: .line 494
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File top top top top top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        57: .line 489
      StackMap locals: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment java.lang.String java.io.File java.lang.String java.io.File java.io.File
      StackMap stack:
            aload 5 /* attachmentJar */
            ifnull 60
        58: .line 490
            aload 5 /* attachmentJar */
            invokevirtual java.io.File.delete:()Z
            ifne 60
        59: .line 491
            aload 5 /* attachmentJar */
            invokevirtual java.io.File.deleteOnExit:()V
        60: .line 495
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.io.File attachmentJar
        end local 4 // java.io.File selfResolvedJar
        end local 3 // java.lang.String argument
        end local 2 // java.io.File agent
        end local 1 // java.lang.String processId
        end local 0 // net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment externalAttachment
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   61     0  externalAttachment  Lnet/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment;
            0   61     1           processId  Ljava/lang/String;
            0   61     2               agent  Ljava/io/File;
            0   61     3            argument  Ljava/lang/String;
            1   61     4     selfResolvedJar  Ljava/io/File;
            2   61     5       attachmentJar  Ljava/io/File;
            4   25     6         inputStream  Ljava/io/InputStream;
            8   20     7     jarOutputStream  Ljava/util/jar/JarOutputStream;
           10   15     8              buffer  [B
           11   12     9               index  I
           13   15     9               index  I
           30   52     6           classPath  Ljava/lang/StringBuilder;
           32   33     7                 jar  Ljava/io/File;
      Exception table:
        from    to  target  type
           8    16      16  any
           6    21      21  any
           2    52      52  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                    Name  Flags
      externalAttachment  
      processId           
      agent               
      argument            

  private static java.io.File trySelfResolve();
    descriptor: ()Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 502
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tSuppressFBWarnings cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeInvisibleAnnotations: 
      SuppressFBWarnings()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        SuppressFBWarnings()

  private static java.lang.String quote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String value
         0: .line 534
            aload 0 /* value */
            ldc " "
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 535
            new java.lang.StringBuilder
            dup
            bipush 34
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 3
         2: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
         3: .line 534
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  private static java.lang.instrument.Instrumentation doGetInstrumentation();
    descriptor: ()Ljava/lang/instrument/Instrumentation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 545
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tSuppressFBWarnings cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeInvisibleAnnotations: 
      SuppressFBWarnings()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        SuppressFBWarnings()
}
SourceFile: "ByteBuddyAgent.java"
NestMembers:
  net.bytebuddy.agent.ByteBuddyAgent$AgentProvider  net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent  net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForExistingAgent  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$Simple  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$Simple$WithExternalAttachment  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$Simple$WithoutExternalAttachment  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$Unavailable  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Compound  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$ForJ9Vm  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$ForModularizedVm  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$ForStandardToolsJarVm  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$ForUnixHotSpotVm  net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$ForUserDefinedToolsJar  net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator  net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator$Disabled  net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator$ForJava9CapableVm  net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator$InstallationAction  net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider  net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider$ForCurrentVm  net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider$ForCurrentVm$ForJava9CapableVm  net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider$ForCurrentVm$ForLegacyVm
InnerClasses:
  protected abstract AgentProvider = net.bytebuddy.agent.ByteBuddyAgent$AgentProvider of net.bytebuddy.agent.ByteBuddyAgent
  public final ForByteBuddyAgent = net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForByteBuddyAgent of net.bytebuddy.agent.ByteBuddyAgent$AgentProvider
  public ForExistingAgent = net.bytebuddy.agent.ByteBuddyAgent$AgentProvider$ForExistingAgent of net.bytebuddy.agent.ByteBuddyAgent$AgentProvider
  public abstract AttachmentProvider = net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider of net.bytebuddy.agent.ByteBuddyAgent
  public abstract Accessor = net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor of net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider
  public ExternalAttachment = net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor$ExternalAttachment of net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Accessor
  protected abstract AttachmentTypeEvaluator = net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator of net.bytebuddy.agent.ByteBuddyAgent
  public final InstallationAction = net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator$InstallationAction of net.bytebuddy.agent.ByteBuddyAgent$AttachmentTypeEvaluator
  public abstract ProcessProvider = net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider of net.bytebuddy.agent.ByteBuddyAgent
  public final ForCurrentVm = net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider$ForCurrentVm of net.bytebuddy.agent.ByteBuddyAgent$ProcessProvider