public final class jdk.internal.module.ModuleBootstrap
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.module.ModuleBootstrap
  super_class: java.lang.Object
{
  private static final java.lang.String JAVA_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.base"

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

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

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

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

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

  private static final jdk.internal.module.ModulePatcher patcher;
    descriptor: Ljdk/internal/module/ModulePatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.module.ModuleFinder unlimitedFinder;
    descriptor: Ljava/lang/module/ModuleFinder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.module.ModuleFinder limitedFinder;
    descriptor: Ljava/lang/module/ModuleFinder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 68
            ldc Ljdk/internal/module/ModuleBootstrap;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.internal.module.ModuleBootstrap.$assertionsDisabled:Z
         3: .line 88
            invokestatic jdk.internal.module.ModuleBootstrap.initModulePatcher:()Ljdk/internal/module/ModulePatcher;
            putstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
         4: .line 885
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.module.ModuleBootstrap this
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.internal.module.ModuleBootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/module/ModuleBootstrap;

  public static jdk.internal.module.ModulePatcher patcher();
    descriptor: ()Ljdk/internal/module/ModulePatcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 98
            getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.module.ModuleFinder unlimitedFinder();
    descriptor: ()Ljava/lang/module/ModuleFinder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 106
            getstatic jdk.internal.module.ModuleBootstrap.$assertionsDisabled:Z
            ifne 1
            getstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 107
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.module.ModuleFinder limitedFinder();
    descriptor: ()Ljava/lang/module/ModuleFinder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 114
            getstatic jdk.internal.module.ModuleBootstrap.$assertionsDisabled:Z
            ifne 1
            getstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 115
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.ModuleLayer boot();
    descriptor: ()Ljava/lang/ModuleLayer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=32, args_size=0
         0: .line 127
            invokestatic java.lang.System.nanoTime:()J
            lstore 0 /* t1 */
        start local 0 // long t1
         1: .line 128
            invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
            astore 2 /* systemModules */
        start local 2 // java.lang.module.ModuleFinder systemModules
         2: .line 129
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.systemModulesTime:Ljdk/internal/perf/PerfCounter;
            lload 0 /* t1 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
         3: .line 137
            invokestatic java.lang.System.nanoTime:()J
            lstore 3 /* t2 */
        start local 3 // long t2
         4: .line 139
            aload 2 /* systemModules */
            ldc "java.base"
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.module.ModuleReference
            astore 5 /* base */
        start local 5 // java.lang.module.ModuleReference base
         5: .line 140
            aload 5 /* base */
            ifnonnull 7
         6: .line 141
            new java.lang.InternalError
            dup
            ldc "java.base not found"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 142
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference
      StackMap stack:
            aload 5 /* base */
            invokevirtual java.lang.module.ModuleReference.location:()Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.URI
            astore 6 /* baseUri */
        start local 6 // java.net.URI baseUri
         8: .line 143
            aload 6 /* baseUri */
            ifnonnull 10
         9: .line 144
            new java.lang.InternalError
            dup
            ldc "java.base does not have a location"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 145
      StackMap locals: java.net.URI
      StackMap stack:
            aload 5 /* base */
            invokestatic jdk.internal.loader.BootLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
        11: .line 146
            aconst_null
            aload 5 /* base */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            aload 6 /* baseUri */
            invokestatic jdk.internal.module.Modules.defineModule:(Ljava/lang/ClassLoader;Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;)Ljava/lang/Module;
            pop
        12: .line 148
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.defineBaseTime:Ljdk/internal/perf/PerfCounter;
            lload 3 /* t2 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
        13: .line 154
            ldc "jdk.module.minimumBoot"
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* propValue */
        start local 7 // java.lang.String propValue
        14: .line 155
            aload 7 /* propValue */
            ifnull 16
        15: .line 156
            invokestatic jdk.internal.module.ModuleBootstrap.createMinimalBootLayer:()Ljava/lang/ModuleLayer;
            areturn
        16: .line 164
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 8 /* t3 */
        start local 8 // long t3
        17: .line 168
            ldc "jdk.module.upgrade.path"
            invokestatic jdk.internal.module.ModuleBootstrap.createModulePathFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
        18: .line 167
            astore 10 /* upgradeModulePath */
        start local 10 // java.lang.module.ModuleFinder upgradeModulePath
        19: .line 169
            aload 10 /* upgradeModulePath */
            ifnull 21
        20: .line 170
            iconst_2
            anewarray java.lang.module.ModuleFinder
            dup
            iconst_0
            aload 10 /* upgradeModulePath */
            aastore
            dup
            iconst_1
            aload 2 /* systemModules */
            aastore
            invokestatic java.lang.module.ModuleFinder.compose:([Ljava/lang/module/ModuleFinder;)Ljava/lang/module/ModuleFinder;
            astore 2 /* systemModules */
        21: .line 173
      StackMap locals: long java.lang.module.ModuleFinder
      StackMap stack:
            ldc "jdk.module.path"
            invokestatic jdk.internal.module.ModuleBootstrap.createModulePathFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
            astore 11 /* appModulePath */
        start local 11 // java.lang.module.ModuleFinder appModulePath
        22: .line 176
            aload 2 /* systemModules */
            astore 12 /* finder */
        start local 12 // java.lang.module.ModuleFinder finder
        23: .line 177
            aload 11 /* appModulePath */
            ifnull 25
        24: .line 178
            iconst_2
            anewarray java.lang.module.ModuleFinder
            dup
            iconst_0
            aload 12 /* finder */
            aastore
            dup
            iconst_1
            aload 11 /* appModulePath */
            aastore
            invokestatic java.lang.module.ModuleFinder.compose:([Ljava/lang/module/ModuleFinder;)Ljava/lang/module/ModuleFinder;
            astore 12 /* finder */
        25: .line 181
      StackMap locals: java.lang.module.ModuleFinder java.lang.module.ModuleFinder
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* roots */
        start local 13 // java.util.Set roots
        26: .line 184
            ldc "jdk.module.main"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* mainModule */
        start local 14 // java.lang.String mainModule
        27: .line 185
            aload 14 /* mainModule */
            ifnull 29
        28: .line 186
            aload 13 /* roots */
            aload 14 /* mainModule */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 189
      StackMap locals: java.util.Set java.lang.String
      StackMap stack:
            iconst_0
            istore 15 /* addAllDefaultModules */
        start local 15 // boolean addAllDefaultModules
        30: .line 190
            iconst_0
            istore 16 /* addAllSystemModules */
        start local 16 // boolean addAllSystemModules
        31: .line 191
            iconst_0
            istore 17 /* addAllApplicationModules */
        start local 17 // boolean addAllApplicationModules
        32: .line 192
            invokestatic jdk.internal.module.ModuleBootstrap.getExtraAddModules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 19
            goto 45
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int top java.util.Iterator
      StackMap stack:
        33: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* mod */
        start local 18 // java.lang.String mod
        34: .line 193
            aload 18 /* mod */
            dup
            astore 20
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
          -1057501189: 35
            564408789: 36
           1070226586: 37
              default: 44
          }
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
        35: aload 20
            ldc "ALL-SYSTEM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 40
            goto 44
      StackMap locals:
      StackMap stack:
        36: aload 20
            ldc "ALL-DEFAULT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 38
            goto 44
      StackMap locals:
      StackMap stack:
        37: aload 20
            ldc "ALL-MODULE-PATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 42
            goto 44
        38: .line 195
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 15 /* addAllDefaultModules */
        39: .line 196
            goto 45
        40: .line 198
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* addAllSystemModules */
        41: .line 199
            goto 45
        42: .line 201
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 17 /* addAllApplicationModules */
        43: .line 202
            goto 45
        44: .line 204
      StackMap locals:
      StackMap stack:
            aload 13 /* roots */
            aload 18 /* mod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // java.lang.String mod
        45: .line 192
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int top java.util.Iterator
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        46: .line 209
            aload 12 /* finder */
            putstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
        47: .line 210
            ldc "jdk.module.limitmods"
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* propValue */
        48: .line 211
            aload 7 /* propValue */
            ifnull 56
        49: .line 212
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 18 /* mods */
        start local 18 // java.util.Set mods
        50: .line 213
            aload 7 /* propValue */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 54
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int java.util.Set top int int java.lang.String[]
      StackMap stack:
        51: aload 22
            iload 20
            aaload
            astore 19 /* mod */
        start local 19 // java.lang.String mod
        52: .line 214
            aload 18 /* mods */
            aload 19 /* mod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 19 // java.lang.String mod
        53: .line 213
            iinc 20 1
      StackMap locals:
      StackMap stack:
        54: iload 20
            iload 21
            if_icmplt 51
        55: .line 216
            aload 12 /* finder */
            aload 18 /* mods */
            aload 13 /* roots */
            invokestatic jdk.internal.module.ModuleBootstrap.limitFinder:(Ljava/lang/module/ModuleFinder;Ljava/util/Set;Ljava/util/Set;)Ljava/lang/module/ModuleFinder;
            astore 12 /* finder */
        end local 18 // java.util.Set mods
        56: .line 218
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int
      StackMap stack:
            aload 12 /* finder */
            putstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
        57: .line 227
            aload 14 /* mainModule */
            ifnull 58
            iload 15 /* addAllDefaultModules */
            ifeq 79
        58: .line 228
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 18 /* hasJava */
        start local 18 // boolean hasJava
        59: .line 229
            aload 2 /* systemModules */
            ldc "java.se"
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 63
        60: .line 231
            aload 12 /* finder */
            aload 2 /* systemModules */
            if_acmpeq 61
            aload 12 /* finder */
            ldc "java.se"
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 63
        61: .line 233
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 18 /* hasJava */
        62: .line 234
            aload 13 /* roots */
            ldc "java.se"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        63: .line 238
      StackMap locals:
      StackMap stack:
            aload 2 /* systemModules */
            invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 20
            goto 78
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int top java.util.Iterator
      StackMap stack:
        64: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ModuleReference
            astore 19 /* mref */
        start local 19 // java.lang.module.ModuleReference mref
        65: .line 239
            aload 19 /* mref */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            astore 21 /* mn */
        start local 21 // java.lang.String mn
        66: .line 240
            iload 18 /* hasJava */
            ifeq 68
            aload 21 /* mn */
            ldc "java."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 68
        67: .line 241
            goto 78
        68: .line 243
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int java.lang.module.ModuleReference java.util.Iterator java.lang.String
      StackMap stack:
            aload 19 /* mref */
            invokestatic jdk.internal.module.ModuleResolution.doNotResolveByDefault:(Ljava/lang/module/ModuleReference;)Z
            ifeq 70
        69: .line 244
            goto 78
        70: .line 247
      StackMap locals:
      StackMap stack:
            aload 12 /* finder */
            aload 2 /* systemModules */
            if_acmpeq 71
            aload 12 /* finder */
            aload 21 /* mn */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 78
        71: .line 248
      StackMap locals:
      StackMap stack:
            aload 19 /* mref */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            astore 22 /* descriptor */
        start local 22 // java.lang.module.ModuleDescriptor descriptor
        72: .line 249
            aload 22 /* descriptor */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 24
            goto 77
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int java.lang.module.ModuleReference java.util.Iterator java.lang.String java.lang.module.ModuleDescriptor top java.util.Iterator
      StackMap stack:
        73: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ModuleDescriptor$Exports
            astore 23 /* e */
        start local 23 // java.lang.module.ModuleDescriptor$Exports e
        74: .line 250
            aload 23 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.isQualified:()Z
            ifne 77
        75: .line 251
            aload 13 /* roots */
            aload 21 /* mn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        76: .line 252
            goto 78
        end local 23 // java.lang.module.ModuleDescriptor$Exports e
        77: .line 249
      StackMap locals:
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 73
        end local 22 // java.lang.module.ModuleDescriptor descriptor
        end local 21 // java.lang.String mn
        end local 19 // java.lang.module.ModuleReference mref
        78: .line 238
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 64
        end local 18 // boolean hasJava
        79: .line 261
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int
      StackMap stack:
            iload 16 /* addAllSystemModules */
            ifeq 87
        80: .line 262
            aload 12 /* finder */
            astore 18 /* f */
        start local 18 // java.lang.module.ModuleFinder f
        81: .line 263
            aload 2 /* systemModules */
            invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
        82: .line 264
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        83: .line 265
            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;
                  java/lang/module/ModuleReference.descriptor()Ljava/lang/module/ModuleDescriptor; (5)
                  (Ljava/lang/module/ModuleReference;)Ljava/lang/module/ModuleDescriptor;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        84: .line 266
            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;
                  java/lang/module/ModuleDescriptor.name()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        85: .line 267
            aload 18 /* f */
            invokedynamic test(Ljava/lang/module/ModuleFinder;)Ljava/util/function/Predicate;
              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;)Z
                  jdk/internal/module/ModuleBootstrap.lambda$2(Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        86: .line 268
            aload 13 /* roots */
            invokedynamic accept(Ljava/util/Set;)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
                  jdk/internal/module/ModuleBootstrap.lambda$3(Ljava/util/Set;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 18 // java.lang.module.ModuleFinder f
        87: .line 273
      StackMap locals:
      StackMap stack:
            aload 11 /* appModulePath */
            ifnull 95
            iload 17 /* addAllApplicationModules */
            ifeq 95
        88: .line 274
            aload 12 /* finder */
            astore 18 /* f */
        start local 18 // java.lang.module.ModuleFinder f
        89: .line 275
            aload 11 /* appModulePath */
            invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
        90: .line 276
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        91: .line 277
            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;
                  java/lang/module/ModuleReference.descriptor()Ljava/lang/module/ModuleDescriptor; (5)
                  (Ljava/lang/module/ModuleReference;)Ljava/lang/module/ModuleDescriptor;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        92: .line 278
            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;
                  java/lang/module/ModuleDescriptor.name()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        93: .line 279
            aload 18 /* f */
            invokedynamic test(Ljava/lang/module/ModuleFinder;)Ljava/util/function/Predicate;
              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;)Z
                  jdk/internal/module/ModuleBootstrap.lambda$6(Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        94: .line 280
            aload 13 /* roots */
            invokedynamic accept(Ljava/util/Set;)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
                  jdk/internal/module/ModuleBootstrap.lambda$7(Ljava/util/Set;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 18 // java.lang.module.ModuleFinder f
        95: .line 283
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.optionsAndRootsTime:Ljdk/internal/perf/PerfCounter;
            lload 8 /* t3 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
        96: .line 289
            invokestatic java.lang.System.nanoTime:()J
            lstore 18 /* t4 */
        start local 18 // long t4
        97: .line 292
            iconst_1
            istore 20 /* needPostResolutionChecks */
        start local 20 // boolean needPostResolutionChecks
        98: .line 293
            aload 6 /* baseUri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ldc "jrt"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 103
        99: .line 294
            aload 10 /* upgradeModulePath */
            ifnonnull 103
       100: .line 295
            aload 11 /* appModulePath */
            ifnonnull 103
       101: .line 296
            getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
            invokevirtual jdk.internal.module.ModulePatcher.isEmpty:()Z
            ifeq 103
       102: .line 297
            iconst_0
            istore 20 /* needPostResolutionChecks */
       103: .line 300
      StackMap locals: long int
      StackMap stack:
            aconst_null
            astore 21 /* traceOutput */
        start local 21 // java.io.PrintStream traceOutput
       104: .line 301
            ldc "jdk.module.showModuleResolution"
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* propValue */
       105: .line 302
            aload 7 /* propValue */
            ifnull 107
            aload 7 /* propValue */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 107
       106: .line 303
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            astore 21 /* traceOutput */
       107: .line 306
      StackMap locals: java.io.PrintStream
      StackMap stack:
            invokestatic jdk.internal.misc.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/misc/JavaLangModuleAccess;
       108: .line 307
            aload 12 /* finder */
       109: .line 308
            aload 13 /* roots */
       110: .line 309
            iload 20 /* needPostResolutionChecks */
       111: .line 310
            aload 21 /* traceOutput */
       112: .line 307
            invokeinterface jdk.internal.misc.JavaLangModuleAccess.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/util/Collection;ZLjava/io/PrintStream;)Ljava/lang/module/Configuration;
       113: .line 306
            astore 22 /* cf */
        start local 22 // java.lang.module.Configuration cf
       114: .line 312
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.resolveTime:Ljdk/internal/perf/PerfCounter;
            lload 18 /* t4 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
       115: .line 322
            invokestatic java.lang.System.nanoTime:()J
            lstore 23 /* t5 */
        start local 23 // long t5
       116: .line 325
            aload 22 /* cf */
            invokestatic jdk.internal.module.ModuleLoaderMap.mappingFunction:(Ljava/lang/module/Configuration;)Ljava/util/function/Function;
            astore 25 /* clf */
        start local 25 // java.util.function.Function clf
       117: .line 329
            iload 20 /* needPostResolutionChecks */
            ifeq 135
       118: .line 330
            aload 22 /* cf */
            invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 27
            goto 129
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function top java.util.Iterator
      StackMap stack:
       119: aload 27
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ResolvedModule
            astore 26 /* resolvedModule */
        start local 26 // java.lang.module.ResolvedModule resolvedModule
       120: .line 331
            aload 26 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
            astore 28 /* mref */
        start local 28 // java.lang.module.ModuleReference mref
       121: .line 332
            aload 28 /* mref */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            astore 29 /* name */
        start local 29 // java.lang.String name
       122: .line 333
            aload 25 /* clf */
            aload 29 /* name */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 30 /* cl */
        start local 30 // java.lang.ClassLoader cl
       123: .line 334
            aload 30 /* cl */
            ifnonnull 129
       124: .line 335
            aload 10 /* upgradeModulePath */
            ifnull 127
       125: .line 336
            aload 10 /* upgradeModulePath */
            aload 29 /* name */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 127
       126: .line 337
            new java.lang.StringBuilder
            dup
            aload 29 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": cannot be loaded from upgrade module path"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
       127: .line 338
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String java.lang.ClassLoader
      StackMap stack:
            aload 2 /* systemModules */
            aload 29 /* name */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 129
       128: .line 339
            new java.lang.StringBuilder
            dup
            aload 29 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": cannot be loaded from application module path"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        end local 30 // java.lang.ClassLoader cl
        end local 29 // java.lang.String name
        end local 28 // java.lang.module.ModuleReference mref
        end local 26 // java.lang.module.ResolvedModule resolvedModule
       129: .line 330
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function top java.util.Iterator
      StackMap stack:
            aload 27
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 119
       130: .line 344
            getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
            invokevirtual jdk.internal.module.ModulePatcher.patchedModules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 27
            goto 134
      StackMap locals:
      StackMap stack:
       131: aload 27
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 26 /* mn */
        start local 26 // java.lang.String mn
       132: .line 345
            aload 22 /* cf */
            aload 26 /* mn */
            invokevirtual java.lang.module.Configuration.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 134
       133: .line 346
            ldc "--patch-module"
            aload 26 /* mn */
            invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
        end local 26 // java.lang.String mn
       134: .line 344
      StackMap locals:
      StackMap stack:
            aload 27
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 131
       135: .line 352
      StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function
      StackMap stack:
            invokestatic jdk.internal.module.SystemModules.hasSplitPackages:()Z
            ifne 136
            iload 20 /* needPostResolutionChecks */
            ifeq 137
       136: .line 353
      StackMap locals:
      StackMap stack:
            aload 22 /* cf */
            aload 25 /* clf */
            invokestatic jdk.internal.module.ModuleBootstrap.checkSplitPackages:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
       137: .line 357
      StackMap locals:
      StackMap stack:
            aload 22 /* cf */
            aload 25 /* clf */
            invokestatic jdk.internal.module.ModuleBootstrap.loadModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
       138: .line 359
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.loadModulesTime:Ljdk/internal/perf/PerfCounter;
            lload 23 /* t5 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
       139: .line 364
            invokestatic java.lang.System.nanoTime:()J
            lstore 26 /* t6 */
        start local 26 // long t6
       140: .line 365
            invokestatic java.lang.ModuleLayer.empty:()Ljava/lang/ModuleLayer;
            aload 22 /* cf */
            aload 25 /* clf */
            invokevirtual java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
            astore 28 /* bootLayer */
        start local 28 // java.lang.ModuleLayer bootLayer
       141: .line 366
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.layerCreateTime:Ljdk/internal/perf/PerfCounter;
            lload 26 /* t6 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
       142: .line 372
            aload 22 /* cf */
            invokestatic jdk.internal.module.ModuleBootstrap.checkIncubatingStatus:(Ljava/lang/module/Configuration;)V
       143: .line 375
            invokestatic java.lang.System.nanoTime:()J
            lstore 29 /* t7 */
        start local 29 // long t7
       144: .line 376
            aload 28 /* bootLayer */
            invokestatic jdk.internal.module.ModuleBootstrap.addExtraReads:(Ljava/lang/ModuleLayer;)V
       145: .line 377
            aload 28 /* bootLayer */
            invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsAndOpens:(Ljava/lang/ModuleLayer;)Z
            istore 31 /* extraExportsOrOpens */
        start local 31 // boolean extraExportsOrOpens
       146: .line 378
            aload 28 /* bootLayer */
            aload 10 /* upgradeModulePath */
            iload 31 /* extraExportsOrOpens */
            invokestatic jdk.internal.module.ModuleBootstrap.addIllegalAccess:(Ljava/lang/ModuleLayer;Ljava/lang/module/ModuleFinder;Z)V
       147: .line 379
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.adjustModulesTime:Ljdk/internal/perf/PerfCounter;
            lload 29 /* t7 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
       148: .line 382
            getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.bootstrapTime:Ljdk/internal/perf/PerfCounter;
            lload 0 /* t1 */
            invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
       149: .line 384
            aload 28 /* bootLayer */
            areturn
        end local 31 // boolean extraExportsOrOpens
        end local 29 // long t7
        end local 28 // java.lang.ModuleLayer bootLayer
        end local 26 // long t6
        end local 25 // java.util.function.Function clf
        end local 23 // long t5
        end local 22 // java.lang.module.Configuration cf
        end local 21 // java.io.PrintStream traceOutput
        end local 20 // boolean needPostResolutionChecks
        end local 18 // long t4
        end local 17 // boolean addAllApplicationModules
        end local 16 // boolean addAllSystemModules
        end local 15 // boolean addAllDefaultModules
        end local 14 // java.lang.String mainModule
        end local 13 // java.util.Set roots
        end local 12 // java.lang.module.ModuleFinder finder
        end local 11 // java.lang.module.ModuleFinder appModulePath
        end local 10 // java.lang.module.ModuleFinder upgradeModulePath
        end local 8 // long t3
        end local 7 // java.lang.String propValue
        end local 6 // java.net.URI baseUri
        end local 5 // java.lang.module.ModuleReference base
        end local 3 // long t2
        end local 2 // java.lang.module.ModuleFinder systemModules
        end local 0 // long t1
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            1  150     0                        t1  J
            2  150     2             systemModules  Ljava/lang/module/ModuleFinder;
            4  150     3                        t2  J
            5  150     5                      base  Ljava/lang/module/ModuleReference;
            8  150     6                   baseUri  Ljava/net/URI;
           14  150     7                 propValue  Ljava/lang/String;
           17  150     8                        t3  J
           19  150    10         upgradeModulePath  Ljava/lang/module/ModuleFinder;
           22  150    11             appModulePath  Ljava/lang/module/ModuleFinder;
           23  150    12                    finder  Ljava/lang/module/ModuleFinder;
           26  150    13                     roots  Ljava/util/Set<Ljava/lang/String;>;
           27  150    14                mainModule  Ljava/lang/String;
           30  150    15      addAllDefaultModules  Z
           31  150    16       addAllSystemModules  Z
           32  150    17  addAllApplicationModules  Z
           34   45    18                       mod  Ljava/lang/String;
           50   56    18                      mods  Ljava/util/Set<Ljava/lang/String;>;
           52   53    19                       mod  Ljava/lang/String;
           59   79    18                   hasJava  Z
           65   78    19                      mref  Ljava/lang/module/ModuleReference;
           66   78    21                        mn  Ljava/lang/String;
           72   78    22                descriptor  Ljava/lang/module/ModuleDescriptor;
           74   77    23                         e  Ljava/lang/module/ModuleDescriptor$Exports;
           81   87    18                         f  Ljava/lang/module/ModuleFinder;
           89   95    18                         f  Ljava/lang/module/ModuleFinder;
           97  150    18                        t4  J
           98  150    20  needPostResolutionChecks  Z
          104  150    21               traceOutput  Ljava/io/PrintStream;
          114  150    22                        cf  Ljava/lang/module/Configuration;
          116  150    23                        t5  J
          117  150    25                       clf  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
          120  129    26            resolvedModule  Ljava/lang/module/ResolvedModule;
          121  129    28                      mref  Ljava/lang/module/ModuleReference;
          122  129    29                      name  Ljava/lang/String;
          123  129    30                        cl  Ljava/lang/ClassLoader;
          132  134    26                        mn  Ljava/lang/String;
          140  150    26                        t6  J
          141  150    28                 bootLayer  Ljava/lang/ModuleLayer;
          144  150    29                        t7  J
          146  150    31       extraExportsOrOpens  Z

  private static java.lang.ModuleLayer createMinimalBootLayer();
    descriptor: ()Ljava/lang/ModuleLayer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 391
            invokestatic jdk.internal.misc.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/misc/JavaLangModuleAccess;
         1: .line 392
            invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
         2: .line 393
            ldc "java.base"
            invokestatic java.util.Set.of:(Ljava/lang/Object;)Ljava/util/Set;
         3: .line 394
            iconst_0
         4: .line 395
            aconst_null
         5: .line 392
            invokeinterface jdk.internal.misc.JavaLangModuleAccess.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/util/Collection;ZLjava/io/PrintStream;)Ljava/lang/module/Configuration;
         6: .line 391
            astore 0 /* cf */
        start local 0 // java.lang.module.Configuration cf
         7: .line 397
            aload 0 /* cf */
            invokestatic jdk.internal.module.ModuleLoaderMap.mappingFunction:(Ljava/lang/module/Configuration;)Ljava/util/function/Function;
            astore 1 /* clf */
        start local 1 // java.util.function.Function clf
         8: .line 398
            invokestatic java.lang.ModuleLayer.empty:()Ljava/lang/ModuleLayer;
            aload 0 /* cf */
            aload 1 /* clf */
            invokevirtual java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
            areturn
        end local 1 // java.util.function.Function clf
        end local 0 // java.lang.module.Configuration cf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            7    9     0    cf  Ljava/lang/module/Configuration;
            8    9     1   clf  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;

  private static void loadModules(java.lang.module.Configuration, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
    descriptor: (Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.module.Configuration cf
        start local 1 // java.util.function.Function clf
         0: .line 406
            aload 0 /* cf */
            invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: java.lang.module.Configuration java.util.function.Function top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ResolvedModule
            astore 2 /* resolvedModule */
        start local 2 // java.lang.module.ResolvedModule resolvedModule
         2: .line 407
            aload 2 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
            astore 4 /* mref */
        start local 4 // java.lang.module.ModuleReference mref
         3: .line 408
            aload 2 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         4: .line 409
            aload 1 /* clf */
            aload 5 /* name */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 6 /* loader */
        start local 6 // java.lang.ClassLoader loader
         5: .line 410
            aload 6 /* loader */
            ifnonnull 9
         6: .line 412
            aload 5 /* name */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         7: .line 413
            aload 4 /* mref */
            invokestatic jdk.internal.loader.BootLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
         8: .line 415
            goto 11
      StackMap locals: java.lang.module.Configuration java.util.function.Function java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String java.lang.ClassLoader
      StackMap stack:
         9: aload 6 /* loader */
            instanceof jdk.internal.loader.BuiltinClassLoader
            ifeq 11
        10: .line 416
            aload 6 /* loader */
            checkcast jdk.internal.loader.BuiltinClassLoader
            aload 4 /* mref */
            invokevirtual jdk.internal.loader.BuiltinClassLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
        end local 6 // java.lang.ClassLoader loader
        end local 5 // java.lang.String name
        end local 4 // java.lang.module.ModuleReference mref
        end local 2 // java.lang.module.ResolvedModule resolvedModule
        11: .line 406
      StackMap locals: java.lang.module.Configuration java.util.function.Function top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 419
            return
        end local 1 // java.util.function.Function clf
        end local 0 // java.lang.module.Configuration cf
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0              cf  Ljava/lang/module/Configuration;
            0   13     1             clf  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
            2   11     2  resolvedModule  Ljava/lang/module/ResolvedModule;
            3   11     4            mref  Ljava/lang/module/ModuleReference;
            4   11     5            name  Ljava/lang/String;
            5   11     6          loader  Ljava/lang/ClassLoader;
    Signature: (Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
    MethodParameters:
      Name  Flags
      cf    
      clf   

  private static void checkSplitPackages(java.lang.module.Configuration, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
    descriptor: (Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // java.lang.module.Configuration cf
        start local 1 // java.util.function.Function clf
         0: .line 427
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* packageToModule */
        start local 2 // java.util.Map packageToModule
         1: .line 428
            aload 0 /* cf */
            invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 16
      StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ResolvedModule
            astore 3 /* resolvedModule */
        start local 3 // java.lang.module.ResolvedModule resolvedModule
         3: .line 429
            aload 3 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            astore 5 /* descriptor */
        start local 5 // java.lang.module.ModuleDescriptor descriptor
         4: .line 430
            aload 5 /* descriptor */
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 431
            aload 1 /* clf */
            aload 6 /* name */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 7 /* loader */
        start local 7 // java.lang.ClassLoader loader
         6: .line 432
            aload 7 /* loader */
            ifnull 7
            aload 7 /* loader */
            instanceof jdk.internal.loader.BuiltinClassLoader
            ifeq 16
         7: .line 433
      StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.ClassLoader
      StackMap stack:
            aload 5 /* descriptor */
            invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 15
      StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
         8: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* p */
        start local 8 // java.lang.String p
         9: .line 434
            aload 2 /* packageToModule */
            aload 8 /* p */
            aload 6 /* name */
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* other */
        start local 10 // java.lang.String other
        10: .line 435
            aload 10 /* other */
            ifnull 15
        11: .line 436
            new java.lang.StringBuilder
            dup
            ldc "Package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* p */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in both module "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 437
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " and module "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* other */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 436
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* msg */
        start local 11 // java.lang.String msg
        14: .line 438
            new java.lang.LayerInstantiationException
            dup
            aload 11 /* msg */
            invokespecial java.lang.LayerInstantiationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String msg
        end local 10 // java.lang.String other
        end local 8 // java.lang.String p
        15: .line 433
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 7 // java.lang.ClassLoader loader
        end local 6 // java.lang.String name
        end local 5 // java.lang.module.ModuleDescriptor descriptor
        end local 3 // java.lang.module.ResolvedModule resolvedModule
        16: .line 428
      StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        17: .line 444
            return
        end local 2 // java.util.Map packageToModule
        end local 1 // java.util.function.Function clf
        end local 0 // java.lang.module.Configuration cf
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0               cf  Ljava/lang/module/Configuration;
            0   18     1              clf  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
            1   18     2  packageToModule  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3   16     3   resolvedModule  Ljava/lang/module/ResolvedModule;
            4   16     5       descriptor  Ljava/lang/module/ModuleDescriptor;
            5   16     6             name  Ljava/lang/String;
            6   16     7           loader  Ljava/lang/ClassLoader;
            9   15     8                p  Ljava/lang/String;
           10   15    10            other  Ljava/lang/String;
           14   15    11              msg  Ljava/lang/String;
    Signature: (Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
    MethodParameters:
      Name  Flags
      cf    
      clf   

  private static java.lang.module.ModuleFinder limitFinder(java.lang.module.ModuleFinder, java.util.Set<java.lang.String>, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/module/ModuleFinder;Ljava/util/Set;Ljava/util/Set;)Ljava/lang/module/ModuleFinder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.module.ModuleFinder finder
        start local 1 // java.util.Set roots
        start local 2 // java.util.Set otherMods
         0: .line 455
            invokestatic java.lang.module.Configuration.empty:()Ljava/lang/module/Configuration;
            aload 0 /* finder */
            iconst_0
            anewarray java.nio.file.Path
         1: .line 456
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
         2: .line 457
            aload 1 /* roots */
         3: .line 455
            invokevirtual java.lang.module.Configuration.resolve:(Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleFinder;Ljava/util/Collection;)Ljava/lang/module/Configuration;
            astore 3 /* cf */
        start local 3 // java.lang.module.Configuration cf
         4: .line 460
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* map */
        start local 4 // java.util.Map map
         5: .line 463
            aload 3 /* cf */
            invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         6: .line 464
            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;
                  java/lang/module/ResolvedModule.reference()Ljava/lang/module/ModuleReference; (5)
                  (Ljava/lang/module/ResolvedModule;)Ljava/lang/module/ModuleReference;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         7: .line 465
            aload 4 /* map */
            invokedynamic accept(Ljava/util/Map;)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
                  jdk/internal/module/ModuleBootstrap.lambda$9(Ljava/util/Map;Ljava/lang/module/ModuleReference;)V (6)
                  (Ljava/lang/module/ModuleReference;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         8: .line 468
            aload 2 /* otherMods */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         9: .line 469
            aload 0 /* finder */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Ljava/lang/module/ModuleFinder;)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;
                  java/lang/module/ModuleFinder.find(Ljava/lang/String;)Ljava/util/Optional; (9 itf)
                  (Ljava/lang/String;)Ljava/util/Optional;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        10: .line 470
            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;
                  java/util/Optional.stream()Ljava/util/stream/Stream; (5)
                  (Ljava/util/Optional;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        11: .line 471
            aload 4 /* map */
            invokedynamic accept(Ljava/util/Map;)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
                  jdk/internal/module/ModuleBootstrap.lambda$12(Ljava/util/Map;Ljava/lang/module/ModuleReference;)V (6)
                  (Ljava/lang/module/ModuleReference;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        12: .line 474
            new java.util.HashSet
            dup
            aload 4 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* mrefs */
        start local 6 // java.util.Set mrefs
        13: .line 476
            new jdk.internal.module.ModuleBootstrap$1
            dup
            aload 4 /* map */
            aload 6 /* mrefs */
            invokespecial jdk.internal.module.ModuleBootstrap$1.<init>:(Ljava/util/Map;Ljava/util/Set;)V
            areturn
        end local 6 // java.util.Set mrefs
        end local 4 // java.util.Map map
        end local 3 // java.lang.module.Configuration cf
        end local 2 // java.util.Set otherMods
        end local 1 // java.util.Set roots
        end local 0 // java.lang.module.ModuleFinder finder
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0     finder  Ljava/lang/module/ModuleFinder;
            0   14     1      roots  Ljava/util/Set<Ljava/lang/String;>;
            0   14     2  otherMods  Ljava/util/Set<Ljava/lang/String;>;
            4   14     3         cf  Ljava/lang/module/Configuration;
            5   14     4        map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ModuleReference;>;
           13   14     6      mrefs  Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
    Signature: (Ljava/lang/module/ModuleFinder;Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/module/ModuleFinder;
    MethodParameters:
           Name  Flags
      finder     
      roots      
      otherMods  

  private static java.lang.module.ModuleFinder createModulePathFinder(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // java.lang.String prop
         0: .line 493
            aload 0 /* prop */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 494
            aload 1 /* s */
            ifnonnull 3
         2: .line 495
            aconst_null
            areturn
         3: .line 497
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* s */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* dirs */
        start local 2 // java.lang.String[] dirs
         4: .line 498
            aload 2 /* dirs */
            arraylength
            anewarray java.nio.file.Path
            astore 3 /* paths */
        start local 3 // java.nio.file.Path[] paths
         5: .line 499
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: .line 500
            aload 2 /* dirs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 10
      StackMap locals: java.lang.String java.lang.String java.lang.String[] java.nio.file.Path[] int top int int java.lang.String[]
      StackMap stack:
         7: aload 8
            iload 6
            aaload
            astore 5 /* dir */
        start local 5 // java.lang.String dir
         8: .line 501
            aload 3 /* paths */
            iload 4 /* i */
            iinc 4 /* i */ 1
            aload 5 /* dir */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aastore
        end local 5 // java.lang.String dir
         9: .line 500
            iinc 6 1
      StackMap locals:
      StackMap stack:
        10: iload 6
            iload 7
            if_icmplt 7
        11: .line 503
            getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
            aload 3 /* paths */
            invokestatic jdk.internal.module.ModulePath.of:(Ljdk/internal/module/ModulePatcher;[Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            areturn
        end local 4 // int i
        end local 3 // java.nio.file.Path[] paths
        end local 2 // java.lang.String[] dirs
        end local 1 // java.lang.String s
        end local 0 // java.lang.String prop
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   prop  Ljava/lang/String;
            1   12     1      s  Ljava/lang/String;
            4   12     2   dirs  [Ljava/lang/String;
            5   12     3  paths  [Ljava/nio/file/Path;
            6   12     4      i  I
            8    9     5    dir  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      prop  

  private static jdk.internal.module.ModulePatcher initModulePatcher();
    descriptor: ()Ljdk/internal/module/ModulePatcher;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 512
            ldc "jdk.module.patch."
         1: .line 513
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
         2: .line 514
            iconst_0
         3: .line 512
            invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map;
            astore 0 /* map */
        start local 0 // java.util.Map map
         4: .line 515
            new jdk.internal.module.ModulePatcher
            dup
            aload 0 /* map */
            invokespecial jdk.internal.module.ModulePatcher.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    5     0   map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  private static java.util.Set<java.lang.String> getExtraAddModules();
    descriptor: ()Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=0
         0: .line 523
            ldc "jdk.module.addmods."
            astore 0 /* prefix */
        start local 0 // java.lang.String prefix
         1: .line 524
            iconst_0
            istore 1 /* index */
        start local 1 // int index
         2: .line 527
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         3: .line 528
            aload 2 /* value */
            ifnonnull 5
         4: .line 529
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         5: .line 532
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* modules */
        start local 3 // java.util.Set modules
         6: .line 533
            goto 14
         7: .line 534
      StackMap locals: java.util.Set
      StackMap stack:
            aload 2 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 11
      StackMap locals: java.lang.String int java.lang.String java.util.Set top int int java.lang.String[]
      StackMap stack:
         8: aload 7
            iload 5
            aaload
            astore 4 /* s */
        start local 4 // java.lang.String s
         9: .line 535
            aload 4 /* s */
            invokevirtual java.lang.String.length:()I
            ifle 10
            aload 3 /* modules */
            aload 4 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String s
        10: .line 534
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        11: iload 5
            iload 6
            if_icmplt 8
        12: .line 537
            iinc 1 /* index */ 1
        13: .line 538
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        14: .line 533
      StackMap locals: java.lang.String int java.lang.String java.util.Set
      StackMap stack:
            aload 2 /* value */
            ifnonnull 7
        15: .line 541
            aload 3 /* modules */
            areturn
        end local 3 // java.util.Set modules
        end local 2 // java.lang.String value
        end local 1 // int index
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1   16     0   prefix  Ljava/lang/String;
            2   16     1    index  I
            3   16     2    value  Ljava/lang/String;
            6   16     3  modules  Ljava/util/Set<Ljava/lang/String;>;
            9   10     4        s  Ljava/lang/String;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private static void addExtraReads(java.lang.ModuleLayer);
    descriptor: (Ljava/lang/ModuleLayer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=1
        start local 0 // java.lang.ModuleLayer bootLayer
         0: .line 551
            ldc "jdk.module.addreads."
            invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;)Ljava/util/Map;
            astore 1 /* map */
        start local 1 // java.util.Map map
         1: .line 552
            aload 1 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 3
         2: .line 553
            return
         3: .line 555
      StackMap locals: java.util.Map
      StackMap stack:
            aload 1 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 22
      StackMap locals: java.lang.ModuleLayer java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* e */
        start local 2 // java.util.Map$Entry e
         5: .line 558
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* mn */
        start local 4 // java.lang.String mn
         6: .line 559
            aload 0 /* bootLayer */
            aload 4 /* mn */
            invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 5 /* om */
        start local 5 // java.util.Optional om
         7: .line 560
            aload 5 /* om */
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 10
         8: .line 561
            ldc "--add-reads"
            aload 4 /* mn */
            invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 562
            goto 22
        10: .line 564
      StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional
      StackMap stack:
            aload 5 /* om */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 6 /* m */
        start local 6 // java.lang.Module m
        11: .line 567
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional java.lang.Module top java.util.Iterator
      StackMap stack:
        12: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
        13: .line 568
            ldc "ALL-UNNAMED"
            aload 7 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 569
            aload 6 /* m */
            invokestatic jdk.internal.module.Modules.addReadsAllUnnamed:(Ljava/lang/Module;)V
        15: .line 570
            goto 21
        16: .line 571
      StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional java.lang.Module java.lang.String java.util.Iterator
      StackMap stack:
            aload 0 /* bootLayer */
            aload 7 /* name */
            invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 5 /* om */
        17: .line 572
            aload 5 /* om */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 20
        18: .line 573
            aload 6 /* m */
            aload 5 /* om */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Module
            invokestatic jdk.internal.module.Modules.addReads:(Ljava/lang/Module;Ljava/lang/Module;)V
        19: .line 574
            goto 21
        20: .line 575
      StackMap locals:
      StackMap stack:
            ldc "--add-reads"
            aload 7 /* name */
            invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String name
        21: .line 567
      StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional java.lang.Module top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 6 // java.lang.Module m
        end local 5 // java.util.Optional om
        end local 4 // java.lang.String mn
        end local 2 // java.util.Map$Entry e
        22: .line 555
      StackMap locals: java.lang.ModuleLayer java.util.Map top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        23: .line 580
            return
        end local 1 // java.util.Map map
        end local 0 // java.lang.ModuleLayer bootLayer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0  bootLayer  Ljava/lang/ModuleLayer;
            1   24     1        map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            5   22     2          e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6   22     4         mn  Ljava/lang/String;
            7   22     5         om  Ljava/util/Optional<Ljava/lang/Module;>;
           11   22     6          m  Ljava/lang/Module;
           13   21     7       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      bootLayer  

  private static boolean addExtraExportsAndOpens(java.lang.ModuleLayer);
    descriptor: (Ljava/lang/ModuleLayer;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.ModuleLayer bootLayer
         0: .line 587
            iconst_0
            istore 1 /* extraExportsOrOpens */
        start local 1 // boolean extraExportsOrOpens
         1: .line 590
            ldc "jdk.module.addexports."
            astore 2 /* prefix */
        start local 2 // java.lang.String prefix
         2: .line 591
            aload 2 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;)Ljava/util/Map;
            astore 3 /* extraExports */
        start local 3 // java.util.Map extraExports
         3: .line 592
            aload 3 /* extraExports */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 6
         4: .line 593
            aload 0 /* bootLayer */
            aload 3 /* extraExports */
            iconst_0
            invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsOrOpens:(Ljava/lang/ModuleLayer;Ljava/util/Map;Z)V
         5: .line 594
            iconst_1
            istore 1 /* extraExportsOrOpens */
         6: .line 599
      StackMap locals: int java.lang.String java.util.Map
      StackMap stack:
            ldc "jdk.module.addopens."
            astore 2 /* prefix */
         7: .line 600
            aload 2 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;)Ljava/util/Map;
            astore 4 /* extraOpens */
        start local 4 // java.util.Map extraOpens
         8: .line 601
            aload 4 /* extraOpens */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 11
         9: .line 602
            aload 0 /* bootLayer */
            aload 4 /* extraOpens */
            iconst_1
            invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsOrOpens:(Ljava/lang/ModuleLayer;Ljava/util/Map;Z)V
        10: .line 603
            iconst_1
            istore 1 /* extraExportsOrOpens */
        11: .line 606
      StackMap locals: java.util.Map
      StackMap stack:
            iload 1 /* extraExportsOrOpens */
            ireturn
        end local 4 // java.util.Map extraOpens
        end local 3 // java.util.Map extraExports
        end local 2 // java.lang.String prefix
        end local 1 // boolean extraExportsOrOpens
        end local 0 // java.lang.ModuleLayer bootLayer
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0            bootLayer  Ljava/lang/ModuleLayer;
            1   12     1  extraExportsOrOpens  Z
            2   12     2               prefix  Ljava/lang/String;
            3   12     3         extraExports  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            8   12     4           extraOpens  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
           Name  Flags
      bootLayer  

  private static void addExtraExportsOrOpens(java.lang.ModuleLayer, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, );
    descriptor: (Ljava/lang/ModuleLayer;Ljava/util/Map;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=16, args_size=3
        start local 0 // java.lang.ModuleLayer bootLayer
        start local 1 // java.util.Map map
        start local 2 // boolean opens
         0: .line 613
            iload 2 /* opens */
            ifeq 1
            ldc "--add-opens"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "--add-exports"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* option */
        start local 3 // java.lang.String option
         3: .line 614
            aload 1 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 45
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* e */
        start local 4 // java.util.Map$Entry e
         5: .line 617
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* key */
        start local 6 // java.lang.String key
         6: .line 618
            aload 6 /* key */
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* s */
        start local 7 // java.lang.String[] s
         7: .line 619
            aload 7 /* s */
            arraylength
            iconst_2
            if_icmpeq 9
         8: .line 620
            aload 3 /* option */
            ldc "<module>/<package>"
            aload 6 /* key */
            invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
         9: .line 622
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[]
      StackMap stack:
            aload 7 /* s */
            iconst_0
            aaload
            astore 8 /* mn */
        start local 8 // java.lang.String mn
        10: .line 623
            aload 7 /* s */
            iconst_1
            aaload
            astore 9 /* pn */
        start local 9 // java.lang.String pn
        11: .line 624
            aload 8 /* mn */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 12
            aload 9 /* pn */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 13
        12: .line 625
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* option */
            ldc "<module>/<package>"
            aload 6 /* key */
            invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        13: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* bootLayer */
            aload 8 /* mn */
            invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 11 /* om */
        start local 11 // java.util.Optional om
        14: .line 630
            aload 11 /* om */
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 17
        15: .line 631
            aload 3 /* option */
            aload 8 /* mn */
            invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 632
            goto 45
        17: .line 635
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String top java.util.Optional
      StackMap stack:
            aload 11 /* om */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 10 /* m */
        start local 10 // java.lang.Module m
        18: .line 637
            aload 10 /* m */
            invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
            aload 9 /* pn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 21
        19: .line 638
            new java.lang.StringBuilder
            dup
            ldc "package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* pn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* mn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.warn:(Ljava/lang/String;)V
        20: .line 639
            goto 45
        21: .line 643
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 44
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional top java.util.Iterator
      StackMap stack:
        22: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* name */
        start local 12 // java.lang.String name
        23: .line 644
            iconst_0
            istore 14 /* allUnnamed */
        start local 14 // boolean allUnnamed
        24: .line 645
            aconst_null
            astore 15 /* other */
        start local 15 // java.lang.Module other
        25: .line 646
            ldc "ALL-UNNAMED"
            aload 12 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 647
            iconst_1
            istore 14 /* allUnnamed */
        27: .line 648
            goto 34
        28: .line 649
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional java.lang.String java.util.Iterator int java.lang.Module
      StackMap stack:
            aload 0 /* bootLayer */
            aload 12 /* name */
            invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 11 /* om */
        29: .line 650
            aload 11 /* om */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 32
        30: .line 651
            aload 11 /* om */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 15 /* other */
        31: .line 652
            goto 34
        32: .line 653
      StackMap locals:
      StackMap stack:
            aload 3 /* option */
            aload 12 /* name */
            invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 654
            goto 44
        34: .line 657
      StackMap locals:
      StackMap stack:
            iload 14 /* allUnnamed */
            ifeq 40
        35: .line 658
            iload 2 /* opens */
            ifeq 38
        36: .line 659
            aload 10 /* m */
            aload 9 /* pn */
            invokestatic jdk.internal.module.Modules.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
        37: .line 660
            goto 44
        38: .line 661
      StackMap locals:
      StackMap stack:
            aload 10 /* m */
            aload 9 /* pn */
            invokestatic jdk.internal.module.Modules.addExportsToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
        39: .line 663
            goto 44
        40: .line 664
      StackMap locals:
      StackMap stack:
            iload 2 /* opens */
            ifeq 43
        41: .line 665
            aload 10 /* m */
            aload 9 /* pn */
            aload 15 /* other */
            invokestatic jdk.internal.module.Modules.addOpens:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
        42: .line 666
            goto 44
        43: .line 667
      StackMap locals:
      StackMap stack:
            aload 10 /* m */
            aload 9 /* pn */
            aload 15 /* other */
            invokestatic jdk.internal.module.Modules.addExports:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
        end local 15 // java.lang.Module other
        end local 14 // boolean allUnnamed
        end local 12 // java.lang.String name
        44: .line 643
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 11 // java.util.Optional om
        end local 10 // java.lang.Module m
        end local 9 // java.lang.String pn
        end local 8 // java.lang.String mn
        end local 7 // java.lang.String[] s
        end local 6 // java.lang.String key
        end local 4 // java.util.Map$Entry e
        45: .line 614
      StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        46: .line 673
            return
        end local 3 // java.lang.String option
        end local 2 // boolean opens
        end local 1 // java.util.Map map
        end local 0 // java.lang.ModuleLayer bootLayer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   47     0   bootLayer  Ljava/lang/ModuleLayer;
            0   47     1         map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            0   47     2       opens  Z
            3   47     3      option  Ljava/lang/String;
            5   45     4           e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6   45     6         key  Ljava/lang/String;
            7   45     7           s  [Ljava/lang/String;
           10   45     8          mn  Ljava/lang/String;
           11   45     9          pn  Ljava/lang/String;
           18   45    10           m  Ljava/lang/Module;
           14   45    11          om  Ljava/util/Optional<Ljava/lang/Module;>;
           23   44    12        name  Ljava/lang/String;
           24   44    14  allUnnamed  Z
           25   44    15       other  Ljava/lang/Module;
    Signature: (Ljava/lang/ModuleLayer;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;Z)V
    MethodParameters:
           Name  Flags
      bootLayer  
      map        
      opens      

  private static void addIllegalAccess(java.lang.ModuleLayer, java.lang.module.ModuleFinder, boolean);
    descriptor: (Ljava/lang/ModuleLayer;Ljava/lang/module/ModuleFinder;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=17, args_size=3
        start local 0 // java.lang.ModuleLayer bootLayer
        start local 1 // java.lang.module.ModuleFinder upgradeModulePath
        start local 2 // boolean extraExportsOrOpens
         0: .line 682
            ldc "jdk.module.illegalAccess"
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 683
            getstatic jdk.internal.module.IllegalAccessLogger$Mode.ONESHOT:Ljdk/internal/module/IllegalAccessLogger$Mode;
            astore 4 /* mode */
        start local 4 // jdk.internal.module.IllegalAccessLogger$Mode mode
         2: .line 684
            aload 3 /* value */
            ifnull 17
         3: .line 685
            aload 3 /* value */
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
           -991722469: 4
              3079692: 5
              3641990: 6
             95458899: 7
              default: 13
          }
      StackMap locals: java.lang.String jdk.internal.module.IllegalAccessLogger$Mode java.lang.String
      StackMap stack:
         4: aload 5
            ldc "permit"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 13
      StackMap locals:
      StackMap stack:
         5: aload 5
            ldc "deny"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 13
      StackMap locals:
      StackMap stack:
         6: aload 5
            ldc "warn"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 13
      StackMap locals:
      StackMap stack:
         7: aload 5
            ldc "debug"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 13
         8: .line 687
      StackMap locals:
      StackMap stack:
            return
         9: .line 691
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.IllegalAccessLogger$Mode.WARN:Ljdk/internal/module/IllegalAccessLogger$Mode;
            astore 4 /* mode */
        10: .line 692
            goto 17
        11: .line 694
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.IllegalAccessLogger$Mode.DEBUG:Ljdk/internal/module/IllegalAccessLogger$Mode;
            astore 4 /* mode */
        12: .line 695
            goto 17
        13: .line 697
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Value specified to --illegal-access not recognized: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 698
            aload 3 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 697
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        16: .line 699
            return
        17: .line 703
      StackMap locals:
      StackMap stack:
            new jdk.internal.module.IllegalAccessLogger$Builder
            dup
            aload 4 /* mode */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokespecial jdk.internal.module.IllegalAccessLogger$Builder.<init>:(Ljdk/internal/module/IllegalAccessLogger$Mode;Ljava/io/PrintStream;)V
        18: .line 702
            astore 6 /* builder */
        start local 6 // jdk.internal.module.IllegalAccessLogger$Builder builder
        19: .line 705
            invokestatic jdk.internal.module.SystemModules.concealedPackagesToOpen:()Ljava/util/Map;
            astore 7 /* map1 */
        start local 7 // java.util.Map map1
        20: .line 706
            invokestatic jdk.internal.module.SystemModules.exportedPackagesToOpen:()Ljava/util/Map;
            astore 8 /* map2 */
        start local 8 // java.util.Map map2
        21: .line 707
            aload 7 /* map1 */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 25
            aload 8 /* map2 */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 25
        22: .line 709
            invokestatic jdk.internal.module.ModuleBootstrap.limitedFinder:()Ljava/lang/module/ModuleFinder;
            invokestatic jdk.internal.module.IllegalAccessMaps.generate:(Ljava/lang/module/ModuleFinder;)Ljdk/internal/module/IllegalAccessMaps;
            astore 9 /* maps */
        start local 9 // jdk.internal.module.IllegalAccessMaps maps
        23: .line 710
            aload 9 /* maps */
            invokevirtual jdk.internal.module.IllegalAccessMaps.concealedPackagesToOpen:()Ljava/util/Map;
            astore 7 /* map1 */
        24: .line 711
            aload 9 /* maps */
            invokevirtual jdk.internal.module.IllegalAccessMaps.exportedPackagesToOpen:()Ljava/util/Map;
            astore 8 /* map2 */
        end local 9 // jdk.internal.module.IllegalAccessMaps maps
        25: .line 715
      StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map
      StackMap stack:
            aload 0 /* bootLayer */
            invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 58
      StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        26: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 9 /* m */
        start local 9 // java.lang.Module m
        27: .line 716
            aload 9 /* m */
            invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
            astore 11 /* descriptor */
        start local 11 // java.lang.module.ModuleDescriptor descriptor
        28: .line 717
            aload 9 /* m */
            invokevirtual java.lang.Module.getName:()Ljava/lang/String;
            astore 12 /* name */
        start local 12 // java.lang.String name
        29: .line 720
            aload 11 /* descriptor */
            invokevirtual java.lang.module.ModuleDescriptor.isOpen:()Z
            ifeq 31
        30: .line 721
            goto 58
        31: .line 725
      StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map java.lang.Module java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String
      StackMap stack:
            aload 1 /* upgradeModulePath */
            ifnull 34
        32: .line 726
            aload 1 /* upgradeModulePath */
            aload 12 /* name */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 34
        33: .line 727
            goto 58
        34: .line 730
      StackMap locals:
      StackMap stack:
            aload 7 /* map1 */
            aload 12 /* name */
            invokestatic java.util.Set.of:()Ljava/util/Set;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 13 /* concealedPackages */
        start local 13 // java.util.Set concealedPackages
        35: .line 731
            aload 8 /* map2 */
            aload 12 /* name */
            invokestatic java.util.Set.of:()Ljava/util/Set;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 14 /* exportedPackages */
        start local 14 // java.util.Set exportedPackages
        36: .line 734
            iload 2 /* extraExportsOrOpens */
            ifeq 52
        37: .line 735
            new java.util.HashSet
            dup
            aload 13 /* concealedPackages */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 13 /* concealedPackages */
        38: .line 736
            new java.util.HashSet
            dup
            aload 14 /* exportedPackages */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 14 /* exportedPackages */
        39: .line 737
            aload 13 /* concealedPackages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15 /* iterator */
        start local 15 // java.util.Iterator iterator
        40: .line 738
            goto 45
        41: .line 739
      StackMap locals: java.util.Set java.util.Set java.util.Iterator
      StackMap stack:
            aload 15 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* pn */
        start local 16 // java.lang.String pn
        42: .line 740
            aload 9 /* m */
            aload 16 /* pn */
            invokestatic jdk.internal.loader.BootLoader.getUnnamedModule:()Ljava/lang/Module;
            invokevirtual java.lang.Module.isExported:(Ljava/lang/String;Ljava/lang/Module;)Z
            ifeq 45
        43: .line 742
            aload 15 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        44: .line 743
            aload 14 /* exportedPackages */
            aload 16 /* pn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.lang.String pn
        45: .line 738
      StackMap locals:
      StackMap stack:
            aload 15 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        46: .line 746
            aload 14 /* exportedPackages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15 /* iterator */
        47: .line 747
            goto 51
        48: .line 748
      StackMap locals:
      StackMap stack:
            aload 15 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* pn */
        start local 16 // java.lang.String pn
        49: .line 749
            aload 9 /* m */
            aload 16 /* pn */
            invokestatic jdk.internal.loader.BootLoader.getUnnamedModule:()Ljava/lang/Module;
            invokevirtual java.lang.Module.isOpen:(Ljava/lang/String;Ljava/lang/Module;)Z
            ifeq 51
        50: .line 751
            aload 15 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        end local 16 // java.lang.String pn
        51: .line 747
      StackMap locals:
      StackMap stack:
            aload 15 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        end local 15 // java.util.Iterator iterator
        52: .line 757
      StackMap locals:
      StackMap stack:
            aload 6 /* builder */
            aload 9 /* m */
            aload 13 /* concealedPackages */
            invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.logAccessToConcealedPackages:(Ljava/lang/Module;Ljava/util/Set;)Ljdk/internal/module/IllegalAccessLogger$Builder;
            pop
        53: .line 760
            aload 6 /* builder */
            aload 9 /* m */
            aload 14 /* exportedPackages */
            invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.logAccessToExportedPackages:(Ljava/lang/Module;Ljava/util/Set;)Ljdk/internal/module/IllegalAccessLogger$Builder;
            pop
        54: .line 763
            invokestatic jdk.internal.misc.SharedSecrets.getJavaLangAccess:()Ljdk/internal/misc/JavaLangAccess;
            astore 15 /* jla */
        start local 15 // jdk.internal.misc.JavaLangAccess jla
        55: .line 764
            aload 15 /* jla */
            aload 9 /* m */
            aload 13 /* concealedPackages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
        56: .line 765
            aload 14 /* exportedPackages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
        57: .line 764
            invokestatic jdk.internal.module.ModuleBootstrap.concat:(Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/util/Iterator;
            invokeinterface jdk.internal.misc.JavaLangAccess.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/util/Iterator;)V
        end local 15 // jdk.internal.misc.JavaLangAccess jla
        end local 14 // java.util.Set exportedPackages
        end local 13 // java.util.Set concealedPackages
        end local 12 // java.lang.String name
        end local 11 // java.lang.module.ModuleDescriptor descriptor
        end local 9 // java.lang.Module m
        58: .line 715
      StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        59: .line 768
            aload 6 /* builder */
            invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.complete:()V
        60: .line 769
            return
        end local 8 // java.util.Map map2
        end local 7 // java.util.Map map1
        end local 6 // jdk.internal.module.IllegalAccessLogger$Builder builder
        end local 4 // jdk.internal.module.IllegalAccessLogger$Mode mode
        end local 3 // java.lang.String value
        end local 2 // boolean extraExportsOrOpens
        end local 1 // java.lang.module.ModuleFinder upgradeModulePath
        end local 0 // java.lang.ModuleLayer bootLayer
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   61     0            bootLayer  Ljava/lang/ModuleLayer;
            0   61     1    upgradeModulePath  Ljava/lang/module/ModuleFinder;
            0   61     2  extraExportsOrOpens  Z
            1   61     3                value  Ljava/lang/String;
            2   61     4                 mode  Ljdk/internal/module/IllegalAccessLogger$Mode;
           19   61     6              builder  Ljdk/internal/module/IllegalAccessLogger$Builder;
           20   61     7                 map1  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
           21   61     8                 map2  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
           23   25     9                 maps  Ljdk/internal/module/IllegalAccessMaps;
           27   58     9                    m  Ljava/lang/Module;
           28   58    11           descriptor  Ljava/lang/module/ModuleDescriptor;
           29   58    12                 name  Ljava/lang/String;
           35   58    13    concealedPackages  Ljava/util/Set<Ljava/lang/String;>;
           36   58    14     exportedPackages  Ljava/util/Set<Ljava/lang/String;>;
           40   52    15             iterator  Ljava/util/Iterator<Ljava/lang/String;>;
           42   45    16                   pn  Ljava/lang/String;
           49   51    16                   pn  Ljava/lang/String;
           55   58    15                  jla  Ljdk/internal/misc/JavaLangAccess;
    MethodParameters:
                     Name  Flags
      bootLayer            
      upgradeModulePath    
      extraExportsOrOpens  

  private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> decode(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=15, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // java.lang.String regex
        start local 2 // boolean allowDuplicates
         0: .line 781
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: .line 783
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         2: .line 784
            aload 4 /* value */
            ifnonnull 4
         3: .line 785
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
         4: .line 787
      StackMap locals: int java.lang.String
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* map */
        start local 5 // java.util.Map map
         5: .line 789
            goto 30
         6: .line 791
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* value */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* pos */
        start local 6 // int pos
         7: .line 792
            iload 6 /* pos */
            iconst_m1
            if_icmpne 9
         8: .line 793
            aload 0 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
            ldc "<module>=<value>"
            aload 4 /* value */
            invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
         9: .line 794
      StackMap locals: int
      StackMap stack:
            iload 6 /* pos */
            ifne 11
        10: .line 795
            aload 0 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
            ldc "<module>=<value>"
            aload 4 /* value */
            invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        11: .line 798
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            iconst_0
            iload 6 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* key */
        start local 7 // java.lang.String key
        12: .line 800
            aload 4 /* value */
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 8 /* rhs */
        start local 8 // java.lang.String rhs
        13: .line 801
            aload 8 /* rhs */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 15
        14: .line 802
            aload 0 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
            ldc "<module>=<value>"
            aload 4 /* value */
            invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        15: .line 805
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 2 /* allowDuplicates */
            ifne 17
            aload 5 /* map */
            aload 7 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 806
            new java.lang.StringBuilder
            dup
            aload 7 /* key */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " specified more than once to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        17: .line 807
      StackMap locals:
      StackMap stack:
            aload 5 /* map */
            aload 7 /* key */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/module/ModuleBootstrap.lambda$13(Ljava/lang/String;)Ljava/util/List; (6)
                  (Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* values */
        start local 9 // java.util.List values
        18: .line 808
            iconst_0
            istore 10 /* ntargets */
        start local 10 // int ntargets
        19: .line 809
            aload 8 /* rhs */
            aload 1 /* regex */
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 25
      StackMap locals: java.lang.String java.lang.String int int java.lang.String java.util.Map int java.lang.String java.lang.String java.util.List int top int int java.lang.String[]
      StackMap stack:
        20: aload 14
            iload 12
            aaload
            astore 11 /* s */
        start local 11 // java.lang.String s
        21: .line 810
            aload 11 /* s */
            invokevirtual java.lang.String.length:()I
            ifle 24
        22: .line 811
            aload 9 /* values */
            aload 11 /* s */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 812
            iinc 10 /* ntargets */ 1
        end local 11 // java.lang.String s
        24: .line 809
      StackMap locals:
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
        25: iload 12
            iload 13
            if_icmplt 20
        26: .line 815
            iload 10 /* ntargets */
            ifne 28
        27: .line 816
            new java.lang.StringBuilder
            dup
            ldc "Target must be specified: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* prefix */
            invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
        28: .line 818
      StackMap locals: java.lang.String java.lang.String int int java.lang.String java.util.Map int java.lang.String java.lang.String java.util.List int
      StackMap stack:
            iinc 3 /* index */ 1
        29: .line 819
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        end local 10 // int ntargets
        end local 9 // java.util.List values
        end local 8 // java.lang.String rhs
        end local 7 // java.lang.String key
        end local 6 // int pos
        30: .line 789
      StackMap locals: java.lang.String java.lang.String int int java.lang.String java.util.Map
      StackMap stack:
            aload 4 /* value */
            ifnonnull 6
        31: .line 822
            aload 5 /* map */
            areturn
        end local 5 // java.util.Map map
        end local 4 // java.lang.String value
        end local 3 // int index
        end local 2 // boolean allowDuplicates
        end local 1 // java.lang.String regex
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0           prefix  Ljava/lang/String;
            0   32     1            regex  Ljava/lang/String;
            0   32     2  allowDuplicates  Z
            1   32     3            index  I
            2   32     4            value  Ljava/lang/String;
            5   32     5              map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            7   30     6              pos  I
           12   30     7              key  Ljava/lang/String;
           13   30     8              rhs  Ljava/lang/String;
           18   30     9           values  Ljava/util/List<Ljava/lang/String;>;
           19   30    10         ntargets  I
           21   24    11                s  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
                 Name  Flags
      prefix           
      regex            
      allowDuplicates  

  private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> decode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String prefix
         0: .line 830
            aload 0 /* prefix */
            ldc ","
            iconst_1
            invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map;
            areturn
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  prefix  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
        Name  Flags
      prefix  

  private static java.lang.String getAndRemoveProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 837
            invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
            aload 0 /* key */
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  private static void checkIncubatingStatus(java.lang.module.Configuration);
    descriptor: (Ljava/lang/module/Configuration;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.module.Configuration cf
         0: .line 844
            aconst_null
            astore 1 /* incubating */
        start local 1 // java.lang.String incubating
         1: .line 845
            aload 0 /* cf */
            invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: java.lang.module.Configuration java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ResolvedModule
            astore 2 /* resolvedModule */
        start local 2 // java.lang.module.ResolvedModule resolvedModule
         3: .line 846
            aload 2 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
            astore 4 /* mref */
        start local 4 // java.lang.module.ModuleReference mref
         4: .line 849
            aload 4 /* mref */
            invokestatic jdk.internal.module.ModuleResolution.hasIncubatingWarning:(Ljava/lang/module/ModuleReference;)Z
            ifeq 10
         5: .line 850
            aload 4 /* mref */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            astore 5 /* mn */
        start local 5 // java.lang.String mn
         6: .line 851
            aload 1 /* incubating */
            ifnonnull 9
         7: .line 852
            aload 5 /* mn */
            astore 1 /* incubating */
         8: .line 853
            goto 10
         9: .line 854
      StackMap locals: java.lang.module.Configuration java.lang.String java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* incubating */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* mn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* incubating */
        end local 5 // java.lang.String mn
        end local 4 // java.lang.module.ModuleReference mref
        end local 2 // java.lang.module.ResolvedModule resolvedModule
        10: .line 845
      StackMap locals: java.lang.module.Configuration java.lang.String top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 858
            aload 1 /* incubating */
            ifnull 13
        12: .line 859
            new java.lang.StringBuilder
            dup
            ldc "Using incubator modules: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* incubating */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.warn:(Ljava/lang/String;)V
        13: .line 860
      StackMap locals: java.lang.module.Configuration java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String incubating
        end local 0 // java.lang.module.Configuration cf
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0              cf  Ljava/lang/module/Configuration;
            1   14     1      incubating  Ljava/lang/String;
            3   10     2  resolvedModule  Ljava/lang/module/ResolvedModule;
            4   10     4            mref  Ljava/lang/module/ModuleReference;
            6   10     5              mn  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cf    

  static void fail(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String m
         0: .line 866
            new java.lang.RuntimeException
            dup
            aload 0 /* m */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     

  static void warn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String m
         0: .line 870
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 871
            return
        end local 0 // java.lang.String m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     m  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     

  static void warnUnknownModule(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String option
        start local 1 // java.lang.String mn
         0: .line 874
            new java.lang.StringBuilder
            dup
            ldc "Unknown module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " specified to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleBootstrap.warn:(Ljava/lang/String;)V
         1: .line 875
            return
        end local 1 // java.lang.String mn
        end local 0 // java.lang.String option
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  option  Ljava/lang/String;
            0    2     1      mn  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  
      mn      

  static java.lang.String unableToParse(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String option
        start local 1 // java.lang.String text
        start local 2 // java.lang.String value
         0: .line 878
            new java.lang.StringBuilder
            dup
            ldc "Unable to parse "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String text
        end local 0 // java.lang.String option
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  option  Ljava/lang/String;
            0    1     1    text  Ljava/lang/String;
            0    1     2   value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  
      text    
      value   

  static java.lang.String option(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String prefix
         0: .line 893
            aload 0 /* prefix */
            dup
            astore 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 5
          -1634796447: 1
            693588459: 2
            919126689: 3
            994726637: 4
           1390198411: 5
              default: 11
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 1
            ldc "jdk.module.addmods."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 11
      StackMap locals:
      StackMap stack:
         2: aload 1
            ldc "jdk.module.patch."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 11
      StackMap locals:
      StackMap stack:
         3: aload 1
            ldc "jdk.module.addopens."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 1
            ldc "jdk.module.addreads."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 11
      StackMap locals:
      StackMap stack:
         5: aload 1
            ldc "jdk.module.addexports."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 11
         6: .line 895
      StackMap locals:
      StackMap stack:
            ldc "--add-exports"
            areturn
         7: .line 897
      StackMap locals:
      StackMap stack:
            ldc "--add-opens"
            areturn
         8: .line 899
      StackMap locals:
      StackMap stack:
            ldc "--add-reads"
            areturn
         9: .line 901
      StackMap locals:
      StackMap stack:
            ldc "--patch-module"
            areturn
        10: .line 903
      StackMap locals:
      StackMap stack:
            ldc "--add-modules"
            areturn
        11: .line 905
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* prefix */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  static <T> java.util.Iterator<T> concat(java.util.Iterator<T>, java.util.Iterator<T>);
    descriptor: (Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/util/Iterator;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Iterator iterator1
        start local 1 // java.util.Iterator iterator2
         0: .line 910
            new jdk.internal.module.ModuleBootstrap$2
            dup
            aload 0 /* iterator1 */
            aload 1 /* iterator2 */
            invokespecial jdk.internal.module.ModuleBootstrap$2.<init>:(Ljava/util/Iterator;Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iterator2
        end local 0 // java.util.Iterator iterator1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  iterator1  Ljava/util/Iterator<TT;>;
            0    1     1  iterator2  Ljava/util/Iterator<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Iterator<TT;>;Ljava/util/Iterator<TT;>;)Ljava/util/Iterator<TT;>;
    MethodParameters:
           Name  Flags
      iterator1  
      iterator2  

  private static boolean lambda$2(java.lang.module.ModuleFinder, java.lang.String);
    descriptor: (Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String mn
         0: .line 267
            aload 0
            aload 1 /* mn */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ireturn
        end local 1 // java.lang.String mn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    mn  Ljava/lang/String;

  private static void lambda$3(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String mn
         0: .line 268
            aload 0
            aload 1 /* mn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            return
        end local 1 // java.lang.String mn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    mn  Ljava/lang/String;

  private static boolean lambda$6(java.lang.module.ModuleFinder, java.lang.String);
    descriptor: (Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String mn
         0: .line 279
            aload 0
            aload 1 /* mn */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ireturn
        end local 1 // java.lang.String mn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    mn  Ljava/lang/String;

  private static void lambda$7(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String mn
         0: .line 280
            aload 0
            aload 1 /* mn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            return
        end local 1 // java.lang.String mn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    mn  Ljava/lang/String;

  private static void lambda$9(java.util.Map, java.lang.module.ModuleReference);
    descriptor: (Ljava/util/Map;Ljava/lang/module/ModuleReference;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleReference mref
         0: .line 465
            aload 0
            aload 1 /* mref */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            aload 1 /* mref */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 1 // java.lang.module.ModuleReference mref
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  mref  Ljava/lang/module/ModuleReference;

  private static void lambda$12(java.util.Map, java.lang.module.ModuleReference);
    descriptor: (Ljava/util/Map;Ljava/lang/module/ModuleReference;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleReference mref
         0: .line 471
            aload 0
            aload 1 /* mref */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            aload 1 /* mref */
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 1 // java.lang.module.ModuleReference mref
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  mref  Ljava/lang/module/ModuleReference;

  private static java.util.List lambda$13(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String k
         0: .line 807
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.String k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Ljava/lang/String;
}
SourceFile: "ModuleBootstrap.java"
NestMembers:
  jdk.internal.module.ModuleBootstrap$1  jdk.internal.module.ModuleBootstrap$2  jdk.internal.module.ModuleBootstrap$PerfCounters
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Builder = jdk.internal.module.IllegalAccessLogger$Builder of jdk.internal.module.IllegalAccessLogger
  public final Mode = jdk.internal.module.IllegalAccessLogger$Mode of jdk.internal.module.IllegalAccessLogger
  jdk.internal.module.ModuleBootstrap$1
  jdk.internal.module.ModuleBootstrap$2
  PerfCounters = jdk.internal.module.ModuleBootstrap$PerfCounters of jdk.internal.module.ModuleBootstrap