public class jdk.internal.org.jline.utils.Display
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.org.jline.utils.Display
  super_class: java.lang.Object
{
  public static boolean DISABLE_CR;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  protected final jdk.internal.org.jline.terminal.Terminal terminal;
    descriptor: Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean fullScreen;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected java.util.List<jdk.internal.org.jline.utils.AttributedString> oldLines;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;

  protected int cursorPos;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

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

  protected int rows;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected boolean reset;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean delayLineWrap;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected final java.util.Map<jdk.internal.org.jline.utils.InfoCmp$Capability, java.lang.Integer> cost;
    descriptor: Ljava/util/Map;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljava/lang/Integer;>;

  protected final boolean canScroll;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean wrapAtEol;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean delayedWrapAtEol;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean cursorDownIsNewLine;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jdk$internal$org$jline$utils$DiffHelper$Operation;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 34
            iconst_0
            putstatic jdk.internal.org.jline.utils.Display.DISABLE_CR:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.internal.org.jline.terminal.Terminal, boolean);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // jdk.internal.org.jline.terminal.Terminal terminal
        start local 2 // boolean fullscreen
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
         2: .line 46
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.internal.org.jline.utils.Display.cost:Ljava/util/Map;
         3: .line 53
            aload 0 /* this */
            aload 1 /* terminal */
            putfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
         4: .line 54
            aload 0 /* this */
            iload 2 /* fullscreen */
            putfield jdk.internal.org.jline.utils.Display.fullScreen:Z
         5: .line 56
            aload 0 /* this */
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.insert_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_insert_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            invokevirtual jdk.internal.org.jline.utils.Display.can:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Z
            ifeq 7
         6: .line 57
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.delete_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_delete_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            invokevirtual jdk.internal.org.jline.utils.Display.can:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: jdk.internal.org.jline.utils.Display jdk.internal.org.jline.terminal.Terminal int
      StackMap stack: jdk.internal.org.jline.utils.Display
         7: iconst_0
         8: .line 56
      StackMap locals: jdk.internal.org.jline.utils.Display jdk.internal.org.jline.terminal.Terminal int
      StackMap stack: jdk.internal.org.jline.utils.Display int
            putfield jdk.internal.org.jline.utils.Display.canScroll:Z
         9: .line 58
            aload 0 /* this */
            aload 1 /* terminal */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.auto_right_margin:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getBooleanCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Z
            putfield jdk.internal.org.jline.utils.Display.wrapAtEol:Z
        10: .line 59
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.wrapAtEol:Z
            ifeq 12
        11: .line 60
            aload 1 /* terminal */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.eat_newline_glitch:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getBooleanCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.utils.Display
        12: iconst_0
        13: .line 59
      StackMap locals: jdk.internal.org.jline.utils.Display jdk.internal.org.jline.terminal.Terminal int
      StackMap stack: jdk.internal.org.jline.utils.Display int
            putfield jdk.internal.org.jline.utils.Display.delayedWrapAtEol:Z
        14: .line 61
            aload 0 /* this */
            ldc "\n"
            aload 1 /* terminal */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.cursor_down:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.internal.org.jline.utils.Curses.tputs:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            putfield jdk.internal.org.jline.utils.Display.cursorDownIsNewLine:Z
        15: .line 62
            return
        end local 2 // boolean fullscreen
        end local 1 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljdk/internal/org/jline/utils/Display;
            0   16     1    terminal  Ljdk/internal/org/jline/terminal/Terminal;
            0   16     2  fullscreen  Z
    MethodParameters:
            Name  Flags
      terminal    
      fullscreen  

  public boolean delayLineWrap();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.utils.Display this
         0: .line 70
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.delayLineWrap:Z
            ireturn
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;

  public void setDelayLineWrap(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // boolean v
         0: .line 72
            aload 0 /* this */
            iload 1 /* v */
            putfield jdk.internal.org.jline.utils.Display.delayLineWrap:Z
            return
        end local 1 // boolean v
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1     v  Z
    MethodParameters:
      Name  Flags
      v     

  public void resize(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int rows
        start local 2 // int columns
         0: .line 75
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.rows:I
            iload 1 /* rows */
            if_icmpne 1
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            iload 2 /* columns */
            if_icmpeq 5
         1: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* rows */
            putfield jdk.internal.org.jline.utils.Display.rows:I
         2: .line 77
            aload 0 /* this */
            iload 2 /* columns */
            putfield jdk.internal.org.jline.utils.Display.columns:I
         3: .line 78
            aload 0 /* this */
            iload 2 /* columns */
            iconst_1
            iadd
            putfield jdk.internal.org.jline.utils.Display.columns1:I
         4: .line 79
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.AttributedString.EMPTY:Ljdk/internal/org/jline/utils/AttributedString;
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokestatic jdk.internal.org.jline.utils.AttributedString.join:(Ljdk/internal/org/jline/utils/AttributedString;Ljava/lang/Iterable;)Ljdk/internal/org/jline/utils/AttributedString;
            iload 2 /* columns */
            iconst_1
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.utils.Display.delayLineWrap:()Z
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnSplitLength:(IZZ)Ljava/util/List;
            putfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
         5: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int columns
        end local 1 // int rows
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljdk/internal/org/jline/utils/Display;
            0    6     1     rows  I
            0    6     2  columns  I
    MethodParameters:
         Name  Flags
      rows     
      columns  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.utils.Display this
         0: .line 84
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
         1: .line 85
            return
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/utils/Display;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.utils.Display this
         0: .line 92
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.fullScreen:Z
            ifeq 2
         1: .line 93
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.org.jline.utils.Display.reset:Z
         2: .line 95
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/utils/Display;

  public void updateAnsi(java.util.List<java.lang.String>, );
    descriptor: (Ljava/util/List;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // java.util.List newLines
        start local 2 // int targetCursorPos
         0: .line 98
            aload 0 /* this */
            aload 1 /* newLines */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            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/utils/AttributedString.fromAnsi(Ljava/lang/String;)Ljdk/internal/org/jline/utils/AttributedString; (6)
                  (Ljava/lang/String;)Ljdk/internal/org/jline/utils/AttributedString;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            iload 2 /* targetCursorPos */
            invokevirtual jdk.internal.org.jline.utils.Display.update:(Ljava/util/List;I)V
         1: .line 99
            return
        end local 2 // int targetCursorPos
        end local 1 // java.util.List newLines
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljdk/internal/org/jline/utils/Display;
            0    2     1         newLines  Ljava/util/List<Ljava/lang/String;>;
            0    2     2  targetCursorPos  I
    Signature: (Ljava/util/List<Ljava/lang/String;>;I)V
    MethodParameters:
                 Name  Flags
      newLines         
      targetCursorPos  

  public void update(java.util.List<jdk.internal.org.jline.utils.AttributedString>, );
    descriptor: (Ljava/util/List;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // java.util.List newLines
        start local 2 // int targetCursorPos
         0: .line 107
            aload 0 /* this */
            aload 1 /* newLines */
            iload 2 /* targetCursorPos */
            iconst_1
            invokevirtual jdk.internal.org.jline.utils.Display.update:(Ljava/util/List;IZ)V
         1: .line 108
            return
        end local 2 // int targetCursorPos
        end local 1 // java.util.List newLines
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljdk/internal/org/jline/utils/Display;
            0    2     1         newLines  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
            0    2     2  targetCursorPos  I
    Signature: (Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;I)V
    MethodParameters:
                 Name  Flags
      newLines         
      targetCursorPos  

  public void update(java.util.List<jdk.internal.org.jline.utils.AttributedString>, int, );
    descriptor: (Ljava/util/List;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=25, args_size=4
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // java.util.List newLines
        start local 2 // int targetCursorPos
        start local 3 // boolean flush
         0: .line 117
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.reset:Z
            ifeq 5
         1: .line 118
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.clear_screen:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
         2: .line 119
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         3: .line 120
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
         4: .line 121
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.utils.Display.reset:Z
         5: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.max_colors:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getNumericCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/Integer;
            astore 4 /* cols */
        start local 4 // java.lang.Integer cols
         6: .line 126
            aload 4 /* cols */
            ifnull 7
            aload 4 /* cols */
            invokevirtual java.lang.Integer.intValue:()I
            bipush 8
            if_icmpge 10
         7: .line 127
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 1 /* newLines */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            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/utils/Display.lambda$1(Ljdk/internal/org/jline/utils/AttributedString;)Ljdk/internal/org/jline/utils/AttributedString; (6)
                  (Ljdk/internal/org/jline/utils/AttributedString;)Ljdk/internal/org/jline/utils/AttributedString;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 128
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         9: .line 127
            astore 1 /* newLines */
        10: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.fullScreen:Z
            ifne 11
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.rows:I
            if_icmplt 65
      StackMap locals:
      StackMap stack:
        11: aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpne 65
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.canScroll:Z
            ifeq 65
        12: .line 133
            iconst_0
            istore 5 /* nbHeaders */
        start local 5 // int nbHeaders
        13: .line 134
            iconst_0
            istore 6 /* nbFooters */
        start local 6 // int nbFooters
        14: .line 136
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            istore 7 /* l */
        start local 7 // int l
        15: .line 137
            goto 17
        16: .line 139
      StackMap locals: int int int
      StackMap stack:
            iinc 5 /* nbHeaders */ 1
        17: .line 137
      StackMap locals:
      StackMap stack:
            iload 5 /* nbHeaders */
            iload 7 /* l */
            if_icmpge 21
        18: .line 138
            aload 1 /* newLines */
            iload 5 /* nbHeaders */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* nbHeaders */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 16
        19: .line 141
            goto 21
        20: .line 143
      StackMap locals:
      StackMap stack:
            iinc 6 /* nbFooters */ 1
        21: .line 141
      StackMap locals:
      StackMap stack:
            iload 6 /* nbFooters */
            iload 7 /* l */
            iload 5 /* nbHeaders */
            isub
            iconst_1
            isub
            if_icmpge 23
        22: .line 142
            aload 1 /* newLines */
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            iload 6 /* nbFooters */
            isub
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iload 6 /* nbFooters */
            isub
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 20
        23: .line 145
      StackMap locals:
      StackMap stack:
            aload 1 /* newLines */
            iload 5 /* nbHeaders */
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            iload 6 /* nbFooters */
            isub
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            astore 8 /* o1 */
        start local 8 // java.util.List o1
        24: .line 146
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* nbHeaders */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iload 6 /* nbFooters */
            isub
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            astore 9 /* o2 */
        start local 9 // java.util.List o2
        25: .line 147
            aload 8 /* o1 */
            aload 9 /* o2 */
            invokestatic jdk.internal.org.jline.utils.Display.longestCommon:(Ljava/util/List;Ljava/util/List;)[I
            astore 10 /* common */
        start local 10 // int[] common
        26: .line 148
            aload 10 /* common */
            ifnull 65
        27: .line 149
            aload 10 /* common */
            iconst_0
            iaload
            istore 11 /* s1 */
        start local 11 // int s1
        28: .line 150
            aload 10 /* common */
            iconst_1
            iaload
            istore 12 /* s2 */
        start local 12 // int s2
        29: .line 151
            aload 10 /* common */
            iconst_2
            iaload
            istore 13 /* sl */
        start local 13 // int sl
        30: .line 152
            iload 13 /* sl */
            iconst_1
            if_icmple 48
            iload 11 /* s1 */
            iload 12 /* s2 */
            if_icmpge 48
        31: .line 153
            aload 0 /* this */
            iload 5 /* nbHeaders */
            iload 11 /* s1 */
            iadd
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
        32: .line 154
            iload 12 /* s2 */
            iload 11 /* s1 */
            isub
            istore 14 /* nb */
        start local 14 // int nb
        33: .line 155
            aload 0 /* this */
            iload 14 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.deleteLines:(I)Z
            pop
        34: .line 156
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        35: goto 38
        36: .line 157
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int java.util.List java.util.List int[] int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* nbHeaders */
            iload 11 /* s1 */
            iadd
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        37: .line 156
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 15 /* i */
            iload 14 /* nb */
            if_icmplt 36
        end local 15 // int i
        39: .line 159
            iload 6 /* nbFooters */
            ifle 65
        40: .line 160
            aload 0 /* this */
            iload 5 /* nbHeaders */
            iload 11 /* s1 */
            iadd
            iload 13 /* sl */
            iadd
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
        41: .line 161
            aload 0 /* this */
            iload 14 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.insertLines:(I)Z
            pop
        42: .line 162
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        43: goto 46
        44: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* nbHeaders */
            iload 11 /* s1 */
            iadd
            iload 13 /* sl */
            iadd
            new jdk.internal.org.jline.utils.AttributedString
            dup
            ldc ""
            invokespecial jdk.internal.org.jline.utils.AttributedString.<init>:(Ljava/lang/CharSequence;)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        45: .line 162
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 15 /* i */
            iload 14 /* nb */
            if_icmplt 44
        end local 15 // int i
        end local 14 // int nb
        47: .line 166
            goto 65
      StackMap locals:
      StackMap stack:
        48: iload 13 /* sl */
            iconst_1
            if_icmple 65
            iload 11 /* s1 */
            iload 12 /* s2 */
            if_icmple 65
        49: .line 167
            iload 11 /* s1 */
            iload 12 /* s2 */
            isub
            istore 14 /* nb */
        start local 14 // int nb
        50: .line 168
            iload 6 /* nbFooters */
            ifle 58
        51: .line 169
            aload 0 /* this */
            iload 5 /* nbHeaders */
            iload 12 /* s2 */
            iadd
            iload 13 /* sl */
            iadd
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
        52: .line 170
            aload 0 /* this */
            iload 14 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.deleteLines:(I)Z
            pop
        53: .line 171
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        54: goto 57
        55: .line 172
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* nbHeaders */
            iload 12 /* s2 */
            iadd
            iload 13 /* sl */
            iadd
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        56: .line 171
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        57: iload 15 /* i */
            iload 14 /* nb */
            if_icmplt 55
        end local 15 // int i
        58: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* nbHeaders */
            iload 12 /* s2 */
            iadd
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
        59: .line 176
            aload 0 /* this */
            iload 14 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.insertLines:(I)Z
            pop
        60: .line 177
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        61: goto 64
        62: .line 178
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* nbHeaders */
            iload 12 /* s2 */
            iadd
            new jdk.internal.org.jline.utils.AttributedString
            dup
            ldc ""
            invokespecial jdk.internal.org.jline.utils.AttributedString.<init>:(Ljava/lang/CharSequence;)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        63: .line 177
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 15 /* i */
            iload 14 /* nb */
            if_icmplt 62
        end local 15 // int i
        end local 14 // int nb
        end local 13 // int sl
        end local 12 // int s2
        end local 11 // int s1
        end local 10 // int[] common
        end local 9 // java.util.List o2
        end local 8 // java.util.List o1
        end local 7 // int l
        end local 6 // int nbFooters
        end local 5 // int nbHeaders
        65: .line 184
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer
      StackMap stack:
            iconst_0
            istore 5 /* lineIndex */
        start local 5 // int lineIndex
        66: .line 185
            iconst_0
            istore 6 /* currentPos */
        start local 6 // int currentPos
        67: .line 186
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* numLines */
        start local 7 // int numLines
        68: .line 187
            iconst_0
            istore 8 /* wrapNeeded */
        start local 8 // boolean wrapNeeded
        69: .line 188
            goto 199
        70: .line 190
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int int
      StackMap stack:
            iload 5 /* lineIndex */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 71
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            iload 5 /* lineIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.AttributedString
            goto 72
        71: .line 191
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.org.jline.utils.AttributedString.NEWLINE:Ljdk/internal/org/jline/utils/AttributedString;
        72: .line 189
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.utils.AttributedString
            astore 9 /* oldLine */
        start local 9 // jdk.internal.org.jline.utils.AttributedString oldLine
        73: .line 193
            iload 5 /* lineIndex */
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            if_icmpge 74
            aload 1 /* newLines */
            iload 5 /* lineIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.AttributedString
            goto 75
        74: .line 194
      StackMap locals: jdk.internal.org.jline.utils.AttributedString
      StackMap stack:
            getstatic jdk.internal.org.jline.utils.AttributedString.NEWLINE:Ljdk/internal/org/jline/utils/AttributedString;
        75: .line 192
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.utils.AttributedString
            astore 10 /* newLine */
        start local 10 // jdk.internal.org.jline.utils.AttributedString newLine
        76: .line 195
            iload 5 /* lineIndex */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            istore 6 /* currentPos */
        77: .line 196
            iload 6 /* currentPos */
            istore 11 /* curCol */
        start local 11 // int curCol
        78: .line 197
            aload 9 /* oldLine */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.length:()I
            istore 12 /* oldLength */
        start local 12 // int oldLength
        79: .line 198
            aload 10 /* newLine */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.length:()I
            istore 13 /* newLength */
        start local 13 // int newLength
        80: .line 199
            iload 12 /* oldLength */
            ifle 81
            aload 9 /* oldLine */
            iload 12 /* oldLength */
            iconst_1
            isub
            invokevirtual jdk.internal.org.jline.utils.AttributedString.charAt:(I)C
            bipush 10
            if_icmpne 81
            iconst_1
            goto 82
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int int jdk.internal.org.jline.utils.AttributedString jdk.internal.org.jline.utils.AttributedString int int int
      StackMap stack:
        81: iconst_0
      StackMap locals:
      StackMap stack: int
        82: istore 14 /* oldNL */
        start local 14 // boolean oldNL
        83: .line 200
            iload 13 /* newLength */
            ifle 84
            aload 10 /* newLine */
            iload 13 /* newLength */
            iconst_1
            isub
            invokevirtual jdk.internal.org.jline.utils.AttributedString.charAt:(I)C
            bipush 10
            if_icmpne 84
            iconst_1
            goto 85
      StackMap locals: int
      StackMap stack:
        84: iconst_0
      StackMap locals:
      StackMap stack: int
        85: istore 15 /* newNL */
        start local 15 // boolean newNL
        86: .line 201
            iload 14 /* oldNL */
            ifeq 89
        87: .line 202
            iinc 12 /* oldLength */ -1
        88: .line 203
            aload 9 /* oldLine */
            iconst_0
            iload 12 /* oldLength */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.substring:(II)Ljdk/internal/org/jline/utils/AttributedString;
            astore 9 /* oldLine */
        89: .line 205
      StackMap locals: int
      StackMap stack:
            iload 15 /* newNL */
            ifeq 92
        90: .line 206
            iinc 13 /* newLength */ -1
        91: .line 207
            aload 10 /* newLine */
            iconst_0
            iload 13 /* newLength */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.substring:(II)Ljdk/internal/org/jline/utils/AttributedString;
            astore 10 /* newLine */
        92: .line 209
      StackMap locals:
      StackMap stack:
            iload 8 /* wrapNeeded */
            ifeq 110
        93: .line 210
            iload 5 /* lineIndex */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            idiv
            if_icmpne 110
        94: .line 211
            iload 5 /* lineIndex */
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            if_icmpge 110
        95: .line 213
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iconst_1
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
        96: .line 214
            iload 13 /* newLength */
            ifeq 97
            aload 10 /* newLine */
            iconst_0
            invokevirtual jdk.internal.org.jline.utils.AttributedString.isHidden:(I)Z
            ifeq 99
        97: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.internal.org.jline.utils.AttributedString
            dup
            ldc " \b"
            invokespecial jdk.internal.org.jline.utils.AttributedString.<init>:(Ljava/lang/CharSequence;)V
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
        98: .line 217
            goto 110
        99: .line 219
      StackMap locals:
      StackMap stack:
            aload 10 /* newLine */
            iconst_0
            iconst_1
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnSubSequence:(II)Ljdk/internal/org/jline/utils/AttributedString;
       100: .line 218
            astore 16 /* firstChar */
        start local 16 // jdk.internal.org.jline.utils.AttributedString firstChar
       101: .line 221
            aload 0 /* this */
            aload 16 /* firstChar */
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
       102: .line 222
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iconst_1
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       103: .line 223
            aload 16 /* firstChar */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.length:()I
            istore 17 /* firstLength */
        start local 17 // int firstLength
       104: .line 224
            aload 10 /* newLine */
            iload 17 /* firstLength */
            iload 13 /* newLength */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.substring:(II)Ljdk/internal/org/jline/utils/AttributedString;
            astore 10 /* newLine */
       105: .line 225
            iload 13 /* newLength */
            iload 17 /* firstLength */
            isub
            istore 13 /* newLength */
       106: .line 226
            iload 12 /* oldLength */
            iload 17 /* firstLength */
            if_icmplt 109
       107: .line 227
            aload 9 /* oldLine */
            iload 17 /* firstLength */
            iload 12 /* oldLength */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.substring:(II)Ljdk/internal/org/jline/utils/AttributedString;
            astore 9 /* oldLine */
       108: .line 228
            iload 12 /* oldLength */
            iload 17 /* firstLength */
            isub
            istore 12 /* oldLength */
       109: .line 230
      StackMap locals: jdk.internal.org.jline.utils.AttributedString int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 6 /* currentPos */
        end local 17 // int firstLength
        end local 16 // jdk.internal.org.jline.utils.AttributedString firstChar
       110: .line 233
      StackMap locals:
      StackMap stack:
            aload 9 /* oldLine */
            aload 10 /* newLine */
            invokestatic jdk.internal.org.jline.utils.DiffHelper.diff:(Ljdk/internal/org/jline/utils/AttributedString;Ljdk/internal/org/jline/utils/AttributedString;)Ljava/util/List;
            astore 16 /* diffs */
        start local 16 // java.util.List diffs
       111: .line 234
            iconst_1
            istore 17 /* ident */
        start local 17 // boolean ident
       112: .line 235
            iconst_0
            istore 18 /* cleared */
        start local 18 // boolean cleared
       113: .line 236
            iconst_0
            istore 19 /* i */
        start local 19 // int i
       114: goto 169
       115: .line 237
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int int jdk.internal.org.jline.utils.AttributedString jdk.internal.org.jline.utils.AttributedString int int int int int java.util.List int int int
      StackMap stack:
            aload 16 /* diffs */
            iload 19 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.DiffHelper$Diff
            astore 20 /* diff */
        start local 20 // jdk.internal.org.jline.utils.DiffHelper$Diff diff
       116: .line 238
            aload 20 /* diff */
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnLength:()I
            istore 21 /* width */
        start local 21 // int width
       117: .line 239
            invokestatic jdk.internal.org.jline.utils.Display.$SWITCH_TABLE$jdk$internal$org$jline$utils$DiffHelper$Operation:()[I
            aload 20 /* diff */
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.operation:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            invokevirtual jdk.internal.org.jline.utils.DiffHelper$Operation.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 149
                    2: 126
                    3: 118
              default: 168
          }
       118: .line 241
      StackMap locals: jdk.internal.org.jline.utils.DiffHelper$Diff int
      StackMap stack:
            iload 17 /* ident */
            ifne 124
       119: .line 242
            aload 0 /* this */
            aload 0 /* this */
            iload 6 /* currentPos */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       120: .line 243
            aload 0 /* this */
            aload 20 /* diff */
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
       121: .line 244
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 21 /* width */
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       122: .line 245
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 6 /* currentPos */
       123: .line 246
            goto 168
       124: .line 247
      StackMap locals:
      StackMap stack:
            iload 6 /* currentPos */
            iload 21 /* width */
            iadd
            istore 6 /* currentPos */
       125: .line 249
            goto 168
       126: .line 251
      StackMap locals:
      StackMap stack:
            iload 19 /* i */
            aload 16 /* diffs */
            invokeinterface java.util.List.size:()I
            iconst_2
            isub
            if_icmpgt 134
       127: .line 252
            aload 16 /* diffs */
            iload 19 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.DiffHelper$Diff
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.operation:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            getstatic jdk.internal.org.jline.utils.DiffHelper$Operation.EQUAL:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            if_acmpne 134
       128: .line 253
            aload 0 /* this */
            aload 0 /* this */
            iload 6 /* currentPos */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       129: .line 254
            aload 0 /* this */
            iload 21 /* width */
            invokevirtual jdk.internal.org.jline.utils.Display.insertChars:(I)Z
            ifeq 143
       130: .line 255
            aload 0 /* this */
            aload 20 /* diff */
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
       131: .line 256
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 21 /* width */
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       132: .line 257
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 6 /* currentPos */
       133: .line 258
            goto 168
       134: .line 260
      StackMap locals:
      StackMap stack:
            iload 19 /* i */
            aload 16 /* diffs */
            invokeinterface java.util.List.size:()I
            iconst_2
            isub
            if_icmpgt 143
       135: .line 261
            aload 16 /* diffs */
            iload 19 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.DiffHelper$Diff
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.operation:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            getstatic jdk.internal.org.jline.utils.DiffHelper$Operation.DELETE:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            if_acmpne 143
       136: .line 262
            iload 21 /* width */
            aload 16 /* diffs */
            iload 19 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.DiffHelper$Diff
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnLength:()I
            if_icmpne 143
       137: .line 263
            aload 0 /* this */
            iload 6 /* currentPos */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
       138: .line 264
            aload 0 /* this */
            aload 20 /* diff */
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
       139: .line 265
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 21 /* width */
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       140: .line 266
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 6 /* currentPos */
       141: .line 267
            iinc 19 /* i */ 1
       142: .line 268
            goto 168
       143: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* currentPos */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
       144: .line 271
            aload 0 /* this */
            aload 20 /* diff */
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
       145: .line 272
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 21 /* width */
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       146: .line 273
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 6 /* currentPos */
       147: .line 274
            iconst_0
            istore 17 /* ident */
       148: .line 275
            goto 168
       149: .line 277
      StackMap locals:
      StackMap stack:
            iload 18 /* cleared */
            ifeq 151
       150: .line 278
            goto 168
       151: .line 280
      StackMap locals:
      StackMap stack:
            iload 6 /* currentPos */
            iload 11 /* curCol */
            isub
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            if_icmplt 153
       152: .line 281
            goto 168
       153: .line 283
      StackMap locals:
      StackMap stack:
            iload 19 /* i */
            aload 16 /* diffs */
            invokeinterface java.util.List.size:()I
            iconst_2
            isub
            if_icmpgt 159
       154: .line 284
            aload 16 /* diffs */
            iload 19 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.DiffHelper$Diff
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.operation:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            getstatic jdk.internal.org.jline.utils.DiffHelper$Operation.EQUAL:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            if_acmpne 159
       155: .line 285
            iload 6 /* currentPos */
            aload 16 /* diffs */
            iload 19 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.DiffHelper$Diff
            getfield jdk.internal.org.jline.utils.DiffHelper$Diff.text:Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnLength:()I
            iadd
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            if_icmpge 159
       156: .line 286
            aload 0 /* this */
            iload 6 /* currentPos */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
       157: .line 287
            aload 0 /* this */
            iload 21 /* width */
            invokevirtual jdk.internal.org.jline.utils.Display.deleteChars:(I)Z
            ifeq 159
       158: .line 288
            goto 168
       159: .line 292
      StackMap locals:
      StackMap stack:
            aload 9 /* oldLine */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnLength:()I
            istore 22 /* oldLen */
        start local 22 // int oldLen
       160: .line 293
            aload 10 /* newLine */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnLength:()I
            istore 23 /* newLen */
        start local 23 // int newLen
       161: .line 294
            iload 22 /* oldLen */
            iload 23 /* newLen */
            invokestatic java.lang.Math.max:(II)I
            iload 6 /* currentPos */
            iload 11 /* curCol */
            isub
            isub
            istore 24 /* nb */
        start local 24 // int nb
       162: .line 295
            aload 0 /* this */
            iload 6 /* currentPos */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
       163: .line 296
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.clr_eol:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            ifne 166
       164: .line 297
            aload 0 /* this */
            bipush 32
            iload 24 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(CI)V
       165: .line 298
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 24 /* nb */
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       166: .line 300
      StackMap locals: int int int
      StackMap stack:
            iconst_1
            istore 18 /* cleared */
       167: .line 301
            iconst_0
            istore 17 /* ident */
        end local 24 // int nb
        end local 23 // int newLen
        end local 22 // int oldLen
        end local 21 // int width
        end local 20 // jdk.internal.org.jline.utils.DiffHelper$Diff diff
       168: .line 236
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int int jdk.internal.org.jline.utils.AttributedString jdk.internal.org.jline.utils.AttributedString int int int int int java.util.List int int int
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
       169: iload 19 /* i */
            aload 16 /* diffs */
            invokeinterface java.util.List.size:()I
            if_icmplt 115
        end local 19 // int i
       170: .line 305
            iinc 5 /* lineIndex */ 1
       171: .line 306
            iload 15 /* newNL */
            ifne 172
            iload 5 /* lineIndex */
            aload 1 /* newLines */
            invokeinterface java.util.List.size:()I
            if_icmpge 172
            iconst_1
            goto 173
      StackMap locals:
      StackMap stack:
       172: iconst_0
      StackMap locals:
      StackMap stack: int
       173: istore 19 /* newWrap */
        start local 19 // boolean newWrap
       174: .line 307
            iload 2 /* targetCursorPos */
            iconst_1
            iadd
            iload 5 /* lineIndex */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            if_icmpne 177
       175: .line 308
            iload 19 /* newWrap */
            ifne 176
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.delayLineWrap:Z
            ifne 177
       176: .line 309
      StackMap locals: int
      StackMap stack:
            iinc 2 /* targetCursorPos */ 1
       177: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 11 /* curCol */
            isub
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            irem
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            if_icmpne 178
            iconst_1
            goto 179
      StackMap locals:
      StackMap stack:
       178: iconst_0
      StackMap locals:
      StackMap stack: int
       179: istore 20 /* atRight */
        start local 20 // boolean atRight
       180: .line 311
            iconst_0
            istore 8 /* wrapNeeded */
       181: .line 312
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.delayedWrapAtEol:Z
            ifeq 191
       182: .line 313
            iload 14 /* oldNL */
            ifne 183
            iload 5 /* lineIndex */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 183
            iconst_1
            goto 184
      StackMap locals: int
      StackMap stack:
       183: iconst_0
      StackMap locals:
      StackMap stack: int
       184: istore 21 /* oldWrap */
        start local 21 // boolean oldWrap
       185: .line 314
            iload 19 /* newWrap */
            iload 21 /* oldWrap */
            if_icmpeq 199
            iload 21 /* oldWrap */
            ifeq 186
            iload 18 /* cleared */
            ifne 199
       186: .line 315
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* lineIndex */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            imul
            iconst_1
            isub
            aload 1 /* newLines */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(ILjava/util/List;)V
       187: .line 316
            iload 19 /* newWrap */
            ifeq 189
       188: .line 317
            iconst_1
            istore 8 /* wrapNeeded */
            goto 199
       189: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.clr_eol:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
        end local 21 // boolean oldWrap
       190: .line 321
            goto 199
      StackMap locals:
      StackMap stack:
       191: iload 20 /* atRight */
            ifeq 199
       192: .line 322
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.wrapAtEol:Z
            ifeq 196
       193: .line 323
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            ldc " \b"
            invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
       194: .line 324
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iconst_1
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       195: .line 325
            goto 198
       196: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.carriage_return:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
       197: .line 327
            aload 0 /* this */
            iload 11 /* curCol */
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
       198: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 6 /* currentPos */
        end local 20 // boolean atRight
        end local 19 // boolean newWrap
        end local 18 // boolean cleared
        end local 17 // boolean ident
        end local 16 // java.util.List diffs
        end local 15 // boolean newNL
        end local 14 // boolean oldNL
        end local 13 // int newLength
        end local 12 // int oldLength
        end local 11 // int curCol
        end local 10 // jdk.internal.org.jline.utils.AttributedString newLine
        end local 9 // jdk.internal.org.jline.utils.AttributedString oldLine
       199: .line 188
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int int
      StackMap stack:
            iload 5 /* lineIndex */
            iload 7 /* numLines */
            if_icmplt 70
       200: .line 333
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 2 /* targetCursorPos */
            if_icmpeq 204
       201: .line 334
            aload 0 /* this */
            iload 2 /* targetCursorPos */
            ifge 202
            iload 6 /* currentPos */
            goto 203
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.utils.Display
       202: iload 2 /* targetCursorPos */
      StackMap locals: jdk.internal.org.jline.utils.Display java.util.List int int java.lang.Integer int int int int
      StackMap stack: jdk.internal.org.jline.utils.Display int
       203: aload 1 /* newLines */
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(ILjava/util/List;)V
       204: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newLines */
            putfield jdk.internal.org.jline.utils.Display.oldLines:Ljava/util/List;
       205: .line 338
            iload 3 /* flush */
            ifeq 207
       206: .line 339
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.flush:()V
       207: .line 341
      StackMap locals:
      StackMap stack:
            return
        end local 8 // boolean wrapNeeded
        end local 7 // int numLines
        end local 6 // int currentPos
        end local 5 // int lineIndex
        end local 4 // java.lang.Integer cols
        end local 3 // boolean flush
        end local 2 // int targetCursorPos
        end local 1 // java.util.List newLines
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  208     0             this  Ljdk/internal/org/jline/utils/Display;
            0  208     1         newLines  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
            0  208     2  targetCursorPos  I
            0  208     3            flush  Z
            6  208     4             cols  Ljava/lang/Integer;
           13   65     5        nbHeaders  I
           14   65     6        nbFooters  I
           15   65     7                l  I
           24   65     8               o1  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
           25   65     9               o2  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
           26   65    10           common  [I
           28   65    11               s1  I
           29   65    12               s2  I
           30   65    13               sl  I
           33   47    14               nb  I
           35   39    15                i  I
           43   47    15                i  I
           50   65    14               nb  I
           54   58    15                i  I
           61   65    15                i  I
           66  208     5        lineIndex  I
           67  208     6       currentPos  I
           68  208     7         numLines  I
           69  208     8       wrapNeeded  Z
           73  199     9          oldLine  Ljdk/internal/org/jline/utils/AttributedString;
           76  199    10          newLine  Ljdk/internal/org/jline/utils/AttributedString;
           78  199    11           curCol  I
           79  199    12        oldLength  I
           80  199    13        newLength  I
           83  199    14            oldNL  Z
           86  199    15            newNL  Z
          101  110    16        firstChar  Ljdk/internal/org/jline/utils/AttributedString;
          104  110    17      firstLength  I
          111  199    16            diffs  Ljava/util/List<Ljdk/internal/org/jline/utils/DiffHelper$Diff;>;
          112  199    17            ident  Z
          113  199    18          cleared  Z
          114  170    19                i  I
          116  168    20             diff  Ljdk/internal/org/jline/utils/DiffHelper$Diff;
          117  168    21            width  I
          160  168    22           oldLen  I
          161  168    23           newLen  I
          162  168    24               nb  I
          174  199    19          newWrap  Z
          180  199    20          atRight  Z
          185  190    21          oldWrap  Z
    Signature: (Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;IZ)V
    MethodParameters:
                 Name  Flags
      newLines         
      targetCursorPos  
      flush            

  protected boolean deleteLines(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int nb
         0: .line 344
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.delete_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_delete_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 1 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            ireturn
        end local 1 // int nb
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1    nb  I
    MethodParameters:
      Name  Flags
      nb    

  protected boolean insertLines(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int nb
         0: .line 348
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.insert_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_insert_line:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 1 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            ireturn
        end local 1 // int nb
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1    nb  I
    MethodParameters:
      Name  Flags
      nb    

  protected boolean insertChars(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int nb
         0: .line 352
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.insert_character:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_ich:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 1 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            ireturn
        end local 1 // int nb
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1    nb  I
    MethodParameters:
      Name  Flags
      nb    

  protected boolean deleteChars(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int nb
         0: .line 356
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.delete_character:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_dch:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 1 /* nb */
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            ireturn
        end local 1 // int nb
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1    nb  I
    MethodParameters:
      Name  Flags
      nb    

  protected boolean can(jdk.internal.org.jline.utils.InfoCmp$Capability, jdk.internal.org.jline.utils.InfoCmp$Capability);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability single
        start local 2 // jdk.internal.org.jline.utils.InfoCmp$Capability multi
         0: .line 360
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 1 /* single */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            ifnonnull 3
         1: .line 361
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 2 /* multi */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            ifnonnull 3
         2: .line 360
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // jdk.internal.org.jline.utils.InfoCmp$Capability multi
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability single
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/internal/org/jline/utils/Display;
            0    4     1  single  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            0    4     2   multi  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
    MethodParameters:
        Name  Flags
      single  
      multi   

  protected boolean perform(jdk.internal.org.jline.utils.InfoCmp$Capability, jdk.internal.org.jline.utils.InfoCmp$Capability, int);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability single
        start local 2 // jdk.internal.org.jline.utils.InfoCmp$Capability multi
        start local 3 // int nb
         0: .line 365
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 2 /* multi */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* hasMulti */
        start local 4 // boolean hasMulti
         3: .line 366
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 1 /* single */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* hasSingle */
        start local 5 // boolean hasSingle
         6: .line 367
            iload 4 /* hasMulti */
            ifeq 9
            iload 5 /* hasSingle */
            ifeq 7
            aload 0 /* this */
            aload 1 /* single */
            invokevirtual jdk.internal.org.jline.utils.Display.cost:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)I
            iload 3 /* nb */
            imul
            aload 0 /* this */
            aload 2 /* multi */
            invokevirtual jdk.internal.org.jline.utils.Display.cost:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)I
            if_icmple 9
         7: .line 368
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 2 /* multi */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* nb */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
         8: .line 369
            iconst_1
            ireturn
         9: .line 370
      StackMap locals:
      StackMap stack:
            iload 5 /* hasSingle */
            ifeq 16
        10: .line 371
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: goto 14
        12: .line 372
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 1 /* single */
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
        13: .line 371
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            iload 3 /* nb */
            if_icmplt 12
        end local 6 // int i
        15: .line 374
            iconst_1
            ireturn
        16: .line 376
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // boolean hasSingle
        end local 4 // boolean hasMulti
        end local 3 // int nb
        end local 2 // jdk.internal.org.jline.utils.InfoCmp$Capability multi
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability single
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Ljdk/internal/org/jline/utils/Display;
            0   17     1     single  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            0   17     2      multi  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            0   17     3         nb  I
            3   17     4   hasMulti  Z
            6   17     5  hasSingle  Z
           11   15     6          i  I
    MethodParameters:
        Name  Flags
      single  
      multi   
      nb      

  private int cost(jdk.internal.org.jline.utils.InfoCmp$Capability);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability cap
         0: .line 381
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cost:Ljava/util/Map;
            aload 1 /* cap */
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/org/jline/utils/Display;)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/utils/Display.computeCost(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)I (7)
                  (Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/Integer;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability cap
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1   cap  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
    MethodParameters:
      Name  Flags
      cap   

  private int computeCost(jdk.internal.org.jline.utils.InfoCmp$Capability);
    descriptor: (Ljdk/internal/org/jline/utils/InfoCmp$Capability;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability cap
         0: .line 385
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            aload 1 /* cap */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.internal.org.jline.utils.Curses.tputs:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         1: .line 386
            aload 2 /* s */
            ifnull 2
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: ldc 2147483647
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // java.lang.String s
        end local 1 // jdk.internal.org.jline.utils.InfoCmp$Capability cap
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/internal/org/jline/utils/Display;
            0    4     1   cap  Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            1    4     2     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cap   

  private static int[] longestCommon(java.util.List<jdk.internal.org.jline.utils.AttributedString>, java.util.List<jdk.internal.org.jline.utils.AttributedString>);
    descriptor: (Ljava/util/List;Ljava/util/List;)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.util.List l1
        start local 1 // java.util.List l2
         0: .line 390
            iconst_0
            istore 2 /* start1 */
        start local 2 // int start1
         1: .line 391
            iconst_0
            istore 3 /* start2 */
        start local 3 // int start2
         2: .line 392
            iconst_0
            istore 4 /* max */
        start local 4 // int max
         3: .line 393
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 19
         5: .line 394
      StackMap locals: java.util.List java.util.List int int int int
      StackMap stack:
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         6: goto 17
         7: .line 395
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 7 /* x */
        start local 7 // int x
         8: .line 396
            goto 11
         9: .line 397
      StackMap locals: int
      StackMap stack:
            iinc 7 /* x */ 1
        10: .line 398
            iload 5 /* i */
            iload 7 /* x */
            iadd
            aload 0 /* l1 */
            invokeinterface java.util.List.size:()I
            if_icmpge 12
            iload 6 /* j */
            iload 7 /* x */
            iadd
            aload 1 /* l2 */
            invokeinterface java.util.List.size:()I
            if_icmplt 11
            goto 12
        11: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* l1 */
            iload 5 /* i */
            iload 7 /* x */
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 1 /* l2 */
            iload 6 /* j */
            iload 7 /* x */
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 9
        12: .line 400
      StackMap locals:
      StackMap stack:
            iload 7 /* x */
            iload 4 /* max */
            if_icmple 16
        13: .line 401
            iload 7 /* x */
            istore 4 /* max */
        14: .line 402
            iload 5 /* i */
            istore 2 /* start1 */
        15: .line 403
            iload 6 /* j */
            istore 3 /* start2 */
        end local 7 // int x
        16: .line 394
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* j */
            aload 1 /* l2 */
            invokeinterface java.util.List.size:()I
            if_icmplt 7
        end local 6 // int j
        18: .line 393
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 0 /* l1 */
            invokeinterface java.util.List.size:()I
            if_icmplt 5
        end local 5 // int i
        20: .line 407
            iload 4 /* max */
            ifeq 21
            iconst_3
            newarray 10
            dup
            iconst_0
            iload 2 /* start1 */
            iastore
            dup
            iconst_1
            iload 3 /* start2 */
            iastore
            dup
            iconst_2
            iload 4 /* max */
            iastore
            goto 22
      StackMap locals:
      StackMap stack:
        21: aconst_null
      StackMap locals:
      StackMap stack: int[]
        22: areturn
        end local 4 // int max
        end local 3 // int start2
        end local 2 // int start1
        end local 1 // java.util.List l2
        end local 0 // java.util.List l1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0      l1  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
            0   23     1      l2  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
            1   23     2  start1  I
            2   23     3  start2  I
            3   23     4     max  I
            4   20     5       i  I
            6   18     6       j  I
            8   16     7       x  I
    Signature: (Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;)[I
    MethodParameters:
      Name  Flags
      l1    
      l2    

  protected void moveVisualCursorTo(int, java.util.List<jdk.internal.org.jline.utils.AttributedString>);
    descriptor: (ILjava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int targetPos
        start local 2 // java.util.List newLines
         0: .line 417
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iload 1 /* targetPos */
            if_icmpeq 16
         1: .line 418
            iload 1 /* targetPos */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            irem
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* atRight */
        start local 3 // boolean atRight
         4: .line 419
            aload 0 /* this */
            iload 1 /* targetPos */
            iload 3 /* atRight */
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: jdk.internal.org.jline.utils.Display int java.util.List int
      StackMap stack: jdk.internal.org.jline.utils.Display int
         5: iconst_0
      StackMap locals: jdk.internal.org.jline.utils.Display int java.util.List int
      StackMap stack: jdk.internal.org.jline.utils.Display int int
         6: isub
            invokevirtual jdk.internal.org.jline.utils.Display.moveVisualCursorTo:(I)I
            pop
         7: .line 420
            iload 3 /* atRight */
            ifeq 16
         8: .line 423
            iload 1 /* targetPos */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            idiv
            istore 4 /* row */
        start local 4 // int row
         9: .line 424
            iload 4 /* row */
            aload 2 /* newLines */
            invokeinterface java.util.List.size:()I
            if_icmplt 10
            getstatic jdk.internal.org.jline.utils.AttributedString.EMPTY:Ljdk/internal/org/jline/utils/AttributedString;
            goto 11
        10: .line 425
      StackMap locals: int
      StackMap stack:
            aload 2 /* newLines */
            iload 4 /* row */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.utils.AttributedString
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            iconst_1
            isub
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnSubSequence:(II)Ljdk/internal/org/jline/utils/AttributedString;
        11: .line 424
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.utils.AttributedString
            astore 5 /* lastChar */
        start local 5 // jdk.internal.org.jline.utils.AttributedString lastChar
        12: .line 426
            aload 5 /* lastChar */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.length:()I
            ifne 14
        13: .line 427
            aload 0 /* this */
            bipush 32
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(I)V
            goto 15
        14: .line 429
      StackMap locals: jdk.internal.org.jline.utils.AttributedString
      StackMap stack:
            aload 0 /* this */
            aload 5 /* lastChar */
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(Ljdk/internal/org/jline/utils/AttributedString;)V
        15: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            iconst_1
            iadd
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
        end local 5 // jdk.internal.org.jline.utils.AttributedString lastChar
        end local 4 // int row
        end local 3 // boolean atRight
        16: .line 433
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List newLines
        end local 1 // int targetPos
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Ljdk/internal/org/jline/utils/Display;
            0   17     1  targetPos  I
            0   17     2   newLines  Ljava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;
            4   16     3    atRight  Z
            9   16     4        row  I
           12   16     5   lastChar  Ljdk/internal/org/jline/utils/AttributedString;
    Signature: (ILjava/util/List<Ljdk/internal/org/jline/utils/AttributedString;>;)V
    MethodParameters:
           Name  Flags
      targetPos  
      newLines   

  protected int moveVisualCursorTo(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int i1
         0: .line 443
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorPos:I
            istore 2 /* i0 */
        start local 2 // int i0
         1: .line 444
            iload 2 /* i0 */
            iload 1 /* i1 */
            if_icmpne 2
            iload 1 /* i1 */
            ireturn
         2: .line 445
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns1:I
            istore 3 /* width */
        start local 3 // int width
         3: .line 446
            iload 2 /* i0 */
            iload 3 /* width */
            idiv
            istore 4 /* l0 */
        start local 4 // int l0
         4: .line 447
            iload 2 /* i0 */
            iload 3 /* width */
            irem
            istore 5 /* c0 */
        start local 5 // int c0
         5: .line 448
            iload 1 /* i1 */
            iload 3 /* width */
            idiv
            istore 6 /* l1 */
        start local 6 // int l1
         6: .line 449
            iload 1 /* i1 */
            iload 3 /* width */
            irem
            istore 7 /* c1 */
        start local 7 // int c1
         7: .line 450
            iload 5 /* c0 */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.columns:I
            if_icmpne 10
         8: .line 451
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.carriage_return:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
         9: .line 452
            iconst_0
            istore 5 /* c0 */
        10: .line 454
      StackMap locals: jdk.internal.org.jline.utils.Display int int int int int int int
      StackMap stack:
            iload 4 /* l0 */
            iload 6 /* l1 */
            if_icmple 13
        11: .line 455
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.cursor_up:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_up_cursor:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 4 /* l0 */
            iload 6 /* l1 */
            isub
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            pop
        12: .line 456
            goto 27
      StackMap locals:
      StackMap stack:
        13: iload 4 /* l0 */
            iload 6 /* l1 */
            if_icmpge 27
        14: .line 458
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.fullScreen:Z
            ifeq 24
        15: .line 459
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_down_cursor:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* l1 */
            iload 4 /* l0 */
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            ifne 27
        16: .line 460
            iload 4 /* l0 */
            istore 8 /* i */
        start local 8 // int i
        17: goto 20
        18: .line 461
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.cursor_down:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
        19: .line 460
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* i */
            iload 6 /* l1 */
            if_icmplt 18
        end local 8 // int i
        21: .line 463
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.cursorDownIsNewLine:Z
            ifeq 27
        22: .line 464
            iconst_0
            istore 5 /* c0 */
        23: .line 467
            goto 27
        24: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.carriage_return:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
        25: .line 469
            aload 0 /* this */
            bipush 10
            iload 6 /* l1 */
            iload 4 /* l0 */
            isub
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(CI)V
        26: .line 470
            iconst_0
            istore 5 /* c0 */
        27: .line 473
      StackMap locals:
      StackMap stack:
            iload 5 /* c0 */
            ifeq 30
            iload 7 /* c1 */
            ifne 30
            getstatic jdk.internal.org.jline.utils.Display.DISABLE_CR:Z
            ifne 30
        28: .line 474
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.carriage_return:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.internal.org.jline.terminal.Terminal.puts:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;[Ljava/lang/Object;)Z
            pop
        29: .line 475
            goto 35
      StackMap locals:
      StackMap stack:
        30: iload 5 /* c0 */
            iload 7 /* c1 */
            if_icmpge 33
        31: .line 476
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.cursor_right:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_right_cursor:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 7 /* c1 */
            iload 5 /* c0 */
            isub
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            pop
        32: .line 477
            goto 35
      StackMap locals:
      StackMap stack:
        33: iload 5 /* c0 */
            iload 7 /* c1 */
            if_icmple 35
        34: .line 478
            aload 0 /* this */
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.cursor_left:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.parm_left_cursor:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
            iload 5 /* c0 */
            iload 7 /* c1 */
            isub
            invokevirtual jdk.internal.org.jline.utils.Display.perform:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;Ljdk/internal/org/jline/utils/InfoCmp$Capability;I)Z
            pop
        35: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i1 */
            putfield jdk.internal.org.jline.utils.Display.cursorPos:I
        36: .line 481
            iload 1 /* i1 */
            ireturn
        end local 7 // int c1
        end local 6 // int l1
        end local 5 // int c0
        end local 4 // int l0
        end local 3 // int width
        end local 2 // int i0
        end local 1 // int i1
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   37     0   this  Ljdk/internal/org/jline/utils/Display;
            0   37     1     i1  I
            1   37     2     i0  I
            3   37     3  width  I
            4   37     4     l0  I
            5   37     5     c0  I
            6   37     6     l1  I
            7   37     7     c1  I
           17   21     8      i  I
    MethodParameters:
      Name  Flags
      i1    

  void rawPrint(char, int);
    descriptor: (CI)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // char c
        start local 2 // int num
         0: .line 485
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 486
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual jdk.internal.org.jline.utils.Display.rawPrint:(I)V
         3: .line 485
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            iload 2 /* num */
            if_icmplt 2
        end local 3 // int i
         5: .line 488
            return
        end local 2 // int num
        end local 1 // char c
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/org/jline/utils/Display;
            0    6     1     c  C
            0    6     2   num  I
            1    5     3     i  I
    MethodParameters:
      Name  Flags
      c     
      num   

  void rawPrint(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // int c
         0: .line 491
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            iload 1 /* c */
            invokevirtual java.io.PrintWriter.write:(I)V
         1: .line 492
            return
        end local 1 // int c
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/utils/Display;
            0    2     1     c  I
    MethodParameters:
      Name  Flags
      c     

  void rawPrint(jdk.internal.org.jline.utils.AttributedString);
    descriptor: (Ljdk/internal/org/jline/utils/AttributedString;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // jdk.internal.org.jline.utils.AttributedString str
         0: .line 495
            aload 1 /* str */
            aload 0 /* this */
            getfield jdk.internal.org.jline.utils.Display.terminal:Ljdk/internal/org/jline/terminal/Terminal;
            invokevirtual jdk.internal.org.jline.utils.AttributedString.print:(Ljdk/internal/org/jline/terminal/Terminal;)V
         1: .line 496
            return
        end local 1 // jdk.internal.org.jline.utils.AttributedString str
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/utils/Display;
            0    2     1   str  Ljdk/internal/org/jline/utils/AttributedString;
    MethodParameters:
      Name  Flags
      str   

  public int wcwidth(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.utils.Display this
        start local 1 // java.lang.String str
         0: .line 499
            aload 1 /* str */
            invokestatic jdk.internal.org.jline.utils.AttributedString.fromAnsi:(Ljava/lang/String;)Ljdk/internal/org/jline/utils/AttributedString;
            invokevirtual jdk.internal.org.jline.utils.AttributedString.columnLength:()I
            ireturn
        end local 1 // java.lang.String str
        end local 0 // jdk.internal.org.jline.utils.Display this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/Display;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  static int[] $SWITCH_TABLE$jdk$internal$org$jline$utils$DiffHelper$Operation();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 26
            getstatic jdk.internal.org.jline.utils.Display.$SWITCH_TABLE$jdk$internal$org$jline$utils$DiffHelper$Operation:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.internal.org.jline.utils.DiffHelper$Operation.values:()[Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.internal.org.jline.utils.DiffHelper$Operation.DELETE:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            invokevirtual jdk.internal.org.jline.utils.DiffHelper$Operation.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.internal.org.jline.utils.DiffHelper$Operation.EQUAL:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            invokevirtual jdk.internal.org.jline.utils.DiffHelper$Operation.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.internal.org.jline.utils.DiffHelper$Operation.INSERT:Ljdk/internal/org/jline/utils/DiffHelper$Operation;
            invokevirtual jdk.internal.org.jline.utils.DiffHelper$Operation.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic jdk.internal.org.jline.utils.Display.$SWITCH_TABLE$jdk$internal$org$jline$utils$DiffHelper$Operation:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  private static jdk.internal.org.jline.utils.AttributedString lambda$1(jdk.internal.org.jline.utils.AttributedString);
    descriptor: (Ljdk/internal/org/jline/utils/AttributedString;)Ljdk/internal/org/jline/utils/AttributedString;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.utils.AttributedString s
         0: .line 127
            new jdk.internal.org.jline.utils.AttributedString
            dup
            aload 0 /* s */
            invokevirtual jdk.internal.org.jline.utils.AttributedString.toString:()Ljava/lang/String;
            invokespecial jdk.internal.org.jline.utils.AttributedString.<init>:(Ljava/lang/CharSequence;)V
            areturn
        end local 0 // jdk.internal.org.jline.utils.AttributedString s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljdk/internal/org/jline/utils/AttributedString;
}
SourceFile: "Display.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Diff = jdk.internal.org.jline.utils.DiffHelper$Diff of jdk.internal.org.jline.utils.DiffHelper
  public final Operation = jdk.internal.org.jline.utils.DiffHelper$Operation of jdk.internal.org.jline.utils.DiffHelper
  public final Capability = jdk.internal.org.jline.utils.InfoCmp$Capability of jdk.internal.org.jline.utils.InfoCmp