public class org.graalvm.component.installer.ComponentInstaller extends org.graalvm.launcher.Launcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.component.installer.ComponentInstaller
  super_class: org.graalvm.launcher.Launcher
{
  private static final java.util.logging.Logger LOG;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String GRAAL_DEFAULT_RELATIVE_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "../.."

  private static final org.graalvm.component.installer.Environment SIMPLE_ENV;
    descriptor: Lorg/graalvm/component/installer/Environment;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private org.graalvm.component.installer.InstallerCommand cmdHandler;
    descriptor: Lorg/graalvm/component/installer/InstallerCommand;
    flags: (0x0002) ACC_PRIVATE

  private java.util.LinkedList<java.lang.String> cmdlineParams;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedList<Ljava/lang/String;>;

  private java.util.List<java.lang.String> parameters;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.nio.file.Path graalHomePath;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.file.Path storagePath;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.SimpleGetopt options;
    descriptor: Lorg/graalvm/component/installer/SimpleGetopt;
    flags: (0x0002) ACC_PRIVATE

  static final java.util.Map<java.lang.String, org.graalvm.component.installer.InstallerCommand> commands;
    descriptor: Ljava/util/Map;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/graalvm/component/installer/InstallerCommand;>;

  public static final java.util.Map<java.lang.String, java.lang.String> globalOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public static final java.util.Map<java.lang.String, java.lang.String> componentOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private static final java.util.ResourceBundle BUNDLE;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.graalvm.component.installer.Environment env;
    descriptor: Lorg/graalvm/component/installer/Environment;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.CommandInput input;
    descriptor: Lorg/graalvm/component/installer/CommandInput;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.Feedback feedback;
    descriptor: Lorg/graalvm/component/installer/Feedback;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 89
            ldc Lorg/graalvm/component/installer/ComponentInstaller;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic org.graalvm.component.installer.ComponentInstaller.LOG:Ljava/util/logging/Logger;
         1: .line 93
            new org.graalvm.component.installer.Environment
            dup
            ldc "help"
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokespecial org.graalvm.component.installer.Environment.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V
            invokevirtual org.graalvm.component.installer.Environment.enableStacktraces:()Lorg/graalvm/component/installer/Environment;
            putstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
         2: .line 103
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
         3: .line 104
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
         4: .line 105
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
         5: .line 169
            ldc "org.graalvm.component.installer.Bundle"
         6: .line 168
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
            putstatic org.graalvm.component.installer.ComponentInstaller.BUNDLE:Ljava/util/ResourceBundle;
         7: .line 187
            invokestatic org.graalvm.component.installer.ComponentInstaller.initCommands:()V
         8: .line 188
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void initCommands();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 110
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 111
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 114
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "c"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 115
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "L"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 116
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "u"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 117
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "C"
            ldc "s"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 118
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "F"
            ldc "=L"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 120
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "local-file"
            ldc "L"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 121
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "catalog"
            ldc "c"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 122
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "url"
            ldc "u"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 123
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "custom-catalog"
            ldc "C"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 124
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            ldc "file"
            ldc "L"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 126
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "install"
            new org.graalvm.component.installer.commands.InstallCommand
            dup
            invokespecial org.graalvm.component.installer.commands.InstallCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 127
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "remove"
            new org.graalvm.component.installer.commands.UninstallCommand
            dup
            invokespecial org.graalvm.component.installer.commands.UninstallCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 128
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "list"
            new org.graalvm.component.installer.commands.ListInstalledCommand
            dup
            invokespecial org.graalvm.component.installer.commands.ListInstalledCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 129
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "available"
            new org.graalvm.component.installer.commands.AvailableCommand
            dup
            invokespecial org.graalvm.component.installer.commands.AvailableCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 130
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "info"
            new org.graalvm.component.installer.commands.InfoCommand
            dup
            invokespecial org.graalvm.component.installer.commands.InfoCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 131
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "rebuild-images"
            new org.graalvm.component.installer.commands.RebuildImageCommand
            dup
            invokespecial org.graalvm.component.installer.commands.RebuildImageCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 132
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "update"
            new org.graalvm.component.installer.commands.UpgradeCommand
            dup
            invokespecial org.graalvm.component.installer.commands.UpgradeCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 133
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "upgrade"
            new org.graalvm.component.installer.commands.UpgradeCommand
            dup
            invokespecial org.graalvm.component.installer.commands.UpgradeCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 136
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "#postinstall"
            new org.graalvm.component.installer.commands.PostInstCommand
            dup
            invokespecial org.graalvm.component.installer.commands.PostInstCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 137
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            ldc "#preremove"
            new org.graalvm.component.installer.commands.PreRemoveCommand
            dup
            invokespecial org.graalvm.component.installer.commands.PreRemoveCommand.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 139
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "v"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 140
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "e"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 141
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "h"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 143
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "verbose"
            ldc "v"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 144
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "debug"
            ldc "e"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 145
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "help"
            ldc "h"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 147
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "A"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 148
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "auto-yes"
            ldc "A"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 150
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "N"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 151
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "non-interactive"
            ldc "N"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 153
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "@"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 154
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "#"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 156
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "version"
            ldc "@"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 157
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "show-version"
            ldc "#"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 159
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "E"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 160
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            ldc "no-catalog-errors"
            ldc "E"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 164
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            getstatic org.graalvm.component.installer.ComponentInstaller.componentOptions:Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        39: .line 166
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void forSoftwareChannels(boolean, java.util.function.Consumer<org.graalvm.component.installer.SoftwareChannel$Factory>);
    descriptor: (ZLjava/util/function/Consumer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // boolean report
        start local 1 // java.util.function.Consumer callback
         0: .line 172
            ldc Lorg/graalvm/component/installer/SoftwareChannel$Factory;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
            astore 2 /* channels */
        start local 2 // java.util.ServiceLoader channels
         1: .line 173
            aload 2 /* channels */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 11
         3: .line 175
      StackMap locals: java.util.ServiceLoader java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.component.installer.SoftwareChannel$Factory
            astore 4 /* ch */
        start local 4 // org.graalvm.component.installer.SoftwareChannel$Factory ch
         4: .line 176
            aload 1 /* callback */
            aload 4 /* ch */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        end local 4 // org.graalvm.component.installer.SoftwareChannel$Factory ch
         5: .line 177
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         7: .line 178
            iload 0 /* report */
            ifeq 11
         8: .line 179
            getstatic org.graalvm.component.installer.ComponentInstaller.LOG:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
         9: .line 180
            getstatic org.graalvm.component.installer.ComponentInstaller.BUNDLE:Ljava/util/ResourceBundle;
            ldc "ERROR_SoftwareChannelBroken"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* ex */
            invokevirtual java.lang.Throwable.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        10: .line 179
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        end local 4 // java.lang.Throwable ex
        11: .line 173
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
        12: .line 184
            return
        end local 2 // java.util.ServiceLoader channels
        end local 1 // java.util.function.Consumer callback
        end local 0 // boolean report
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0    report  Z
            0   13     1  callback  Ljava/util/function/Consumer<Lorg/graalvm/component/installer/SoftwareChannel$Factory;>;
            1   13     2  channels  Ljava/util/ServiceLoader<Lorg/graalvm/component/installer/SoftwareChannel$Factory;>;
            2   12     3        it  Ljava/util/Iterator<Lorg/graalvm/component/installer/SoftwareChannel$Factory;>;
            4    5     4        ch  Lorg/graalvm/component/installer/SoftwareChannel$Factory;
            7   11     4        ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     5       6  Class java.util.ServiceConfigurationError
           3     5       6  Class java.lang.Exception
    Signature: (ZLjava/util/function/Consumer<Lorg/graalvm/component/installer/SoftwareChannel$Factory;>;)V
    MethodParameters:
          Name  Flags
      report    
      callback  

  public void <init>(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.lang.String[] args
         0: .line 190
            aload 0 /* this */
            invokespecial org.graalvm.launcher.Launcher.<init>:()V
         1: .line 98
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.graalvm.component.installer.ComponentInstaller.parameters:Ljava/util/List;
         2: .line 191
            aload 0 /* this */
            new java.util.LinkedList
            dup
            aload 1 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
            putfield org.graalvm.component.installer.ComponentInstaller.cmdlineParams:Ljava/util/LinkedList;
         3: .line 192
            return
        end local 1 // java.lang.String[] args
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    4     1  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  protected void printUsage(org.graalvm.component.installer.Feedback);
    descriptor: (Lorg/graalvm/component/installer/Feedback;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.component.installer.Feedback output
         0: .line 195
            aload 1 /* output */
            ldc "INFO_InstallerVersion"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "2.0.0"
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.output:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 196
            aload 1 /* output */
            invokestatic org.graalvm.component.installer.ComponentInstaller.printHelp:(Lorg/graalvm/component/installer/Feedback;)V
         2: .line 197
            return
        end local 1 // org.graalvm.component.installer.Feedback output
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    3     1  output  Lorg/graalvm/component/installer/Feedback;
    MethodParameters:
        Name  Flags
      output  

  private static void printHelp(org.graalvm.component.installer.Feedback);
    descriptor: (Lorg/graalvm/component/installer/Feedback;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.graalvm.component.installer.Feedback output
         0: .line 200
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* extra */
        start local 1 // java.lang.StringBuilder extra
         1: .line 202
            iconst_0
            aload 0 /* output */
            aload 1 /* extra */
            invokedynamic accept(Lorg/graalvm/component/installer/Feedback;Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  org/graalvm/component/installer/ComponentInstaller.lambda$0(Lorg/graalvm/component/installer/Feedback;Ljava/lang/StringBuilder;Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V (6)
                  (Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V
            invokestatic org.graalvm.component.installer.ComponentInstaller.forSoftwareChannels:(ZLjava/util/function/Consumer;)V
         2: .line 211
            aload 1 /* extra */
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 5
         3: .line 212
            aload 0 /* output */
            ldc "INFO_UsageExtensions"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* extra */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.l10n:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* extraS */
        start local 2 // java.lang.String extraS
         4: .line 213
            goto 6
        end local 2 // java.lang.String extraS
         5: .line 214
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            ldc ""
            astore 2 /* extraS */
        start local 2 // java.lang.String extraS
         6: .line 217
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* output */
            ldc "INFO_Usage"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* extraS */
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.output:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 218
            return
        end local 2 // java.lang.String extraS
        end local 1 // java.lang.StringBuilder extra
        end local 0 // org.graalvm.component.installer.Feedback output
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  output  Lorg/graalvm/component/installer/Feedback;
            1    8     1   extra  Ljava/lang/StringBuilder;
            4    5     2  extraS  Ljava/lang/String;
            6    8     2  extraS  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      output  

  static void printErr(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String messageKey
        start local 1 // java.lang.Object[] args
         0: .line 221
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            aload 0 /* messageKey */
            aload 1 /* args */
            invokevirtual org.graalvm.component.installer.Environment.message:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 222
            return
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String messageKey
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  messageKey  Ljava/lang/String;
            0    2     1        args  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      messageKey  
      args        

  static java.lang.RuntimeException err(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String messageKey
        start local 1 // java.lang.Object[] args
         0: .line 225
            aload 0 /* messageKey */
            aload 1 /* args */
            invokestatic org.graalvm.component.installer.ComponentInstaller.printErr:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 226
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            invokestatic org.graalvm.component.installer.ComponentInstaller.printHelp:(Lorg/graalvm/component/installer/Feedback;)V
         2: .line 227
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         3: .line 228
            new java.lang.RuntimeException
            dup
            ldc "should not reach here"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String messageKey
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  messageKey  Ljava/lang/String;
            0    4     1        args  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      messageKey  
      args        

  protected java.lang.RuntimeException error(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.lang.String messageKey
        start local 2 // java.lang.Object[] args
         0: .line 232
            aload 1 /* messageKey */
            aload 2 /* args */
            invokestatic org.graalvm.component.installer.ComponentInstaller.err:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String messageKey
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    1     1  messageKey  Ljava/lang/String;
            0    1     2        args  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      messageKey  
      args        

  org.graalvm.component.installer.CommandInput getInput();
    descriptor: ()Lorg/graalvm/component/installer/CommandInput;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 240
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            areturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  protected void setInput(org.graalvm.component.installer.CommandInput);
    descriptor: (Lorg/graalvm/component/installer/CommandInput;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.component.installer.CommandInput input
         0: .line 244
            aload 0 /* this */
            aload 1 /* input */
            putfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
         1: .line 245
            return
        end local 1 // org.graalvm.component.installer.CommandInput input
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    2     1  input  Lorg/graalvm/component/installer/CommandInput;
    MethodParameters:
       Name  Flags
      input  

  org.graalvm.component.installer.Feedback getFeedback();
    descriptor: ()Lorg/graalvm/component/installer/Feedback;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 248
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            areturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  protected void setFeedback(org.graalvm.component.installer.Feedback);
    descriptor: (Lorg/graalvm/component/installer/Feedback;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.component.installer.Feedback feedback
         0: .line 252
            aload 0 /* this */
            aload 1 /* feedback */
            putfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
         1: .line 253
            return
        end local 1 // org.graalvm.component.installer.Feedback feedback
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    2     1  feedback  Lorg/graalvm/component/installer/Feedback;
    MethodParameters:
          Name  Flags
      feedback  

  java.nio.file.Path getGraalHomePath();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 256
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.graalHomePath:Ljava/nio/file/Path;
            areturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  protected org.graalvm.component.installer.Environment setupEnvironment(org.graalvm.component.installer.SimpleGetopt);
    descriptor: (Lorg/graalvm/component/installer/SimpleGetopt;)Lorg/graalvm/component/installer/Environment;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.component.installer.SimpleGetopt go
         0: .line 260
            new org.graalvm.component.installer.Environment
            dup
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.command:Ljava/lang/String;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.parameters:Ljava/util/List;
            aload 1 /* go */
            invokevirtual org.graalvm.component.installer.SimpleGetopt.getOptValues:()Ljava/util/Map;
            invokespecial org.graalvm.component.installer.Environment.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V
            astore 2 /* e */
        start local 2 // org.graalvm.component.installer.Environment e
         1: .line 261
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.setInput:(Lorg/graalvm/component/installer/CommandInput;)V
         2: .line 262
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.setFeedback:(Lorg/graalvm/component/installer/Feedback;)V
         3: .line 264
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.findGraalHome:()Ljava/nio/file/Path;
            pop
         4: .line 265
            aload 2 /* e */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.graalHomePath:Ljava/nio/file/Path;
            invokevirtual org.graalvm.component.installer.Environment.setGraalHome:(Ljava/nio/file/Path;)V
         5: .line 268
            aload 2 /* e */
            invokevirtual org.graalvm.component.installer.Environment.getGraalHomePath:()Ljava/nio/file/Path;
            invokestatic org.graalvm.component.installer.SystemUtils.getRuntimeBaseDir:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
         6: .line 269
            ldc "lib/security/cacerts"
         7: .line 268
            invokestatic org.graalvm.component.installer.SystemUtils.resolveRelative:(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* trustStorePath */
        start local 3 // java.nio.file.Path trustStorePath
         8: .line 270
            ldc "javax.net.ssl.trustStore"
            aload 3 /* trustStorePath */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         9: .line 271
            new org.graalvm.component.installer.persist.DirectoryStorage
            dup
            aload 2 /* e */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.storagePath:Ljava/nio/file/Path;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.graalHomePath:Ljava/nio/file/Path;
            invokespecial org.graalvm.component.installer.persist.DirectoryStorage.<init>:(Lorg/graalvm/component/installer/Feedback;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
            astore 4 /* storage */
        start local 4 // org.graalvm.component.installer.persist.DirectoryStorage storage
        10: .line 272
            aload 4 /* storage */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.persist.DirectoryStorage.setConfig:(Lorg/graalvm/component/installer/Config;)V
        11: .line 273
            aload 4 /* storage */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* e */
            invokestatic org.graalvm.component.installer.SystemUtils.getJavaMajorVersion:(Lorg/graalvm/component/installer/CommandInput;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.component.installer.persist.DirectoryStorage.setJavaVersion:(Ljava/lang/String;)V
        12: .line 274
            aload 2 /* e */
            new org.graalvm.component.installer.model.ComponentRegistry
            dup
            aload 2 /* e */
            aload 4 /* storage */
            invokespecial org.graalvm.component.installer.model.ComponentRegistry.<init>:(Lorg/graalvm/component/installer/Feedback;Lorg/graalvm/component/installer/model/ManagementStorage;)V
            invokevirtual org.graalvm.component.installer.Environment.setLocalRegistry:(Lorg/graalvm/component/installer/model/ComponentRegistry;)V
        13: .line 275
            aload 2 /* e */
            aload 2 /* e */
            invokevirtual org.graalvm.component.installer.Environment.getGraalHomePath:()Ljava/nio/file/Path;
            invokestatic org.graalvm.component.installer.FileOperations.createPlatformInstance:(Lorg/graalvm/component/installer/Feedback;Ljava/nio/file/Path;)Lorg/graalvm/component/installer/FileOperations;
            astore 5 /* fops */
        start local 5 // org.graalvm.component.installer.FileOperations fops
        14: .line 276
            aload 2 /* e */
            aload 5 /* fops */
            invokevirtual org.graalvm.component.installer.Environment.setFileOperations:(Lorg/graalvm/component/installer/FileOperations;)V
        15: .line 278
            aload 2 /* e */
            areturn
        end local 5 // org.graalvm.component.installer.FileOperations fops
        end local 4 // org.graalvm.component.installer.persist.DirectoryStorage storage
        end local 3 // java.nio.file.Path trustStorePath
        end local 2 // org.graalvm.component.installer.Environment e
        end local 1 // org.graalvm.component.installer.SimpleGetopt go
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lorg/graalvm/component/installer/ComponentInstaller;
            0   16     1              go  Lorg/graalvm/component/installer/SimpleGetopt;
            1   16     2               e  Lorg/graalvm/component/installer/Environment;
            8   16     3  trustStorePath  Ljava/nio/file/Path;
           10   16     4         storage  Lorg/graalvm/component/installer/persist/DirectoryStorage;
           14   16     5            fops  Lorg/graalvm/component/installer/FileOperations;
    MethodParameters:
      Name  Flags
      go    

  protected org.graalvm.component.installer.SimpleGetopt createOptionsObject(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)Lorg/graalvm/component/installer/SimpleGetopt;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.Map opts
         0: .line 282
            new org.graalvm.component.installer.SimpleGetopt
            dup
            aload 1 /* opts */
            invokespecial org.graalvm.component.installer.SimpleGetopt.<init>:(Ljava/util/Map;)V
            areturn
        end local 1 // java.util.Map opts
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    1     1  opts  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/graalvm/component/installer/SimpleGetopt;
    MethodParameters:
      Name  Flags
      opts  

  org.graalvm.component.installer.SimpleGetopt createOptions(java.util.LinkedList<java.lang.String>);
    descriptor: (Ljava/util/LinkedList;)Lorg/graalvm/component/installer/SimpleGetopt;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.LinkedList cmdline
         0: .line 286
            aload 0 /* this */
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            invokevirtual org.graalvm.component.installer.ComponentInstaller.createOptionsObject:(Ljava/util/Map;)Lorg/graalvm/component/installer/SimpleGetopt;
            iconst_1
            invokevirtual org.graalvm.component.installer.SimpleGetopt.ignoreUnknownOptions:(Z)Lorg/graalvm/component/installer/SimpleGetopt;
            astore 2 /* go */
        start local 2 // org.graalvm.component.installer.SimpleGetopt go
         1: .line 287
            aload 2 /* go */
            new java.util.LinkedList
            dup
            aload 1 /* cmdline */
            invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
            invokevirtual org.graalvm.component.installer.SimpleGetopt.setParameters:(Ljava/util/LinkedList;)V
         2: .line 288
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList org.graalvm.component.installer.SimpleGetopt top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
         4: .line 289
            aload 2 /* go */
            aload 3 /* s */
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            aload 3 /* s */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.component.installer.InstallerCommand
            invokeinterface org.graalvm.component.installer.InstallerCommand.supportedOptions:()Ljava/util/Map;
            invokevirtual org.graalvm.component.installer.SimpleGetopt.addCommandOptions:(Ljava/lang/String;Ljava/util/Map;)V
        end local 3 // java.lang.String s
         5: .line 288
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 291
            aload 2 /* go */
            invokevirtual org.graalvm.component.installer.SimpleGetopt.process:()V
         7: .line 292
            aload 0 /* this */
            aload 2 /* go */
            putfield org.graalvm.component.installer.ComponentInstaller.options:Lorg/graalvm/component/installer/SimpleGetopt;
         8: .line 293
            aload 0 /* this */
            aload 2 /* go */
            invokevirtual org.graalvm.component.installer.SimpleGetopt.getCommand:()Ljava/lang/String;
            putfield org.graalvm.component.installer.ComponentInstaller.command:Ljava/lang/String;
         9: .line 294
            aload 0 /* this */
            getstatic org.graalvm.component.installer.ComponentInstaller.commands:Ljava/util/Map;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.command:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.component.installer.InstallerCommand
            putfield org.graalvm.component.installer.ComponentInstaller.cmdHandler:Lorg/graalvm/component/installer/InstallerCommand;
        10: .line 295
            aload 0 /* this */
            aload 2 /* go */
            invokevirtual org.graalvm.component.installer.SimpleGetopt.getPositionalParameters:()Ljava/util/LinkedList;
            putfield org.graalvm.component.installer.ComponentInstaller.parameters:Ljava/util/List;
        11: .line 297
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* go */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.setupEnvironment:(Lorg/graalvm/component/installer/SimpleGetopt;)Lorg/graalvm/component/installer/Environment;
            putfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
        12: .line 298
            iconst_1
            aload 0 /* this */
            invokedynamic accept(Lorg/graalvm/component/installer/ComponentInstaller;)Ljava/util/function/Consumer;
              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;)V
                  org/graalvm/component/installer/ComponentInstaller.lambda$1(Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V (7)
                  (Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V
            invokestatic org.graalvm.component.installer.ComponentInstaller.forSoftwareChannels:(ZLjava/util/function/Consumer;)V
        13: .line 301
            aload 2 /* go */
            areturn
        end local 2 // org.graalvm.component.installer.SimpleGetopt go
        end local 1 // java.util.LinkedList cmdline
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/graalvm/component/installer/ComponentInstaller;
            0   14     1  cmdline  Ljava/util/LinkedList<Ljava/lang/String;>;
            1   14     2       go  Lorg/graalvm/component/installer/SimpleGetopt;
            4    5     3        s  Ljava/lang/String;
    Signature: (Ljava/util/LinkedList<Ljava/lang/String;>;)Lorg/graalvm/component/installer/SimpleGetopt;
    MethodParameters:
         Name  Flags
      cmdline  

  org.graalvm.component.installer.SimpleGetopt interpretOptions(org.graalvm.component.installer.SimpleGetopt);
    descriptor: (Lorg/graalvm/component/installer/SimpleGetopt;)Lorg/graalvm/component/installer/SimpleGetopt;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.component.installer.SimpleGetopt go
         0: .line 305
            aload 1 /* go */
            invokevirtual org.graalvm.component.installer.SimpleGetopt.getUnknownOptions:()Ljava/util/List;
            astore 2 /* unknownOptions */
        start local 2 // java.util.List unknownOptions
         1: .line 306
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "h"
            invokevirtual org.graalvm.component.installer.Environment.hasOption:(Ljava/lang/String;)Z
            ifeq 3
            aload 1 /* go */
            invokevirtual org.graalvm.component.installer.SimpleGetopt.getCommand:()Ljava/lang/String;
            ifnonnull 3
         2: .line 307
            aload 2 /* unknownOptions */
            ldc "help"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 309
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* unknownOptions */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.parseUnknownOptions:(Ljava/util/List;)Ljava/util/Map;
            pop
         4: .line 310
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.runLauncher:()Z
            ifeq 6
         5: .line 311
            aconst_null
            areturn
         6: .line 313
      StackMap locals:
      StackMap stack:
            aload 1 /* go */
            areturn
        end local 2 // java.util.List unknownOptions
        end local 1 // org.graalvm.component.installer.SimpleGetopt go
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    7     1              go  Lorg/graalvm/component/installer/SimpleGetopt;
            1    7     2  unknownOptions  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      go    

  public java.lang.String getCommand();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 317
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.command:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  public java.util.List<java.lang.String> getParameters();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 321
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.parameters:Ljava/util/List;
            areturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  int processOptions(java.util.LinkedList<java.lang.String>);
    descriptor: (Ljava/util/LinkedList;)I
    flags: (0x0000) 
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.LinkedList cmdline
         0: .line 328
            aload 1 /* cmdline */
            invokevirtual java.util.LinkedList.size:()I
            iconst_1
            if_icmpge 4
         1: .line 329
            aload 0 /* this */
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            putfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
         2: .line 330
            aload 0 /* this */
            getstatic org.graalvm.options.OptionCategory.USER:Lorg/graalvm/options/OptionCategory;
            invokevirtual org.graalvm.component.installer.ComponentInstaller.printDefaultHelp:(Lorg/graalvm/options/OptionCategory;)V
         3: .line 331
            iconst_1
            ireturn
         4: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cmdline */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.createOptions:(Ljava/util/LinkedList;)Lorg/graalvm/component/installer/SimpleGetopt;
            astore 2 /* go */
        start local 2 // org.graalvm.component.installer.SimpleGetopt go
         5: .line 334
            aload 0 /* this */
            aload 1 /* cmdline */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.launch:(Ljava/util/List;)V
         6: .line 335
            aload 0 /* this */
            aload 2 /* go */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.interpretOptions:(Lorg/graalvm/component/installer/SimpleGetopt;)Lorg/graalvm/component/installer/SimpleGetopt;
            astore 2 /* go */
         7: .line 337
            aload 2 /* go */
            ifnonnull 9
         8: .line 338
            iconst_0
            ireturn
         9: .line 340
      StackMap locals: org.graalvm.component.installer.SimpleGetopt
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "@"
            invokevirtual org.graalvm.component.installer.Environment.hasOption:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 341
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.printVersion:()V
        11: .line 342
            iconst_0
            ireturn
        12: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "#"
            invokevirtual org.graalvm.component.installer.Environment.hasOption:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 344
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.printVersion:()V
        14: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.cmdHandler:Lorg/graalvm/component/installer/InstallerCommand;
            ifnonnull 16
        15: .line 349
            aload 0 /* this */
            ldc "ERROR_MissingCommand"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.component.installer.ComponentInstaller.error:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            pop
        16: .line 352
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* srcCount */
        start local 3 // int srcCount
        17: .line 353
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "L"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 354
            iinc 3 /* srcCount */ 1
        19: .line 356
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "u"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 357
            iinc 3 /* srcCount */ 1
        21: .line 359
      StackMap locals:
      StackMap stack:
            iload 3 /* srcCount */
            iconst_1
            if_icmple 23
        22: .line 360
            aload 0 /* this */
            ldc "ERROR_MultipleSourcesUnsupported"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.component.installer.ComponentInstaller.error:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            pop
        23: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "A"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 364
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            iconst_1
            invokevirtual org.graalvm.component.installer.Environment.setAutoYesEnabled:(Z)V
        25: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "N"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 27
        26: .line 367
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            iconst_1
            invokevirtual org.graalvm.component.installer.Environment.setNonInteractive:(Z)V
        27: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.getExplicitCatalogURL:()Ljava/lang/String;
            astore 4 /* catalogURL */
        start local 4 // java.lang.String catalogURL
        28: .line 372
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.getReleaseCatalogURL:()Ljava/lang/String;
            astore 5 /* builtinCatLocation */
        start local 5 // java.lang.String builtinCatLocation
        29: .line 373
            aload 5 /* builtinCatLocation */
            ifnonnull 31
        30: .line 374
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "Installer_BuiltingCatalogURL"
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.graalvm.component.installer.Feedback.l10n:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* builtinCatLocation */
        31: .line 377
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new org.graalvm.component.installer.remote.GraalEditionList
            dup
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            invokeinterface org.graalvm.component.installer.CommandInput.getLocalRegistry:()Lorg/graalvm/component/installer/model/ComponentRegistry;
            invokespecial org.graalvm.component.installer.remote.GraalEditionList.<init>:(Lorg/graalvm/component/installer/Feedback;Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/model/ComponentRegistry;)V
            astore 6 /* editionList */
        start local 6 // org.graalvm.component.installer.remote.GraalEditionList editionList
        32: .line 378
            aload 6 /* editionList */
            aload 5 /* builtinCatLocation */
            invokevirtual org.graalvm.component.installer.remote.GraalEditionList.setDefaultCatalogSpec:(Ljava/lang/String;)V
        33: .line 379
            aload 6 /* editionList */
            aload 4 /* catalogURL */
            invokevirtual org.graalvm.component.installer.remote.GraalEditionList.setOverrideCatalogSpec:(Ljava/lang/String;)V
        34: .line 380
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            aload 6 /* editionList */
            invokevirtual org.graalvm.component.installer.Environment.setCatalogFactory:(Lorg/graalvm/component/installer/CommandInput$CatalogFactory;)V
        35: .line 382
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "$"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 37
        36: .line 383
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            invokeinterface org.graalvm.component.installer.CommandInput.getLocalRegistry:()Lorg/graalvm/component/installer/model/ComponentRegistry;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "$"
            invokeinterface org.graalvm.component.installer.CommandInput.optValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.graalvm.component.installer.model.ComponentRegistry.setOverrideEdition:(Ljava/lang/String;)V
        37: .line 386
      StackMap locals: org.graalvm.component.installer.remote.GraalEditionList
      StackMap stack:
            iconst_1
            istore 7 /* builtinsImplied */
        start local 7 // boolean builtinsImplied
        38: .line 387
            iconst_1
            istore 8 /* setIterable */
        start local 8 // boolean setIterable
        39: .line 388
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "L"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 58
        40: .line 389
            new org.graalvm.component.installer.FileIterable
            dup
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokespecial org.graalvm.component.installer.FileIterable.<init>:(Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
            astore 9 /* fi */
        start local 9 // org.graalvm.component.installer.FileIterable fi
        41: .line 390
            aload 9 /* fi */
            aload 6 /* editionList */
            invokevirtual org.graalvm.component.installer.FileIterable.setCatalogFactory:(Lorg/graalvm/component/installer/CommandInput$CatalogFactory;)V
        42: .line 391
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            aload 9 /* fi */
            invokevirtual org.graalvm.component.installer.Environment.setFileIterable:(Lorg/graalvm/component/installer/ComponentIterable;)V
        43: .line 395
            iconst_0
            istore 7 /* builtinsImplied */
        44: .line 396
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "D"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 56
        45: .line 397
            goto 54
        46: .line 398
      StackMap locals: int int org.graalvm.component.installer.FileIterable
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.nextParameter:()Ljava/lang/String;
            astore 10 /* s */
        start local 10 // java.lang.String s
        47: .line 399
            aload 10 /* s */
            invokestatic org.graalvm.component.installer.SystemUtils.fromUserString:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 11 /* p */
        start local 11 // java.nio.file.Path p
        48: .line 400
            aload 11 /* p */
            ifnull 54
        49: .line 401
            aload 11 /* p */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 12 /* parent */
        start local 12 // java.nio.file.Path parent
        50: .line 402
            aload 12 /* parent */
            ifnull 54
            aload 12 /* parent */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 54
        51: .line 403
            new org.graalvm.component.installer.SoftwareChannelSource
            dup
            aload 12 /* parent */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            aconst_null
            invokespecial org.graalvm.component.installer.SoftwareChannelSource.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 13 /* localSource */
        start local 13 // org.graalvm.component.installer.SoftwareChannelSource localSource
        52: .line 404
            aload 13 /* localSource */
            sipush 10000
            invokevirtual org.graalvm.component.installer.SoftwareChannelSource.setPriority:(I)V
        53: .line 405
            aload 6 /* editionList */
            aload 13 /* localSource */
            invokevirtual org.graalvm.component.installer.remote.GraalEditionList.addLocalChannelSource:(Lorg/graalvm/component/installer/SoftwareChannelSource;)V
        end local 13 // org.graalvm.component.installer.SoftwareChannelSource localSource
        end local 12 // java.nio.file.Path parent
        end local 11 // java.nio.file.Path p
        end local 10 // java.lang.String s
        54: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.hasParameter:()Z
            ifne 46
        55: .line 409
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.resetParameters:()V
        56: .line 411
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* setIterable */
        end local 9 // org.graalvm.component.installer.FileIterable fi
        57: .line 412
            goto 64
      StackMap locals:
      StackMap stack:
        58: aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "u"
            invokeinterface org.graalvm.component.installer.CommandInput.hasOption:(Ljava/lang/String;)Z
            ifeq 64
        59: .line 413
            new org.graalvm.component.installer.DownloadURLIterable
            dup
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokespecial org.graalvm.component.installer.DownloadURLIterable.<init>:(Lorg/graalvm/component/installer/Feedback;Lorg/graalvm/component/installer/CommandInput;)V
            astore 9 /* dit */
        start local 9 // org.graalvm.component.installer.DownloadURLIterable dit
        60: .line 414
            aload 9 /* dit */
            aload 6 /* editionList */
            invokevirtual org.graalvm.component.installer.DownloadURLIterable.setCatalogFactory:(Lorg/graalvm/component/installer/CommandInput$CatalogFactory;)V
        61: .line 415
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            aload 9 /* dit */
            invokevirtual org.graalvm.component.installer.Environment.setFileIterable:(Lorg/graalvm/component/installer/ComponentIterable;)V
        62: .line 416
            iconst_0
            istore 8 /* setIterable */
        63: .line 417
            iconst_0
            istore 7 /* builtinsImplied */
        end local 9 // org.graalvm.component.installer.DownloadURLIterable dit
        64: .line 420
      StackMap locals:
      StackMap stack:
            iload 8 /* setIterable */
            ifeq 66
        65: .line 421
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            new org.graalvm.component.installer.remote.CatalogIterable
            dup
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokespecial org.graalvm.component.installer.remote.CatalogIterable.<init>:(Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
            invokevirtual org.graalvm.component.installer.Environment.setFileIterable:(Lorg/graalvm/component/installer/ComponentIterable;)V
        66: .line 424
      StackMap locals:
      StackMap stack:
            aload 6 /* editionList */
            iload 7 /* builtinsImplied */
            ifne 68
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "c"
            invokevirtual org.graalvm.component.installer.Environment.hasOption:(Ljava/lang/String;)Z
            ifne 68
        67: .line 425
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "C"
            invokevirtual org.graalvm.component.installer.Environment.hasOption:(Ljava/lang/String;)Z
            ifne 68
            iconst_0
            goto 69
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.remote.GraalEditionList
        68: iconst_1
        69: .line 424
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList org.graalvm.component.installer.SimpleGetopt int java.lang.String java.lang.String org.graalvm.component.installer.remote.GraalEditionList int int
      StackMap stack: org.graalvm.component.installer.remote.GraalEditionList int
            invokevirtual org.graalvm.component.installer.remote.GraalEditionList.setRemoteSourcesAllowed:(Z)V
        70: .line 426
            iconst_m1
            ireturn
        end local 8 // boolean setIterable
        end local 7 // boolean builtinsImplied
        end local 6 // org.graalvm.component.installer.remote.GraalEditionList editionList
        end local 5 // java.lang.String builtinCatLocation
        end local 4 // java.lang.String catalogURL
        end local 3 // int srcCount
        end local 2 // org.graalvm.component.installer.SimpleGetopt go
        end local 1 // java.util.LinkedList cmdline
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   71     0                this  Lorg/graalvm/component/installer/ComponentInstaller;
            0   71     1             cmdline  Ljava/util/LinkedList<Ljava/lang/String;>;
            5   71     2                  go  Lorg/graalvm/component/installer/SimpleGetopt;
           17   71     3            srcCount  I
           28   71     4          catalogURL  Ljava/lang/String;
           29   71     5  builtinCatLocation  Ljava/lang/String;
           32   71     6         editionList  Lorg/graalvm/component/installer/remote/GraalEditionList;
           38   71     7     builtinsImplied  Z
           39   71     8         setIterable  Z
           41   57     9                  fi  Lorg/graalvm/component/installer/FileIterable;
           47   54    10                   s  Ljava/lang/String;
           48   54    11                   p  Ljava/nio/file/Path;
           50   54    12              parent  Ljava/nio/file/Path;
           52   54    13         localSource  Lorg/graalvm/component/installer/SoftwareChannelSource;
           60   64     9                 dit  Lorg/graalvm/component/installer/DownloadURLIterable;
    Signature: (Ljava/util/LinkedList<Ljava/lang/String;>;)I
    MethodParameters:
         Name  Flags
      cmdline  

  int doProcessCommand();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 430
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.cmdHandler:Lorg/graalvm/component/installer/InstallerCommand;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.cmdHandler:Lorg/graalvm/component/installer/InstallerCommand;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.graalvm.component.installer.Feedback.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
            invokeinterface org.graalvm.component.installer.InstallerCommand.init:(Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
         1: .line 431
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.cmdHandler:Lorg/graalvm/component/installer/InstallerCommand;
            invokeinterface org.graalvm.component.installer.InstallerCommand.execute:()I
            ireturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
    Exceptions:
      throws java.io.IOException

  private int processCommand(java.util.LinkedList<java.lang.String>);
    descriptor: (Ljava/util/LinkedList;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.LinkedList cmds
         0: .line 435
            iconst_0
            istore 2 /* retcode */
        start local 2 // int retcode
         1: .line 437
            aload 0 /* this */
            aload 1 /* cmds */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.processOptions:(Ljava/util/LinkedList;)I
            istore 2 /* retcode */
         2: .line 438
            iload 2 /* retcode */
            iflt 10
         3: .line 439
            iload 2 /* retcode */
            istore 5
         4: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 9
         5: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 9
         6: .line 480
            bipush 11
            istore 2 /* retcode */
         7: .line 482
            goto 9
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int top top int
      StackMap stack: java.io.IOException
         8: pop
         9: .line 439
      StackMap locals:
      StackMap stack:
            iload 5
            ireturn
        10: .line 444
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack:
            getstatic org.graalvm.component.installer.ComponentInstaller.LOG:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            ldc "Installer starting"
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        11: .line 445
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.doProcessCommand:()I
            istore 2 /* retcode */
        12: .line 446
            goto 101
      StackMap locals:
      StackMap stack: java.nio.file.FileAlreadyExistsException
        13: astore 3 /* ex */
        start local 3 // java.nio.file.FileAlreadyExistsException ex
        14: .line 447
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_FileExists"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual java.nio.file.FileAlreadyExistsException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        15: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 20
        16: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 20
        17: .line 480
            bipush 11
            istore 2 /* retcode */
        18: .line 482
            goto 20
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int java.nio.file.FileAlreadyExistsException
      StackMap stack: java.io.IOException
        19: pop
        20: .line 448
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // java.nio.file.FileAlreadyExistsException ex
        21: .line 449
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: java.nio.file.NoSuchFileException
            astore 3 /* ex */
        start local 3 // java.nio.file.NoSuchFileException ex
        22: .line 450
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_FileDoesNotExist"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual java.nio.file.NoSuchFileException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        23: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 28
        24: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 28
        25: .line 480
            bipush 11
            istore 2 /* retcode */
        26: .line 482
            goto 28
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int java.nio.file.NoSuchFileException
      StackMap stack: java.io.IOException
        27: pop
        28: .line 451
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // java.nio.file.NoSuchFileException ex
        29: .line 452
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: java.nio.file.AccessDeniedException
            astore 3 /* ex */
        start local 3 // java.nio.file.AccessDeniedException ex
        30: .line 453
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_AccessDenied"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual java.nio.file.AccessDeniedException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        31: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 36
        32: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 36
        33: .line 480
            bipush 11
            istore 2 /* retcode */
        34: .line 482
            goto 36
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int java.nio.file.AccessDeniedException
      StackMap stack: java.io.IOException
        35: pop
        36: .line 454
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // java.nio.file.AccessDeniedException ex
        37: .line 455
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: java.nio.file.DirectoryNotEmptyException
            astore 3 /* ex */
        start local 3 // java.nio.file.DirectoryNotEmptyException ex
        38: .line 456
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_DirectoryNotEmpty"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual java.nio.file.DirectoryNotEmptyException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        39: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 44
        40: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 44
        41: .line 480
            bipush 11
            istore 2 /* retcode */
        42: .line 482
            goto 44
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int java.nio.file.DirectoryNotEmptyException
      StackMap stack: java.io.IOException
        43: pop
        44: .line 457
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // java.nio.file.DirectoryNotEmptyException ex
        45: .line 458
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        46: .line 459
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_IOException"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual java.lang.Throwable.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        47: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 52
        48: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 52
        49: .line 480
            bipush 11
            istore 2 /* retcode */
        50: .line 482
            goto 52
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int java.lang.Throwable
      StackMap stack: java.io.IOException
        51: pop
        52: .line 460
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // java.lang.Throwable ex
        53: .line 461
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: org.graalvm.component.installer.MetadataException
            astore 3 /* ex */
        start local 3 // org.graalvm.component.installer.MetadataException ex
        54: .line 462
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_InvalidMetadata"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        55: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 60
        56: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 60
        57: .line 480
            bipush 11
            istore 2 /* retcode */
        58: .line 482
            goto 60
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int org.graalvm.component.installer.MetadataException
      StackMap stack: java.io.IOException
        59: pop
        60: .line 463
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        end local 3 // org.graalvm.component.installer.MetadataException ex
        61: .line 464
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: org.graalvm.component.installer.UserAbortException
            astore 3 /* ex */
        start local 3 // org.graalvm.component.installer.UserAbortException ex
        62: .line 465
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "ERROR_Aborted"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual org.graalvm.component.installer.UserAbortException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        63: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 68
        64: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 68
        65: .line 480
            bipush 11
            istore 2 /* retcode */
        66: .line 482
            goto 68
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int org.graalvm.component.installer.UserAbortException
      StackMap stack: java.io.IOException
        67: pop
        68: .line 466
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
        end local 3 // org.graalvm.component.installer.UserAbortException ex
        69: .line 467
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: org.graalvm.component.installer.InstallerStopException
            astore 3 /* ex */
        start local 3 // org.graalvm.component.installer.InstallerStopException ex
        70: .line 468
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_Error"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual org.graalvm.component.installer.InstallerStopException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        71: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 76
        72: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 76
        73: .line 480
            bipush 11
            istore 2 /* retcode */
        74: .line 482
            goto 76
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int org.graalvm.component.installer.InstallerStopException
      StackMap stack: java.io.IOException
        75: pop
        76: .line 469
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        end local 3 // org.graalvm.component.installer.InstallerStopException ex
        77: .line 470
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: org.graalvm.launcher.Launcher$AbortException
            astore 3 /* ex */
        start local 3 // org.graalvm.launcher.Launcher$AbortException ex
        78: .line 471
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            aconst_null
            aload 3 /* ex */
            invokevirtual org.graalvm.launcher.Launcher$AbortException.getCause:()Ljava/lang/Throwable;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual org.graalvm.launcher.Launcher$AbortException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        79: .line 472
            aload 3 /* ex */
            invokevirtual org.graalvm.launcher.Launcher$AbortException.getExitCode:()I
            istore 5
        80: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 85
        81: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 85
        82: .line 480
            bipush 11
            istore 2 /* retcode */
        83: .line 482
            goto 85
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int org.graalvm.launcher.Launcher$AbortException top int
      StackMap stack: java.io.IOException
        84: pop
        85: .line 472
      StackMap locals:
      StackMap stack:
            iload 5
            ireturn
        end local 3 // org.graalvm.launcher.Launcher$AbortException ex
        86: .line 473
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: java.lang.RuntimeException
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
        87: .line 474
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "INSTALLER_InternalError"
            aload 3 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* ex */
            invokevirtual java.lang.RuntimeException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        88: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 93
        89: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 93
        90: .line 480
            bipush 11
            istore 2 /* retcode */
        91: .line 482
            goto 93
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int java.lang.RuntimeException
      StackMap stack: java.io.IOException
        92: pop
        93: .line 475
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        end local 3 // java.lang.RuntimeException ex
        94: .line 476
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack: java.lang.Throwable
            astore 4
        95: .line 477
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 100
        96: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 100
        97: .line 480
            bipush 11
            istore 2 /* retcode */
        98: .line 482
            goto 100
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int top java.lang.Throwable
      StackMap stack: java.io.IOException
        99: pop
       100: .line 485
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
       101: .line 477
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.LinkedList int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ifnull 106
       102: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.close:()Z
            ifeq 106
       103: .line 480
            bipush 11
            istore 2 /* retcode */
       104: .line 482
            goto 106
      StackMap locals:
      StackMap stack: java.io.IOException
       105: pop
       106: .line 486
      StackMap locals:
      StackMap stack:
            iload 2 /* retcode */
            ireturn
        end local 2 // int retcode
        end local 1 // java.util.LinkedList cmds
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  107     0     this  Lorg/graalvm/component/installer/ComponentInstaller;
            0  107     1     cmds  Ljava/util/LinkedList<Ljava/lang/String;>;
            1  107     2  retcode  I
           14   21     3       ex  Ljava/nio/file/FileAlreadyExistsException;
           22   29     3       ex  Ljava/nio/file/NoSuchFileException;
           30   37     3       ex  Ljava/nio/file/AccessDeniedException;
           38   45     3       ex  Ljava/nio/file/DirectoryNotEmptyException;
           46   53     3       ex  Ljava/lang/Throwable;
           54   61     3       ex  Lorg/graalvm/component/installer/MetadataException;
           62   69     3       ex  Lorg/graalvm/component/installer/UserAbortException;
           70   77     3       ex  Lorg/graalvm/component/installer/InstallerStopException;
           78   86     3       ex  Lorg/graalvm/launcher/Launcher$AbortException;
           87   94     3       ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           5     7       8  Class java.io.IOException
           1     4      13  Class java.nio.file.FileAlreadyExistsException
          10    12      13  Class java.nio.file.FileAlreadyExistsException
          16    18      19  Class java.io.IOException
           1     4      21  Class java.nio.file.NoSuchFileException
          10    12      21  Class java.nio.file.NoSuchFileException
          24    26      27  Class java.io.IOException
           1     4      29  Class java.nio.file.AccessDeniedException
          10    12      29  Class java.nio.file.AccessDeniedException
          32    34      35  Class java.io.IOException
           1     4      37  Class java.nio.file.DirectoryNotEmptyException
          10    12      37  Class java.nio.file.DirectoryNotEmptyException
          40    42      43  Class java.io.IOException
           1     4      45  Class java.io.IOError
          10    12      45  Class java.io.IOError
           1     4      45  Class java.io.IOException
          10    12      45  Class java.io.IOException
          48    50      51  Class java.io.IOException
           1     4      53  Class org.graalvm.component.installer.MetadataException
          10    12      53  Class org.graalvm.component.installer.MetadataException
          56    58      59  Class java.io.IOException
           1     4      61  Class org.graalvm.component.installer.UserAbortException
          10    12      61  Class org.graalvm.component.installer.UserAbortException
          64    66      67  Class java.io.IOException
           1     4      69  Class org.graalvm.component.installer.InstallerStopException
          10    12      69  Class org.graalvm.component.installer.InstallerStopException
          72    74      75  Class java.io.IOException
           1     4      77  Class org.graalvm.launcher.Launcher$AbortException
          10    12      77  Class org.graalvm.launcher.Launcher$AbortException
          81    83      84  Class java.io.IOException
           1     4      86  Class java.lang.RuntimeException
          10    12      86  Class java.lang.RuntimeException
          89    91      92  Class java.io.IOException
           1     4      94  any
          10    15      94  any
          21    23      94  any
          29    31      94  any
          37    39      94  any
          45    47      94  any
          53    55      94  any
          61    63      94  any
          69    71      94  any
          77    80      94  any
          86    88      94  any
          96    98      99  Class java.io.IOException
         102   104     105  Class java.io.IOException
    Signature: (Ljava/util/LinkedList<Ljava/lang/String;>;)I
    MethodParameters:
      Name  Flags
      cmds  

  java.nio.file.Path findGraalHome();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 499
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "GRAALVM_HOME"
         1: .line 500
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "GRAALVM_HOME"
            iconst_0
            invokeinterface org.graalvm.component.installer.CommandInput.getParameter:(Ljava/lang/String;Z)Ljava/lang/String;
         2: .line 501
            iconst_1
         3: .line 499
            invokeinterface org.graalvm.component.installer.CommandInput.getParameter:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            astore 1 /* graalHome */
        start local 1 // java.lang.String graalHome
         4: .line 502
            aload 1 /* graalHome */
            ifnonnull 9
         5: .line 504
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "GRAAL_HOME"
         6: .line 505
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "GRAAL_HOME"
            iconst_0
            invokeinterface org.graalvm.component.installer.CommandInput.getParameter:(Ljava/lang/String;Z)Ljava/lang/String;
         7: .line 506
            iconst_1
         8: .line 504
            invokeinterface org.graalvm.component.installer.CommandInput.getParameter:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            astore 1 /* graalHome */
         9: .line 508
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 2 /* graalPath */
        start local 2 // java.nio.file.Path graalPath
        10: .line 509
            aload 1 /* graalHome */
            ifnull 13
        11: .line 510
            aload 1 /* graalHome */
            invokestatic org.graalvm.component.installer.SystemUtils.fromUserString:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* graalPath */
        12: .line 511
            goto 32
        13: .line 512
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aconst_null
            astore 3 /* loc */
        start local 3 // java.net.URL loc
        14: .line 513
            ldc Lorg/graalvm/component/installer/ComponentInstaller;
            invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
            astore 4 /* pd */
        start local 4 // java.security.ProtectionDomain pd
        15: .line 514
            aload 4 /* pd */
            ifnull 19
        16: .line 515
            aload 4 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 5 /* cs */
        start local 5 // java.security.CodeSource cs
        17: .line 516
            aload 5 /* cs */
            ifnull 19
        18: .line 517
            aload 5 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            astore 3 /* loc */
        end local 5 // java.security.CodeSource cs
        19: .line 520
      StackMap locals: java.net.URL java.security.ProtectionDomain
      StackMap stack:
            aload 3 /* loc */
            ifnull 32
        20: .line 522
            new java.io.File
            dup
            aload 3 /* loc */
            invokevirtual java.net.URL.toURI:()Ljava/net/URI;
            invokespecial java.io.File.<init>:(Ljava/net/URI;)V
            astore 5 /* f */
        start local 5 // java.io.File f
        21: .line 523
            aload 5 /* f */
            invokevirtual java.io.File.isFile:()Z
            ifeq 22
            aload 5 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            goto 23
      StackMap locals: java.io.File
      StackMap stack:
        22: aload 5 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
        23: astore 6 /* guParent */
        start local 6 // java.nio.file.Path guParent
        24: .line 524
            aload 6 /* guParent */
            ifnull 32
        25: .line 525
            aload 6 /* guParent */
            ldc "../.."
            invokestatic org.graalvm.component.installer.SystemUtils.fromCommonString:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            astore 2 /* graalPath */
        26: .line 526
            aload 2 /* graalPath */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            astore 7 /* p */
        start local 7 // java.nio.file.Path p
        27: .line 527
            aload 7 /* p */
            ifnull 32
            ldc "lib"
            aload 7 /* p */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        28: .line 528
            aload 2 /* graalPath */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 2 /* graalPath */
        end local 7 // java.nio.file.Path p
        end local 6 // java.nio.file.Path guParent
        end local 5 // java.io.File f
        29: .line 531
            goto 32
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.lang.String java.nio.file.Path java.net.URL java.security.ProtectionDomain
      StackMap stack: java.net.URISyntaxException
        30: astore 5 /* ex */
        start local 5 // java.net.URISyntaxException ex
        31: .line 532
            ldc Lorg/graalvm/component/installer/ComponentInstaller;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aconst_null
            aload 5 /* ex */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.net.URISyntaxException ex
        end local 4 // java.security.ProtectionDomain pd
        end local 3 // java.net.URL loc
        32: .line 536
      StackMap locals:
      StackMap stack:
            aload 2 /* graalPath */
            ifnonnull 34
        33: .line 537
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            ldc "ERROR_NoGraalVMDirectory"
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.component.installer.Environment.failure:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
        34: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* graalPath */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 35
            aload 2 /* graalPath */
            ldc "release"
            invokestatic org.graalvm.component.installer.SystemUtils.fileName:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 36
        35: .line 540
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            ldc "ERROR_InvalidGraalVMDirectory"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* graalPath */
            aastore
            invokevirtual org.graalvm.component.installer.Environment.failure:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
        36: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* graalPath */
            ldc "lib/installer/components"
            invokestatic org.graalvm.component.installer.SystemUtils.fromCommonString:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            dup_x1
            putfield org.graalvm.component.installer.ComponentInstaller.storagePath:Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 38
        37: .line 543
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            ldc "ERROR_InvalidGraalVMDirectory"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* graalPath */
            aastore
            invokevirtual org.graalvm.component.installer.Environment.failure:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
        38: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* graalPath */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            putfield org.graalvm.component.installer.ComponentInstaller.graalHomePath:Ljava/nio/file/Path;
        39: .line 547
            ldc "java.library.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* libpath */
        start local 3 // java.lang.String libpath
        40: .line 548
            aload 3 /* libpath */
            ifnull 41
            aload 3 /* libpath */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 45
        41: .line 550
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* graalPath */
            iconst_1
            invokestatic org.graalvm.component.installer.SystemUtils.getRuntimeLibDir:(Ljava/nio/file/Path;Z)Ljava/nio/file/Path;
            astore 4 /* newLibPath */
        start local 4 // java.nio.file.Path newLibPath
        42: .line 551
            aload 4 /* newLibPath */
            ifnonnull 44
        43: .line 552
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            ldc "ERROR_UnknownSystem"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.component.installer.Environment.failure:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
        44: .line 554
      StackMap locals: java.nio.file.Path
      StackMap stack:
            ldc "java.library.path"
            aload 4 /* newLibPath */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        end local 4 // java.nio.file.Path newLibPath
        45: .line 556
      StackMap locals:
      StackMap stack:
            aload 2 /* graalPath */
            areturn
        end local 3 // java.lang.String libpath
        end local 2 // java.nio.file.Path graalPath
        end local 1 // java.lang.String graalHome
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   46     0        this  Lorg/graalvm/component/installer/ComponentInstaller;
            4   46     1   graalHome  Ljava/lang/String;
           10   46     2   graalPath  Ljava/nio/file/Path;
           14   32     3         loc  Ljava/net/URL;
           15   32     4          pd  Ljava/security/ProtectionDomain;
           17   19     5          cs  Ljava/security/CodeSource;
           21   29     5           f  Ljava/io/File;
           24   29     6    guParent  Ljava/nio/file/Path;
           27   29     7           p  Ljava/nio/file/Path;
           31   32     5          ex  Ljava/net/URISyntaxException;
           40   46     3     libpath  Ljava/lang/String;
           42   45     4  newLibPath  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
          20    29      30  Class java.net.URISyntaxException

  static void initGlobalOptions();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 560
            iconst_1
            invokedynamic accept()Ljava/util/function/Consumer;
              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;)V
                  org/graalvm/component/installer/ComponentInstaller.lambda$2(Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V (6)
                  (Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V
            invokestatic org.graalvm.component.installer.ComponentInstaller.forSoftwareChannels:(ZLjava/util/function/Consumer;)V
         1: .line 564
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 567
            invokestatic org.graalvm.component.installer.ComponentInstaller.initGlobalOptions:()V
         1: .line 569
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.cmdlineParams:Ljava/util/LinkedList;
            invokevirtual org.graalvm.component.installer.ComponentInstaller.processCommand:(Ljava/util/LinkedList;)I
            invokestatic java.lang.System.exit:(I)V
         2: .line 570
            goto 9
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.UserAbortException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.UserAbortException ex
         4: .line 571
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            ldc "ERROR_Aborted"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.UserAbortException.getMessage:()Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.component.installer.Environment.message:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.UserAbortException ex
         5: goto 9
         6: .line 572
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
         7: .line 573
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            ldc "ERROR_InternalError"
            aload 1 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.component.installer.Environment.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
         8: .line 574
            iconst_3
            invokestatic java.lang.System.exit:(I)V
        end local 1 // java.lang.Exception ex
         9: .line 576
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
            4    5     1    ex  Lorg/graalvm/component/installer/UserAbortException;
            7    9     1    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class org.graalvm.component.installer.UserAbortException
           1     2       6  Class java.lang.Exception

  java.lang.String getExplicitCatalogURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 579
            aconst_null
            astore 1 /* def */
        start local 1 // java.lang.String def
         1: .line 580
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "C"
            invokeinterface org.graalvm.component.installer.CommandInput.optValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* cmdLine */
        start local 2 // java.lang.String cmdLine
         2: .line 581
            aload 2 /* cmdLine */
            ifnull 4
         3: .line 582
            aload 2 /* cmdLine */
            astore 1 /* def */
         4: .line 584
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "GRAALVM_CATALOG"
            iconst_0
            invokeinterface org.graalvm.component.installer.CommandInput.getParameter:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* envVar */
        start local 3 // java.lang.String envVar
         5: .line 585
            aload 3 /* envVar */
            ifnull 7
         6: .line 586
            aload 3 /* envVar */
            astore 1 /* def */
         7: .line 588
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "org.graalvm.component.catalog"
            aload 1 /* def */
            iconst_1
            invokeinterface org.graalvm.component.installer.CommandInput.getParameter:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            astore 4 /* s */
        start local 4 // java.lang.String s
         8: .line 589
            aload 4 /* s */
            ifnonnull 10
         9: .line 590
            aconst_null
            areturn
        10: .line 592
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 5 /* useAsFile */
        start local 5 // boolean useAsFile
        11: .line 595
            aload 4 /* s */
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 6 /* check */
        start local 6 // java.net.URI check
        12: .line 596
            aload 6 /* check */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnull 13
            aload 6 /* check */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpge 17
        13: .line 597
      StackMap locals: int java.net.URI
      StackMap stack:
            iconst_1
            istore 5 /* useAsFile */
        end local 6 // java.net.URI check
        14: .line 599
            goto 17
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.lang.String java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.IllegalArgumentException
        15: pop
        16: .line 601
            iconst_1
            istore 5 /* useAsFile */
        17: .line 603
      StackMap locals:
      StackMap stack:
            iload 5 /* useAsFile */
            ifeq 21
        18: .line 604
            aload 4 /* s */
            invokestatic org.graalvm.component.installer.SystemUtils.fromUserString:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 6 /* p */
        start local 6 // java.nio.file.Path p
        19: .line 606
            aload 6 /* p */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifne 20
            aload 6 /* p */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 21
        20: .line 607
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 6 /* p */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.nio.file.Path p
        21: .line 610
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            areturn
        end local 5 // boolean useAsFile
        end local 4 // java.lang.String s
        end local 3 // java.lang.String envVar
        end local 2 // java.lang.String cmdLine
        end local 1 // java.lang.String def
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/graalvm/component/installer/ComponentInstaller;
            1   22     1        def  Ljava/lang/String;
            2   22     2    cmdLine  Ljava/lang/String;
            5   22     3     envVar  Ljava/lang/String;
            8   22     4          s  Ljava/lang/String;
           11   22     5  useAsFile  Z
           12   14     6      check  Ljava/net/URI;
           19   21     6          p  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
          11    14      15  Class java.lang.IllegalArgumentException

  private java.lang.String getReleaseCatalogURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 614
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.getLocalRegistry:()Lorg/graalvm/component/installer/model/ComponentRegistry;
            invokevirtual org.graalvm.component.installer.model.ComponentRegistry.getGraalCapabilities:()Ljava/util/Map;
            ldc "component_catalog"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 615
            aload 1 /* s */
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
            1    2     1     s  Ljava/lang/String;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 622
            new org.graalvm.component.installer.ComponentInstaller
            dup
            aload 0 /* args */
            invokespecial org.graalvm.component.installer.ComponentInstaller.<init>:([Ljava/lang/String;)V
            invokevirtual org.graalvm.component.installer.ComponentInstaller.run:()V
         1: .line 623
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  void configureLogging(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.Map properties
         0: .line 763
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* os */
        start local 2 // java.io.ByteArrayOutputStream os
         1: .line 764
            new java.io.PrintStream
            dup
            aload 2 /* os */
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* ps */
        start local 3 // java.io.PrintStream ps
         2: .line 765
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* keep */
        start local 4 // java.util.Collection keep
         3: .line 766
            iconst_0
            istore 5 /* rootLevelSet */
        start local 5 // boolean rootLevelSet
         4: .line 768
            aload 1 /* properties */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 19
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.Map java.io.ByteArrayOutputStream java.io.PrintStream java.util.Collection int top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* key */
        start local 6 // java.lang.String key
         6: .line 769
            aload 6 /* key */
            ldc "log."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 19
            aload 6 /* key */
            ldc ".level"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 19
         7: .line 770
            aload 1 /* properties */
            aload 6 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* v */
        start local 8 // java.lang.String v
         8: .line 771
            aload 8 /* v */
            ifnonnull 10
         9: .line 772
            goto 19
        10: .line 776
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.Map java.io.ByteArrayOutputStream java.io.PrintStream java.util.Collection int java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
            aload 6 /* key */
            invokevirtual java.lang.String.length:()I
            bipush 10
            if_icmple 13
        11: .line 777
            aload 6 /* key */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* k */
        start local 9 // java.lang.String k
        12: .line 778
            goto 15
        end local 9 // java.lang.String k
        13: .line 779
      StackMap locals:
      StackMap stack:
            ldc ".level"
            astore 9 /* k */
        start local 9 // java.lang.String k
        14: .line 780
            iconst_1
            istore 5 /* rootLevelSet */
        15: .line 782
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* ps */
            aload 9 /* k */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        16: .line 783
            aload 3 /* ps */
            bipush 61
            invokevirtual java.io.PrintStream.print:(C)V
        17: .line 784
            aload 3 /* ps */
            aload 8 /* v */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 785
            aload 4 /* keep */
            aload 9 /* k */
            iconst_0
            aload 9 /* k */
            invokevirtual java.lang.String.length:()I
            bipush 6
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String k
        end local 8 // java.lang.String v
        end local 6 // java.lang.String key
        19: .line 768
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.Map java.io.ByteArrayOutputStream java.io.PrintStream java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        20: .line 788
            iload 5 /* rootLevelSet */
            ifne 22
        21: .line 790
            aload 3 /* ps */
            ldc ".level=WARNING"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        22: .line 793
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.Map java.io.ByteArrayOutputStream java.io.PrintStream java.util.Collection int
      StackMap stack:
            aload 3 /* ps */
            ldc "java.util.logging.SimpleFormatter.format=[%4$-7s] %5$s %n"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 794
            aload 3 /* ps */
            ldc ""
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 796
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* os */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.util.logging.LogManager.readConfiguration:(Ljava/io/InputStream;)V
        25: .line 797
            goto 29
      StackMap locals:
      StackMap stack: java.io.IOException
        26: astore 6 /* ex */
        start local 6 // java.io.IOException ex
        27: .line 798
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "WARN_CouldNotInitializeLogManager"
            aload 6 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* ex */
            invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.component.installer.Environment.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        28: .line 799
            return
        end local 6 // java.io.IOException ex
        29: .line 802
      StackMap locals:
      StackMap stack:
            ldc ""
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            astore 6 /* logger */
        start local 6 // java.util.logging.Logger logger
        30: .line 804
            aload 6 /* logger */
            invokevirtual java.util.logging.Logger.getHandlers:()[Ljava/util/logging/Handler;
            astore 7 /* old */
        start local 7 // java.util.logging.Handler[] old
        31: .line 805
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.getLogFile:()Ljava/nio/file/Path;
            astore 8 /* p */
        start local 8 // java.nio.file.Path p
        32: .line 806
            aload 7 /* old */
            arraylength
            ifle 38
        33: .line 809
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        34: goto 37
        35: .line 810
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.Map java.io.ByteArrayOutputStream java.io.PrintStream java.util.Collection int java.util.logging.Logger java.util.logging.Handler[] java.nio.file.Path int
      StackMap stack:
            aload 7 /* old */
            iload 9 /* i */
            aaload
            getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Handler.setLevel:(Ljava/util/logging/Level;)V
        36: .line 809
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 9 /* i */
            aload 7 /* old */
            arraylength
            if_icmplt 35
        end local 9 // int i
        38: .line 813
      StackMap locals:
      StackMap stack:
            aload 7 /* old */
            arraylength
            ifeq 39
            aload 8 /* p */
            ifnull 48
        39: .line 814
      StackMap locals:
      StackMap stack:
            new org.graalvm.component.installer.ComponentInstaller$EnvStream
            dup
            aload 0 /* this */
            iconst_1
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokespecial org.graalvm.component.installer.ComponentInstaller$EnvStream.<init>:(Lorg/graalvm/component/installer/ComponentInstaller;ZLjava/io/OutputStream;)V
            astore 9 /* logOs */
        start local 9 // java.io.OutputStream logOs
        40: .line 816
            aload 8 /* p */
            ifnull 45
        41: .line 817
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.getLogFile:()Ljava/nio/file/Path;
            invokestatic org.graalvm.component.installer.ComponentInstaller.newLogStream:(Ljava/nio/file/Path;)Ljava/io/OutputStream;
            astore 9 /* logOs */
        42: .line 819
            goto 45
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.util.Map java.io.ByteArrayOutputStream java.io.PrintStream java.util.Collection int java.util.logging.Logger java.util.logging.Handler[] java.nio.file.Path java.io.OutputStream
      StackMap stack: java.io.IOException
        43: astore 10 /* ex */
        start local 10 // java.io.IOException ex
        44: .line 820
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "WARN_CouldNotCreateLog"
            aload 10 /* ex */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* p */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 10 /* ex */
            invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.component.installer.Environment.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        end local 10 // java.io.IOException ex
        45: .line 822
      StackMap locals:
      StackMap stack:
            new java.util.logging.StreamHandler
            dup
            aload 9 /* logOs */
            new java.util.logging.SimpleFormatter
            dup
            invokespecial java.util.logging.SimpleFormatter.<init>:()V
            invokespecial java.util.logging.StreamHandler.<init>:(Ljava/io/OutputStream;Ljava/util/logging/Formatter;)V
            astore 10 /* h */
        start local 10 // java.util.logging.Handler h
        46: .line 823
            aload 10 /* h */
            getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Handler.setLevel:(Ljava/util/logging/Level;)V
        47: .line 824
            aload 6 /* logger */
            aload 10 /* h */
            invokevirtual java.util.logging.Logger.addHandler:(Ljava/util/logging/Handler;)V
        end local 10 // java.util.logging.Handler h
        end local 9 // java.io.OutputStream logOs
        48: .line 826
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.nio.file.Path p
        end local 7 // java.util.logging.Handler[] old
        end local 6 // java.util.logging.Logger logger
        end local 5 // boolean rootLevelSet
        end local 4 // java.util.Collection keep
        end local 3 // java.io.PrintStream ps
        end local 2 // java.io.ByteArrayOutputStream os
        end local 1 // java.util.Map properties
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   49     0          this  Lorg/graalvm/component/installer/ComponentInstaller;
            0   49     1    properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   49     2            os  Ljava/io/ByteArrayOutputStream;
            2   49     3            ps  Ljava/io/PrintStream;
            3   49     4          keep  Ljava/util/Collection<Ljava/util/logging/Logger;>;
            4   49     5  rootLevelSet  Z
            6   19     6           key  Ljava/lang/String;
            8   19     8             v  Ljava/lang/String;
           12   13     9             k  Ljava/lang/String;
           14   19     9             k  Ljava/lang/String;
           27   29     6            ex  Ljava/io/IOException;
           30   49     6        logger  Ljava/util/logging/Logger;
           31   49     7           old  [Ljava/util/logging/Handler;
           32   49     8             p  Ljava/nio/file/Path;
           34   38     9             i  I
           40   48     9         logOs  Ljava/io/OutputStream;
           44   45    10            ex  Ljava/io/IOException;
           46   48    10             h  Ljava/util/logging/Handler;
      Exception table:
        from    to  target  type
          24    25      26  Class java.io.IOException
          40    42      43  Class java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      properties  

  protected boolean canPolyglot();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 830
            iconst_0
            ireturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  public void launch(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.List args
         0: .line 834
            aload 0 /* this */
            aload 1 /* args */
            aload 1 /* args */
            iconst_0
            invokevirtual org.graalvm.component.installer.ComponentInstaller.maybeNativeExec:(Ljava/util/List;Ljava/util/List;Z)V
         1: .line 842
            return
        end local 1 // java.util.List args
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    2     1  args  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      args  

  public java.util.Map<java.lang.String, java.lang.String> parseUnknownOptions(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.List uOpts
         0: .line 845
            aload 1 /* uOpts */
            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;
                  org/graalvm/component/installer/ComponentInstaller.lambda$3(Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            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
            astore 2 /* ooo */
        start local 2 // java.util.List ooo
         1: .line 846
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* polyOptions */
        start local 3 // java.util.Map polyOptions
         2: .line 847
            aload 0 /* this */
            aconst_null
            aload 3 /* polyOptions */
            aload 2 /* ooo */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.parseUnrecognizedOptions:(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
         3: .line 849
            aload 0 /* this */
            aload 3 /* polyOptions */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.configureLogging:(Ljava/util/Map;)V
         4: .line 851
            aload 3 /* polyOptions */
            areturn
        end local 3 // java.util.Map polyOptions
        end local 2 // java.util.List ooo
        end local 1 // java.util.List uOpts
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    5     1        uOpts  Ljava/util/List<Ljava/lang/String;>;
            1    5     2          ooo  Ljava/util/List<Ljava/lang/String;>;
            2    5     3  polyOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      uOpts  

  protected void printHelp(org.graalvm.options.OptionCategory);
    descriptor: (Lorg/graalvm/options/OptionCategory;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.options.OptionCategory maxCategory
         0: .line 856
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.ComponentInstaller.printUsage:(Lorg/graalvm/component/installer/Feedback;)V
         1: .line 857
            return
        end local 1 // org.graalvm.options.OptionCategory maxCategory
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    2     1  maxCategory  Lorg/graalvm/options/OptionCategory;
    MethodParameters:
             Name  Flags
      maxCategory  

  protected void printVersion();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 861
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            ldc "MSG_InstallerVersion"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 862
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.getLocalRegistry:()Lorg/graalvm/component/installer/model/ComponentRegistry;
            invokevirtual org.graalvm.component.installer.model.ComponentRegistry.getGraalVersion:()Lorg/graalvm/component/installer/Version;
            invokevirtual org.graalvm.component.installer.Version.displayString:()Ljava/lang/String;
            aastore
         2: .line 861
            invokeinterface org.graalvm.component.installer.Feedback.output:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 863
            return
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  public boolean runLauncher();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
         0: .line 866
            aload 0 /* this */
            invokespecial org.graalvm.launcher.Launcher.runLauncherAction:()Z
            ireturn
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/ComponentInstaller;

  protected void collectArguments(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.util.Set result
         0: .line 871
            aload 1 /* result */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.options:Lorg/graalvm/component/installer/SimpleGetopt;
            invokevirtual org.graalvm.component.installer.SimpleGetopt.getAllOptions:()Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 872
            return
        end local 1 // java.util.Set result
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    2     1  result  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      result  

  protected org.graalvm.options.OptionDescriptor findOptionDescriptor(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.lang.String group
        start local 2 // java.lang.String key
         0: .line 876
            aconst_null
            areturn
        end local 2 // java.lang.String key
        end local 1 // java.lang.String group
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    1     1  group  Ljava/lang/String;
            0    1     2    key  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      group  
      key    

  protected void executeJVM(java.lang.String, java.util.List<java.lang.String>, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.lang.String classpath
        start local 2 // java.util.List jvmArgs
        start local 3 // java.util.List remainingArgs
         0: .line 890
            invokestatic org.graalvm.component.installer.SystemUtils.isWindows:()Z
            ifeq 4
         1: .line 891
            aload 0 /* this */
            aload 1 /* classpath */
            aload 2 /* jvmArgs */
            aload 3 /* remainingArgs */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.executeJVMMode:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)I
            istore 4 /* retcode */
        start local 4 // int retcode
         2: .line 892
            iload 4 /* retcode */
            invokestatic java.lang.System.exit:(I)V
        end local 4 // int retcode
         3: .line 893
            goto 5
         4: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* classpath */
            aload 2 /* jvmArgs */
            aload 3 /* remainingArgs */
            invokespecial org.graalvm.launcher.Launcher.executeJVM:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
         5: .line 896
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List remainingArgs
        end local 2 // java.util.List jvmArgs
        end local 1 // java.lang.String classpath
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    6     1      classpath  Ljava/lang/String;
            0    6     2        jvmArgs  Ljava/util/List<Ljava/lang/String;>;
            0    6     3  remainingArgs  Ljava/util/List<Ljava/lang/String;>;
            2    3     4        retcode  I
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      classpath      
      jvmArgs        
      remainingArgs  

  int executeJVMMode(java.lang.String, java.util.List<java.lang.String>, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)I
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // java.lang.String classpath
        start local 2 // java.util.List jvmArgs
        start local 3 // java.util.List remainingArgs
         0: .line 899
            new org.graalvm.component.installer.os.WindowsJVMWrapper
            dup
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
         1: .line 900
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.getFileOperations:()Lorg/graalvm/component/installer/FileOperations;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            invokevirtual org.graalvm.component.installer.Environment.getGraalHomePath:()Ljava/nio/file/Path;
         2: .line 899
            invokespecial org.graalvm.component.installer.os.WindowsJVMWrapper.<init>:(Lorg/graalvm/component/installer/Feedback;Lorg/graalvm/component/installer/FileOperations;Ljava/nio/file/Path;)V
            astore 4 /* jvmWrapper */
        start local 4 // org.graalvm.component.installer.os.WindowsJVMWrapper jvmWrapper
         3: .line 901
            aload 4 /* jvmWrapper */
            aload 0 /* this */
            ldc "java"
            invokevirtual org.graalvm.component.installer.ComponentInstaller.getGraalVMBinaryPath:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 2 /* jvmArgs */
            invokevirtual org.graalvm.component.installer.os.WindowsJVMWrapper.vm:(Ljava/lang/String;Ljava/util/List;)Lorg/graalvm/component/installer/os/WindowsJVMWrapper;
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.ComponentInstaller.getMainClass:()Ljava/lang/String;
            invokevirtual org.graalvm.component.installer.os.WindowsJVMWrapper.mainClass:(Ljava/lang/String;)Lorg/graalvm/component/installer/os/WindowsJVMWrapper;
            aload 1 /* classpath */
            invokevirtual org.graalvm.component.installer.os.WindowsJVMWrapper.classpath:(Ljava/lang/String;)Lorg/graalvm/component/installer/os/WindowsJVMWrapper;
            aload 3 /* remainingArgs */
            invokevirtual org.graalvm.component.installer.os.WindowsJVMWrapper.args:(Ljava/util/List;)Lorg/graalvm/component/installer/os/WindowsJVMWrapper;
            pop
         4: .line 903
            aload 4 /* jvmWrapper */
            invokevirtual org.graalvm.component.installer.os.WindowsJVMWrapper.execute:()I
         5: ireturn
         6: .line 904
      StackMap locals: org.graalvm.component.installer.ComponentInstaller java.lang.String java.util.List java.util.List org.graalvm.component.installer.os.WindowsJVMWrapper
      StackMap stack: java.io.IOException
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
         7: .line 905
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.env:Lorg/graalvm/component/installer/Environment;
            ldc "ERR_InvokingJvmMode"
            aload 5 /* ex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
            invokevirtual org.graalvm.component.installer.Environment.failure:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.io.IOException ex
        end local 4 // org.graalvm.component.installer.os.WindowsJVMWrapper jvmWrapper
        end local 3 // java.util.List remainingArgs
        end local 2 // java.util.List jvmArgs
        end local 1 // java.lang.String classpath
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    8     1      classpath  Ljava/lang/String;
            0    8     2        jvmArgs  Ljava/util/List<Ljava/lang/String;>;
            0    8     3  remainingArgs  Ljava/util/List<Ljava/lang/String;>;
            3    8     4     jvmWrapper  Lorg/graalvm/component/installer/os/WindowsJVMWrapper;
            7    8     5             ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;)I
    MethodParameters:
               Name  Flags
      classpath      
      jvmArgs        
      remainingArgs  

  private static void lambda$0(org.graalvm.component.installer.Feedback, java.lang.StringBuilder, org.graalvm.component.installer.SoftwareChannel$Factory);
    descriptor: (Lorg/graalvm/component/installer/Feedback;Ljava/lang/StringBuilder;Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 2 // org.graalvm.component.installer.SoftwareChannel$Factory ch
         0: .line 203
            aload 2 /* ch */
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            aload 0
            invokeinterface org.graalvm.component.installer.SoftwareChannel$Factory.init:(Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
         1: .line 204
            aload 2 /* ch */
            invokeinterface org.graalvm.component.installer.SoftwareChannel$Factory.globalOptionsHelp:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         2: .line 205
            aload 3 /* s */
            ifnull 4
         3: .line 206
            aload 1
            aload 3 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.String s
         4: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.component.installer.SoftwareChannel$Factory ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     2    ch  Lorg/graalvm/component/installer/SoftwareChannel$Factory;
            2    4     3     s  Ljava/lang/String;

  private void lambda$1(org.graalvm.component.installer.SoftwareChannel$Factory);
    descriptor: (Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.ComponentInstaller this
        start local 1 // org.graalvm.component.installer.SoftwareChannel$Factory ch
         0: .line 299
            aload 1 /* ch */
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.input:Lorg/graalvm/component/installer/CommandInput;
            aload 0 /* this */
            getfield org.graalvm.component.installer.ComponentInstaller.feedback:Lorg/graalvm/component/installer/Feedback;
            invokeinterface org.graalvm.component.installer.SoftwareChannel$Factory.init:(Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
         1: .line 300
            return
        end local 1 // org.graalvm.component.installer.SoftwareChannel$Factory ch
        end local 0 // org.graalvm.component.installer.ComponentInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/ComponentInstaller;
            0    2     1    ch  Lorg/graalvm/component/installer/SoftwareChannel$Factory;

  private static void lambda$2(org.graalvm.component.installer.SoftwareChannel$Factory);
    descriptor: (Lorg/graalvm/component/installer/SoftwareChannel$Factory;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.SoftwareChannel$Factory ch
         0: .line 561
            aload 0 /* ch */
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            getstatic org.graalvm.component.installer.ComponentInstaller.SIMPLE_ENV:Lorg/graalvm/component/installer/Environment;
            invokeinterface org.graalvm.component.installer.SoftwareChannel$Factory.init:(Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
         1: .line 562
            getstatic org.graalvm.component.installer.ComponentInstaller.globalOptions:Ljava/util/Map;
            aload 0 /* ch */
            invokeinterface org.graalvm.component.installer.SoftwareChannel$Factory.globalOptions:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         2: .line 563
            return
        end local 0 // org.graalvm.component.installer.SoftwareChannel$Factory ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ch  Lorg/graalvm/component/installer/SoftwareChannel$Factory;

  private static java.lang.String lambda$3(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String o
         0: .line 845
            aload 0 /* o */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 1
            new java.lang.StringBuilder
            dup
            ldc "--"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.StringBuilder
            dup
            ldc "-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     o  Ljava/lang/String;
}
SourceFile: "ComponentInstaller.java"
NestMembers:
  org.graalvm.component.installer.ComponentInstaller$EnvStream
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract CatalogFactory = org.graalvm.component.installer.CommandInput$CatalogFactory of org.graalvm.component.installer.CommandInput
  final EnvStream = org.graalvm.component.installer.ComponentInstaller$EnvStream of org.graalvm.component.installer.ComponentInstaller
  public abstract Factory = org.graalvm.component.installer.SoftwareChannel$Factory of org.graalvm.component.installer.SoftwareChannel
  protected final AbortException = org.graalvm.launcher.Launcher$AbortException of org.graalvm.launcher.Launcher