class picocli.CommandLine$Model$UsageMessageSpec$1 implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: picocli.CommandLine$Model$UsageMessageSpec$1
  super_class: java.lang.Object
{
  private final java.lang.String[] val$cmd;
    descriptor: [Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final picocli.CommandLine$Tracer val$tracer;
    descriptor: Lpicocli/CommandLine$Tracer;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.concurrent.atomic.AtomicInteger val$size;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(java.lang.String[], picocli.CommandLine$Tracer, java.util.concurrent.atomic.AtomicInteger);
    descriptor: ([Ljava/lang/String;Lpicocli/CommandLine$Tracer;Ljava/util/concurrent/atomic/AtomicInteger;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // picocli.CommandLine$Model$UsageMessageSpec$1 this
         0: .line 6553
            aload 0 /* this */
            aload 1
            putfield picocli.CommandLine$Model$UsageMessageSpec$1.val$cmd:[Ljava/lang/String;
            aload 0 /* this */
            aload 2
            putfield picocli.CommandLine$Model$UsageMessageSpec$1.val$tracer:Lpicocli/CommandLine$Tracer;
            aload 0 /* this */
            aload 3
            putfield picocli.CommandLine$Model$UsageMessageSpec$1.val$size:Ljava/util/concurrent/atomic/AtomicInteger;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // picocli.CommandLine$Model$UsageMessageSpec$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$UsageMessageSpec$1;
    MethodParameters:
            Name  Flags
      val$cmd     final
      val$tracer  final
      val$size    final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=1
        start local 0 // picocli.CommandLine$Model$UsageMessageSpec$1 this
         0: .line 6555
            aconst_null
            astore 1 /* proc */
        start local 1 // java.lang.Process proc
         1: .line 6556
            aconst_null
            astore 2 /* reader */
        start local 2 // java.io.BufferedReader reader
         2: .line 6558
            new java.lang.ProcessBuilder
            dup
            aload 0 /* this */
            getfield picocli.CommandLine$Model$UsageMessageSpec$1.val$cmd:[Ljava/lang/String;
            invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
            astore 3 /* pb */
        start local 3 // java.lang.ProcessBuilder pb
         3: .line 6559
            aload 0 /* this */
            getfield picocli.CommandLine$Model$UsageMessageSpec$1.val$tracer:Lpicocli/CommandLine$Tracer;
            ldc "getTerminalWidth() executing command %s%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* pb */
            invokevirtual java.lang.ProcessBuilder.command:()Ljava/util/List;
            aastore
            invokevirtual picocli.CommandLine$Tracer.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 6561
            ldc "java.lang.ProcessBuilder$Redirect"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* redirectClass */
        start local 4 // java.lang.Class redirectClass
         5: .line 6562
            aload 4 /* redirectClass */
            ldc "INHERIT"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* INHERIT */
        start local 5 // java.lang.Object INHERIT
         6: .line 6563
            ldc Ljava/lang/ProcessBuilder;
            ldc "redirectError"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 4 /* redirectClass */
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* redirectError */
        start local 6 // java.lang.reflect.Method redirectError
         7: .line 6564
            aload 6 /* redirectError */
            aload 3 /* pb */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* INHERIT */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 6565
            aload 3 /* pb */
            invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
            astore 1 /* proc */
         9: .line 6566
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* proc */
            invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* reader */
        10: .line 6567
            aconst_null
            astore 7 /* line */
        start local 7 // java.lang.String line
        11: .line 6568
            ldc ""
            astore 8 /* txt */
        start local 8 // java.lang.String txt
        12: .line 6569
            goto 14
        13: .line 6570
      StackMap locals: picocli.CommandLine$Model$UsageMessageSpec$1 java.lang.Process java.io.BufferedReader java.lang.ProcessBuilder java.lang.Class java.lang.Object java.lang.reflect.Method java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 8 /* txt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* txt */
        14: .line 6569
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 7 /* line */
            ifnonnull 13
        15: .line 6572
            aload 0 /* this */
            getfield picocli.CommandLine$Model$UsageMessageSpec$1.val$tracer:Lpicocli/CommandLine$Tracer;
            ldc "getTerminalWidth() parsing output: %s%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* txt */
            aastore
            invokevirtual picocli.CommandLine$Tracer.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 6573
            ldc ".*olumns(:)?\\s+(\\d+)\\D.*"
            bipush 32
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
            astore 9 /* pattern */
        start local 9 // java.util.regex.Pattern pattern
        17: .line 6574
            aload 9 /* pattern */
            aload 8 /* txt */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 10 /* matcher */
        start local 10 // java.util.regex.Matcher matcher
        18: .line 6575
            aload 10 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 29
        19: .line 6576
            aload 0 /* this */
            getfield picocli.CommandLine$Model$UsageMessageSpec$1.val$size:Ljava/util/concurrent/atomic/AtomicInteger;
            aload 10 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
        end local 10 // java.util.regex.Matcher matcher
        end local 9 // java.util.regex.Pattern pattern
        end local 8 // java.lang.String txt
        end local 7 // java.lang.String line
        end local 6 // java.lang.reflect.Method redirectError
        end local 5 // java.lang.Object INHERIT
        end local 4 // java.lang.Class redirectClass
        end local 3 // java.lang.ProcessBuilder pb
        20: .line 6578
            goto 29
      StackMap locals: picocli.CommandLine$Model$UsageMessageSpec$1 java.lang.Process java.io.BufferedReader
      StackMap stack: java.lang.Exception
        21: astore 3 /* ignored */
        start local 3 // java.lang.Exception ignored
        22: .line 6579
            aload 0 /* this */
            getfield picocli.CommandLine$Model$UsageMessageSpec$1.val$tracer:Lpicocli/CommandLine$Tracer;
            ldc "getTerminalWidth() ERROR: %s%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ignored */
            aastore
            invokevirtual picocli.CommandLine$Tracer.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 3 // java.lang.Exception ignored
        23: .line 6581
            aload 1 /* proc */
            ifnull 24
            aload 1 /* proc */
            invokevirtual java.lang.Process.destroy:()V
        24: .line 6582
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokestatic picocli.CommandLine.close:(Ljava/io/Closeable;)V
            goto 31
        25: .line 6580
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        26: .line 6581
            aload 1 /* proc */
            ifnull 27
            aload 1 /* proc */
            invokevirtual java.lang.Process.destroy:()V
        27: .line 6582
      StackMap locals: picocli.CommandLine$Model$UsageMessageSpec$1 java.lang.Process java.io.BufferedReader top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 2 /* reader */
            invokestatic picocli.CommandLine.close:(Ljava/io/Closeable;)V
        28: .line 6583
            aload 11
            athrow
        29: .line 6581
      StackMap locals: picocli.CommandLine$Model$UsageMessageSpec$1 java.lang.Process java.io.BufferedReader
      StackMap stack:
            aload 1 /* proc */
            ifnull 30
            aload 1 /* proc */
            invokevirtual java.lang.Process.destroy:()V
        30: .line 6582
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokestatic picocli.CommandLine.close:(Ljava/io/Closeable;)V
        31: .line 6584
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.BufferedReader reader
        end local 1 // java.lang.Process proc
        end local 0 // picocli.CommandLine$Model$UsageMessageSpec$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lpicocli/CommandLine$Model$UsageMessageSpec$1;
            1   32     1           proc  Ljava/lang/Process;
            2   32     2         reader  Ljava/io/BufferedReader;
            3   20     3             pb  Ljava/lang/ProcessBuilder;
            5   20     4  redirectClass  Ljava/lang/Class<*>;
            6   20     5        INHERIT  Ljava/lang/Object;
            7   20     6  redirectError  Ljava/lang/reflect/Method;
           11   20     7           line  Ljava/lang/String;
           12   20     8            txt  Ljava/lang/String;
           17   20     9        pattern  Ljava/util/regex/Pattern;
           18   20    10        matcher  Ljava/util/regex/Matcher;
           22   23     3        ignored  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2    20      21  Class java.lang.Exception
           2    23      25  any
}
SourceFile: "CommandLine.java"
EnclosingMethod: picocli.CommandLine$Model$UsageMessageSpec.detectTerminalWidth:()I
NestHost: picocli.CommandLine
InnerClasses:
  public final Model = picocli.CommandLine$Model of picocli.CommandLine
  public UsageMessageSpec = picocli.CommandLine$Model$UsageMessageSpec of picocli.CommandLine$Model
  picocli.CommandLine$Model$UsageMessageSpec$1
  Tracer = picocli.CommandLine$Tracer of picocli.CommandLine