public final class jdk.internal.org.jline.terminal.TerminalBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.org.jline.terminal.TerminalBuilder
  super_class: java.lang.Object
{
  public static final java.lang.String PROP_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.encoding"

  public static final java.lang.String PROP_CODEPAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.codepage"

  public static final java.lang.String PROP_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.type"

  public static final java.lang.String PROP_JNA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.jna"

  public static final java.lang.String PROP_JANSI;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.jansi"

  public static final java.lang.String PROP_EXEC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.exec"

  public static final java.lang.String PROP_DUMB;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.dumb"

  public static final java.lang.String PROP_DUMB_COLOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.dumb.color"

  public static final java.lang.String PROP_NON_BLOCKING_READS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.pty.nonBlockingReads"

  public static final java.lang.String PROP_COLOR_DISTANCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.utils.colorDistance"

  public static final java.lang.String PROP_DISABLE_ALTERNATE_CHARSET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.utils.disableAlternateCharset"

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

  private java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.OutputStream out;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

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

  private java.nio.charset.Charset encoding;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private jdk.internal.org.jline.terminal.Attributes attributes;
    descriptor: Ljdk/internal/org/jline/terminal/Attributes;
    flags: (0x0002) ACC_PRIVATE

  private jdk.internal.org.jline.terminal.Size size;
    descriptor: Ljdk/internal/org/jline/terminal/Size;
    flags: (0x0002) ACC_PRIVATE

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

  private jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler;
    descriptor: Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.function.Function<java.io.InputStream, java.io.InputStream> inputStreamWrapper;
    descriptor: Ljava/util/function/Function;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;

  public static jdk.internal.org.jline.terminal.Terminal terminal();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 79
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.builder:()Ljdk/internal/org/jline/terminal/TerminalBuilder;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.build:()Ljdk/internal/org/jline/terminal/Terminal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public static jdk.internal.org.jline.terminal.TerminalBuilder builder();
    descriptor: ()Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 88
            new jdk.internal.org.jline.terminal.TerminalBuilder
            dup
            invokespecial jdk.internal.org.jline.terminal.TerminalBuilder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 104
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
         2: .line 105
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
         3: .line 106
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
         4: .line 107
            aload 0 /* this */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$0(Ljava/io/InputStream;)Ljava/io/InputStream; (6)
                  (Ljava/io/InputStream;)Ljava/io/InputStream;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
         5: .line 110
            return
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;

  public jdk.internal.org.jline.terminal.TerminalBuilder name(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String name
         0: .line 113
            aload 0 /* this */
            aload 1 /* name */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
         1: .line 114
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public jdk.internal.org.jline.terminal.TerminalBuilder streams(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.io.InputStream in
        start local 2 // java.io.OutputStream out
         0: .line 118
            aload 0 /* this */
            aload 1 /* in */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
         1: .line 119
            aload 0 /* this */
            aload 2 /* out */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
         2: .line 120
            aload 0 /* this */
            areturn
        end local 2 // java.io.OutputStream out
        end local 1 // java.io.InputStream in
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    3     1    in  Ljava/io/InputStream;
            0    3     2   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      in    
      out   

  public jdk.internal.org.jline.terminal.TerminalBuilder system(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean system
         0: .line 124
            aload 0 /* this */
            iload 1 /* system */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
         1: .line 125
            aload 0 /* this */
            areturn
        end local 1 // boolean system
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  system  Z
    MethodParameters:
        Name  Flags
      system  

  public jdk.internal.org.jline.terminal.TerminalBuilder jna(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean jna
         0: .line 129
            aload 0 /* this */
            iload 1 /* jna */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
         1: .line 130
            aload 0 /* this */
            areturn
        end local 1 // boolean jna
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1   jna  Z
    MethodParameters:
      Name  Flags
      jna   

  public jdk.internal.org.jline.terminal.TerminalBuilder jansi(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean jansi
         0: .line 134
            aload 0 /* this */
            iload 1 /* jansi */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
         1: .line 135
            aload 0 /* this */
            areturn
        end local 1 // boolean jansi
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  jansi  Z
    MethodParameters:
       Name  Flags
      jansi  

  public jdk.internal.org.jline.terminal.TerminalBuilder exec(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean exec
         0: .line 139
            aload 0 /* this */
            iload 1 /* exec */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
         1: .line 140
            aload 0 /* this */
            areturn
        end local 1 // boolean exec
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  exec  Z
    MethodParameters:
      Name  Flags
      exec  

  public jdk.internal.org.jline.terminal.TerminalBuilder dumb(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean dumb
         0: .line 144
            aload 0 /* this */
            iload 1 /* dumb */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
         1: .line 145
            aload 0 /* this */
            areturn
        end local 1 // boolean dumb
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  dumb  Z
    MethodParameters:
      Name  Flags
      dumb  

  public jdk.internal.org.jline.terminal.TerminalBuilder type(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String type
         0: .line 149
            aload 0 /* this */
            aload 1 /* type */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
         1: .line 150
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String type
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String encoding
         0: .line 169
            aload 0 /* this */
            aload 1 /* encoding */
            ifnull 1
            aload 1 /* encoding */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            goto 2
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder
         1: aconst_null
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String
      StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder java.nio.charset.Charset
         2: invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.encoding:(Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
            areturn
        end local 1 // java.lang.String encoding
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    3     1  encoding  Ljava/lang/String;
    Exceptions:
      throws java.nio.charset.UnsupportedCharsetException
    MethodParameters:
          Name  Flags
      encoding  

  public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.nio.charset.Charset encoding
         0: .line 187
            aload 0 /* this */
            aload 1 /* encoding */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
         1: .line 188
            aload 0 /* this */
            areturn
        end local 1 // java.nio.charset.Charset encoding
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  encoding  Ljava/nio/charset/Charset;
    MethodParameters:
          Name  Flags
      encoding  

  public jdk.internal.org.jline.terminal.TerminalBuilder codepage(int);
    descriptor: (I)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // int codepage
         0: .line 200
            aload 0 /* this */
            iload 1 /* codepage */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
         1: .line 201
            aload 0 /* this */
            areturn
        end local 1 // int codepage
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  codepage  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      codepage  

  public jdk.internal.org.jline.terminal.TerminalBuilder attributes(jdk.internal.org.jline.terminal.Attributes);
    descriptor: (Ljdk/internal/org/jline/terminal/Attributes;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Attributes attributes
         0: .line 217
            aload 0 /* this */
            aload 1 /* attributes */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
         1: .line 218
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Attributes attributes
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  attributes  Ljdk/internal/org/jline/terminal/Attributes;
    MethodParameters:
            Name  Flags
      attributes  

  public jdk.internal.org.jline.terminal.TerminalBuilder size(jdk.internal.org.jline.terminal.Size);
    descriptor: (Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Size size
         0: .line 234
            aload 0 /* this */
            aload 1 /* size */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
         1: .line 235
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Size size
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  size  Ljdk/internal/org/jline/terminal/Size;
    MethodParameters:
      Name  Flags
      size  

  public jdk.internal.org.jline.terminal.TerminalBuilder nativeSignals(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean nativeSignals
         0: .line 239
            aload 0 /* this */
            iload 1 /* nativeSignals */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
         1: .line 240
            aload 0 /* this */
            areturn
        end local 1 // boolean nativeSignals
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  nativeSignals  Z
    MethodParameters:
               Name  Flags
      nativeSignals  

  public jdk.internal.org.jline.terminal.TerminalBuilder signalHandler(jdk.internal.org.jline.terminal.Terminal$SignalHandler);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
         0: .line 244
            aload 0 /* this */
            aload 1 /* signalHandler */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
         1: .line 245
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  signalHandler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    MethodParameters:
               Name  Flags
      signalHandler  

  public jdk.internal.org.jline.terminal.TerminalBuilder paused(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean paused
         0: .line 259
            aload 0 /* this */
            iload 1 /* paused */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
         1: .line 260
            aload 0 /* this */
            areturn
        end local 1 // boolean paused
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  paused  Z
    MethodParameters:
        Name  Flags
      paused  

  public jdk.internal.org.jline.terminal.TerminalBuilder inputStreamWrapper(java.util.function.Function<java.io.InputStream, java.io.InputStream>);
    descriptor: (Ljava/util/function/Function;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.util.function.Function wrapper
         0: .line 264
            aload 0 /* this */
            aload 1 /* wrapper */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
         1: .line 265
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.Function wrapper
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  wrapper  Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;
    Signature: (Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    MethodParameters:
         Name  Flags
      wrapper  

  public jdk.internal.org.jline.terminal.Terminal build();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 269
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.doBuild:()Ljdk/internal/org/jline/terminal/Terminal;
            astore 1 /* terminal */
        start local 1 // jdk.internal.org.jline.terminal.Terminal terminal
         1: .line 270
            aload 1 /* terminal */
            invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$1(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
         2: .line 271
            aload 1 /* terminal */
            instanceof jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
            ifeq 4
         3: .line 272
            aload 1 /* terminal */
            invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$2(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
         4: .line 274
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
            aload 1 /* terminal */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            1    5     1  terminal  Ljdk/internal/org/jline/terminal/Terminal;
    Exceptions:
      throws java.io.IOException

  private jdk.internal.org.jline.terminal.Terminal doBuild();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 278
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 279
            aload 1 /* name */
            ifnonnull 3
         2: .line 280
            ldc "JLine terminal"
            astore 1 /* name */
         3: .line 282
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
            astore 2 /* encoding */
        start local 2 // java.nio.charset.Charset encoding
         4: .line 283
            aload 2 /* encoding */
            ifnonnull 8
         5: .line 284
            ldc "org.jline.terminal.encoding"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* charsetName */
        start local 3 // java.lang.String charsetName
         6: .line 285
            aload 3 /* charsetName */
            ifnull 8
            aload 3 /* charsetName */
            invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 286
            aload 3 /* charsetName */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 2 /* encoding */
        end local 3 // java.lang.String charsetName
         8: .line 289
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
            istore 3 /* codepage */
        start local 3 // int codepage
         9: .line 290
            iload 3 /* codepage */
            ifgt 13
        10: .line 291
            ldc "org.jline.terminal.codepage"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
        11: .line 292
            aload 4 /* str */
            ifnull 13
        12: .line 293
            aload 4 /* str */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* codepage */
        end local 4 // java.lang.String str
        13: .line 296
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
            astore 4 /* type */
        start local 4 // java.lang.String type
        14: .line 297
            aload 4 /* type */
            ifnonnull 16
        15: .line 298
            ldc "org.jline.terminal.type"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* type */
        16: .line 300
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* type */
            ifnonnull 18
        17: .line 301
            ldc "TERM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* type */
        18: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
            astore 5 /* jna */
        start local 5 // java.lang.Boolean jna
        19: .line 304
            aload 5 /* jna */
            ifnonnull 21
        20: .line 305
            ldc "org.jline.terminal.jna"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 5 /* jna */
        21: .line 307
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
            astore 6 /* jansi */
        start local 6 // java.lang.Boolean jansi
        22: .line 308
            aload 6 /* jansi */
            ifnonnull 24
        23: .line 309
            ldc "org.jline.terminal.jansi"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 6 /* jansi */
        24: .line 311
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
            astore 7 /* exec */
        start local 7 // java.lang.Boolean exec
        25: .line 312
            aload 7 /* exec */
            ifnonnull 27
        26: .line 313
            ldc "org.jline.terminal.exec"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 7 /* exec */
        27: .line 315
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
            astore 8 /* dumb */
        start local 8 // java.lang.Boolean dumb
        28: .line 316
            aload 8 /* dumb */
            ifnonnull 30
        29: .line 317
            ldc "org.jline.terminal.dumb"
            aconst_null
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 8 /* dumb */
        30: .line 319
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            ifnull 31
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 32
      StackMap locals:
      StackMap stack:
        31: aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            ifnonnull 113
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            ifnonnull 113
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            ifnonnull 113
        32: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            ifnonnull 33
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            ifnull 35
      StackMap locals:
      StackMap stack:
        33: iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        34: .line 321
            ldc "Attributes and size fields are ignored when creating a system terminal"
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
        35: .line 323
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Unable to create a system terminal"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            astore 9 /* exception */
        start local 9 // java.lang.IllegalStateException exception
        36: .line 324
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 65
        37: .line 325
            ldc "cygwin"
            ldc "TERM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 10 /* cygwinTerm */
        start local 10 // boolean cygwinTerm
        38: .line 326
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CONEMU:Z
            istore 11 /* ansiPassThrough */
        start local 11 // boolean ansiPassThrough
        39: .line 330
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CYGWIN:Z
            ifne 40
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_MSYSTEM:Z
            ifeq 50
      StackMap locals: java.lang.IllegalStateException int int
      StackMap stack:
        40: aload 7 /* exec */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 50
            iload 10 /* cygwinTerm */
            ifne 50
        41: .line 332
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 12 /* pty */
        start local 12 // jdk.internal.org.jline.terminal.spi.Pty pty
        42: .line 335
            ldc "xterm"
            aload 4 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
            ifnonnull 44
            ldc "org.jline.terminal.type"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 44
        43: .line 336
            ldc "xterm-256color"
            astore 4 /* type */
        44: .line 338
      StackMap locals: jdk.internal.org.jline.terminal.spi.Pty
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 12 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 12 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 12 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        45: areturn
        end local 12 // jdk.internal.org.jline.terminal.spi.Pty pty
        46: .line 339
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException int int
      StackMap stack: java.io.IOException
            astore 12 /* e */
        start local 12 // java.io.IOException e
        47: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        48: .line 341
            ldc "Error creating EXEC based terminal: "
            aastore
            dup
            iconst_1
            aload 12 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* e */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        49: .line 342
            aload 9 /* exception */
            aload 12 /* e */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.io.IOException e
        50: .line 345
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 57
        51: .line 347
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            aload 1 /* name */
            aload 4 /* type */
            iload 11 /* ansiPassThrough */
            aload 2 /* encoding */
            iload 3 /* codepage */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;ZLjava/util/function/Function;)Ljdk/internal/org/jline/terminal/Terminal;
        52: areturn
        53: .line 348
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12 /* t */
        start local 12 // java.lang.Throwable t
        54: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        55: .line 349
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 12 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        56: .line 350
            aload 9 /* exception */
            aload 12 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable t
        57: .line 353
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 89
        58: .line 355
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            aload 1 /* name */
            aload 4 /* type */
            iload 11 /* ansiPassThrough */
            aload 2 /* encoding */
            iload 3 /* codepage */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)Ljdk/internal/org/jline/terminal/Terminal;
        59: areturn
        60: .line 356
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12 /* t */
        start local 12 // java.lang.Throwable t
        61: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        62: .line 357
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 12 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        63: .line 358
            aload 9 /* exception */
            aload 12 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable t
        end local 11 // boolean ansiPassThrough
        end local 10 // boolean cygwinTerm
        64: .line 361
            goto 89
        65: .line 362
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 73
        66: .line 364
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 10 /* pty */
        start local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        67: .line 365
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 10 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        68: areturn
        end local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        69: .line 366
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        70: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        71: .line 368
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 10 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 10 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        72: .line 369
            aload 9 /* exception */
            aload 10 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        73: .line 372
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 81
        74: .line 374
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 10 /* pty */
        start local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        75: .line 375
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 10 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        76: areturn
        end local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        77: .line 376
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        78: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        79: .line 377
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 10 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 10 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        80: .line 378
            aload 9 /* exception */
            aload 10 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        81: .line 381
      StackMap locals:
      StackMap stack:
            aload 7 /* exec */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 89
        82: .line 383
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 10 /* pty */
        start local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        83: .line 384
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 10 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        84: areturn
        end local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        85: .line 385
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        86: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        87: .line 387
            ldc "Error creating EXEC based terminal: "
            aastore
            dup
            iconst_1
            aload 10 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 10 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        88: .line 388
            aload 9 /* exception */
            aload 10 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        89: .line 392
      StackMap locals:
      StackMap stack:
            aload 8 /* dumb */
            ifnull 90
            aload 8 /* dumb */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 112
        90: .line 394
      StackMap locals:
      StackMap stack:
            ldc "org.jline.terminal.dumb.color"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 10 /* color */
        start local 10 // boolean color
        91: .line 396
            iload 10 /* color */
            ifne 95
        92: .line 397
            ldc "INSIDE_EMACS"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 93
            iconst_1
            goto 94
      StackMap locals: int
      StackMap stack:
        93: iconst_0
      StackMap locals:
      StackMap stack: int
        94: istore 10 /* color */
        95: .line 400
      StackMap locals:
      StackMap stack:
            iload 10 /* color */
            ifne 100
        96: .line 401
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getParentProcessCommand:()Ljava/lang/String;
            astore 11 /* command */
        start local 11 // java.lang.String command
        97: .line 402
            aload 11 /* command */
            ifnull 98
            aload 11 /* command */
            ldc "idea"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 98
            iconst_1
            goto 99
      StackMap locals: java.lang.String
      StackMap stack:
        98: iconst_0
      StackMap locals:
      StackMap stack: int
        99: istore 10 /* color */
        end local 11 // java.lang.String command
       100: .line 404
      StackMap locals:
      StackMap stack:
            iload 10 /* color */
            ifne 106
            aload 8 /* dumb */
            ifnonnull 106
       101: .line 405
            invokestatic jdk.internal.org.jline.utils.Log.isDebugEnabled:()Z
            ifeq 104
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       102: .line 406
            ldc "Creating a dumb terminal"
            aastore
            dup
            iconst_1
            aload 9 /* exception */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
       103: .line 407
            goto 106
      StackMap locals:
      StackMap stack:
       104: iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       105: .line 408
            ldc "Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)"
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
       106: .line 411
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.DumbTerminal
            dup
            aload 1 /* name */
            iload 10 /* color */
            ifeq 107
            ldc "dumb-color"
            goto 108
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException int
      StackMap stack: new 106 new 106 java.lang.String
       107: ldc "dumb"
       108: .line 412
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException int
      StackMap stack: new 106 new 106 java.lang.String java.lang.String
            new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
       109: .line 413
            new java.io.FileOutputStream
            dup
            getstatic java.io.FileDescriptor.out:Ljava/io/FileDescriptor;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
       110: .line 414
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
       111: .line 411
            invokespecial jdk.internal.org.jline.terminal.impl.DumbTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            areturn
        end local 10 // boolean color
       112: .line 416
      StackMap locals:
      StackMap stack:
            aload 9 /* exception */
            athrow
        end local 9 // java.lang.IllegalStateException exception
       113: .line 419
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 120
       114: .line 421
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 9 /* pty */
        start local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       115: .line 422
            new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 9 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
       116: areturn
        end local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       117: .line 423
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
       118: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       119: .line 424
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 9 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        end local 9 // java.lang.Throwable t
       120: .line 427
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 127
       121: .line 429
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 9 /* pty */
        start local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       122: .line 430
            new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 9 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
       123: areturn
        end local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       124: .line 431
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
       125: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       126: .line 432
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 9 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        end local 9 // java.lang.Throwable t
       127: .line 435
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.ExternalTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.ExternalTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
            astore 9 /* terminal */
        start local 9 // jdk.internal.org.jline.terminal.Terminal terminal
       128: .line 436
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            ifnull 130
       129: .line 437
            aload 9 /* terminal */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
       130: .line 439
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            ifnull 132
       131: .line 440
            aload 9 /* terminal */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.setSize:(Ljdk/internal/org/jline/terminal/Size;)V
       132: .line 442
      StackMap locals:
      StackMap stack:
            aload 9 /* terminal */
            areturn
        end local 9 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 8 // java.lang.Boolean dumb
        end local 7 // java.lang.Boolean exec
        end local 6 // java.lang.Boolean jansi
        end local 5 // java.lang.Boolean jna
        end local 4 // java.lang.String type
        end local 3 // int codepage
        end local 2 // java.nio.charset.Charset encoding
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  133     0             this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            1  133     1             name  Ljava/lang/String;
            4  133     2         encoding  Ljava/nio/charset/Charset;
            6    8     3      charsetName  Ljava/lang/String;
            9  133     3         codepage  I
           11   13     4              str  Ljava/lang/String;
           14  133     4             type  Ljava/lang/String;
           19  133     5              jna  Ljava/lang/Boolean;
           22  133     6            jansi  Ljava/lang/Boolean;
           25  133     7             exec  Ljava/lang/Boolean;
           28  133     8             dumb  Ljava/lang/Boolean;
           36  113     9        exception  Ljava/lang/IllegalStateException;
           38   64    10       cygwinTerm  Z
           39   64    11  ansiPassThrough  Z
           42   46    12              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           47   50    12                e  Ljava/io/IOException;
           54   57    12                t  Ljava/lang/Throwable;
           61   64    12                t  Ljava/lang/Throwable;
           67   69    10              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           70   73    10                t  Ljava/lang/Throwable;
           75   77    10              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           78   81    10                t  Ljava/lang/Throwable;
           83   85    10              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           86   89    10                t  Ljava/lang/Throwable;
           91  112    10            color  Z
           97  100    11          command  Ljava/lang/String;
          115  117     9              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
          118  120     9                t  Ljava/lang/Throwable;
          122  124     9              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
          125  127     9                t  Ljava/lang/Throwable;
          128  133     9         terminal  Ljdk/internal/org/jline/terminal/Terminal;
      Exception table:
        from    to  target  type
          41    45      46  Class java.io.IOException
          51    52      53  Class java.lang.Throwable
          58    59      60  Class java.lang.Throwable
          66    68      69  Class java.lang.Throwable
          74    76      77  Class java.lang.Throwable
          82    84      85  Class java.lang.Throwable
         114   116     117  Class java.lang.Throwable
         121   123     124  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  private static java.lang.String getParentProcessCommand();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 448
            ldc "java.lang.ProcessHandle"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* phClass */
        start local 0 // java.lang.Class phClass
         1: .line 449
            aload 0 /* phClass */
            ldc "current"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* current */
        start local 1 // java.lang.Object current
         2: .line 450
            aload 0 /* phClass */
            ldc "parent"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 1 /* current */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Optional
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* parent */
        start local 2 // java.lang.Object parent
         3: .line 451
            aload 0 /* phClass */
            ldc "info"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* infoMethod */
        start local 3 // java.lang.reflect.Method infoMethod
         4: .line 452
            aload 3 /* infoMethod */
            aload 2 /* parent */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* info */
        start local 4 // java.lang.Object info
         5: .line 453
            aload 3 /* infoMethod */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            ldc "command"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 4 /* info */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Optional
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* command */
        start local 5 // java.lang.Object command
         6: .line 454
            aload 5 /* command */
            checkcast java.lang.String
         7: areturn
        end local 5 // java.lang.Object command
        end local 4 // java.lang.Object info
        end local 3 // java.lang.reflect.Method infoMethod
        end local 2 // java.lang.Object parent
        end local 1 // java.lang.Object current
        end local 0 // java.lang.Class phClass
         8: .line 455
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         9: .line 456
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    8     0     phClass  Ljava/lang/Class<*>;
            2    8     1     current  Ljava/lang/Object;
            3    8     2      parent  Ljava/lang/Object;
            4    8     3  infoMethod  Ljava/lang/reflect/Method;
            5    8     4        info  Ljava/lang/Object;
            6    8     5     command  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Throwable

  private static java.lang.Boolean getBoolean(java.lang.String, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Boolean def
         0: .line 462
            aload 0 /* name */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 463
            aload 2 /* str */
            ifnull 5
         2: .line 464
            aload 2 /* str */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         3: areturn
        end local 2 // java.lang.String str
         4: .line 466
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
         5: .line 468
      StackMap locals:
      StackMap stack:
            aload 1 /* def */
            areturn
        end local 1 // java.lang.Boolean def
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;
            0    6     1   def  Ljava/lang/Boolean;
            1    4     2   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalArgumentException
           0     3       4  Class java.lang.NullPointerException
    MethodParameters:
      Name  Flags
      name  
      def   

  private <S> S load(java.lang.Class<S>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.Class clazz
         0: .line 472
            aload 1 /* clazz */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    1     1  clazz  Ljava/lang/Class<TS;>;
    Signature: <S:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;)TS;
    MethodParameters:
       Name  Flags
      clazz  

  private static java.io.InputStream lambda$0(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.InputStream in
         0: .line 107
            aload 0 /* in */
            areturn
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    in  Ljava/io/InputStream;

  private static java.lang.String lambda$1(jdk.internal.org.jline.terminal.Terminal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 270
            new java.lang.StringBuilder
            dup
            ldc "Using terminal "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$2(jdk.internal.org.jline.terminal.Terminal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 272
            new java.lang.StringBuilder
            dup
            ldc "Using pty "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            checkcast jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal.getPty:()Ljdk/internal/org/jline/terminal/spi/Pty;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TerminalBuilder.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract SignalHandler = jdk.internal.org.jline.terminal.Terminal$SignalHandler of jdk.internal.org.jline.terminal.Terminal